diff --git a/.changeset/angry-walls-despacito.md b/.changeset/angry-walls-despacito.md new file mode 100644 index 0000000000..f380b6df77 --- /dev/null +++ b/.changeset/angry-walls-despacito.md @@ -0,0 +1,5 @@ +--- +'@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 new file mode 100644 index 0000000000..3df4a80b28 --- /dev/null +++ b/.changeset/angry-walls-juggle.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-plugin-api': patch +--- + +Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api` diff --git a/.changeset/backstage-changelog.js b/.changeset/backstage-changelog.js index 74d06f57ba..22038b348b 100644 --- a/.changeset/backstage-changelog.js +++ b/.changeset/backstage-changelog.js @@ -16,7 +16,7 @@ const { default: defaultChangelogFunctions, -} = require('@changesets/changelog-github'); +} = require('@changesets/cli/changelog'); // Custom CHANGELOG generation for changesets, stolen from here with one minor change: // https://github.com/atlassian/changesets/blob/main/packages/cli/src/changelog/index.ts diff --git a/.changeset/beige-stingrays-tap.md b/.changeset/beige-stingrays-tap.md deleted file mode 100644 index ae7f2f709e..0000000000 --- a/.changeset/beige-stingrays-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-api-docs': minor ---- - -Replace GraphiQL playground with DocExplorer diff --git a/.changeset/big-roses-stare.md b/.changeset/big-roses-stare.md deleted file mode 100644 index 442e53522e..0000000000 --- a/.changeset/big-roses-stare.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-msgraph': patch ---- - -export the function to read ms graph provider config diff --git a/.changeset/blue-bags-warn.md b/.changeset/blue-bags-warn.md deleted file mode 100644 index 17fa5e89d6..0000000000 --- a/.changeset/blue-bags-warn.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': minor -'@backstage/plugin-catalog-node': minor ---- - -Support adding location analyzers in new catalog analysis extension point and move `AnalyzeOptions` and `ScmLocationAnalyzer` types to `@backstage/plugin-catalog-node` diff --git a/.changeset/breezy-dogs-serve.md b/.changeset/breezy-dogs-serve.md deleted file mode 100644 index a92e5cdb0c..0000000000 --- a/.changeset/breezy-dogs-serve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Cleaned up cases where deprecated code was being used but had a new location they should be imported from diff --git a/.changeset/brown-poets-join.md b/.changeset/brown-poets-join.md deleted file mode 100644 index bc6ccbaa70..0000000000 --- a/.changeset/brown-poets-join.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -`knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. - -You can do the same in your own Backstage repository to ensure that you get future node 18+ relevant updates, by having the following lines in your `packages/backend/package.json`: - -``` -"dependencies": { - // ... - "knex": "^3.0.0" -}, -"devDependencies": { - // ... - "better-sqlite3": "^9.0.0", -``` diff --git a/.changeset/chatty-cobras-cheer.md b/.changeset/chatty-cobras-cheer.md deleted file mode 100644 index c8203e58c0..0000000000 --- a/.changeset/chatty-cobras-cheer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/config-loader': patch ---- - -Correctly resolve config targets into absolute paths diff --git a/.changeset/chatty-countries-refuse.md b/.changeset/chatty-countries-refuse.md deleted file mode 100644 index d29d1a453b..0000000000 --- a/.changeset/chatty-countries-refuse.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bazaar': patch ---- - -Updated Readme document in bazaar plugin diff --git a/.changeset/chilled-knives-rule.md b/.changeset/chilled-knives-rule.md deleted file mode 100644 index f246beabbd..0000000000 --- a/.changeset/chilled-knives-rule.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch ---- - -Create an experimental plugin that is compatible with the declarative integration system, it is exported from the `/alpha` subpath. diff --git a/.changeset/chilled-terms-breathe.md b/.changeset/chilled-terms-breathe.md new file mode 100644 index 0000000000..654185492a --- /dev/null +++ b/.changeset/chilled-terms-breathe.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Allow a default cache TTL to be set through the app config diff --git a/.changeset/chilly-books-sneeze.md b/.changeset/chilly-books-sneeze.md deleted file mode 100644 index a2d3ca1e04..0000000000 --- a/.changeset/chilly-books-sneeze.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/cli-node': minor -'@backstage/cli': minor ---- - -Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead. diff --git a/.changeset/chilly-terms-behave.md b/.changeset/chilly-terms-behave.md deleted file mode 100644 index 8ee1ad8375..0000000000 --- a/.changeset/chilly-terms-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-backend-module-stack-overflow-collator': minor ---- - -Extract a package for the Stack Overflow new backend system plugin. diff --git a/.changeset/clever-houses-scream.md b/.changeset/clever-houses-scream.md deleted file mode 100644 index 14a2427dea..0000000000 --- a/.changeset/clever-houses-scream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-node': patch ---- - -Switch to `@smithy/node-http-handler` instead of the `@aws-sdk/node-http-handler` diff --git a/.changeset/config.json b/.changeset/config.json index 35d672a425..283caa6ac4 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,6 @@ { "$schema": "https://unpkg.com/@changesets/config@1.3.0/schema.json", - "changelog": ["./backstage-changelog.js", { "repo": "backstage/backstage" }], + "changelog": "./backstage-changelog.js", "commit": false, "linked": [], "access": "public", diff --git a/.changeset/create-app-1698763033.md b/.changeset/create-app-1698763033.md deleted file mode 100644 index b50d431d4b..0000000000 --- a/.changeset/create-app-1698763033.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Bumped create-app version. diff --git a/.changeset/curvy-carpets-kneel.md b/.changeset/curvy-carpets-kneel.md deleted file mode 100644 index e6b0019edb..0000000000 --- a/.changeset/curvy-carpets-kneel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-shortcuts': patch ---- - -Ensure that shortcuts aren't duplicate-checked against themselves diff --git a/.changeset/curvy-carrots-thank.md b/.changeset/curvy-carrots-thank.md deleted file mode 100644 index 6303125314..0000000000 --- a/.changeset/curvy-carrots-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Fix bug where `retrieveAll` method wasn't fetching visits diff --git a/.changeset/dirty-ducks-behave.md b/.changeset/dirty-ducks-behave.md deleted file mode 100644 index c7bea8ea0a..0000000000 --- a/.changeset/dirty-ducks-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Fix `RoutedTabs` so that it does not explode without tabs. diff --git a/.changeset/dry-days-invite.md b/.changeset/dry-days-invite.md deleted file mode 100644 index dcf052acd2..0000000000 --- a/.changeset/dry-days-invite.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Switch from using deprecated `@esbuild-kit/*` packages to using `tsx`. This also switches to using the new module loader `register` API when available, avoiding the experimental warning when starting backends. diff --git a/.changeset/eighty-chairs-camp.md b/.changeset/eighty-chairs-camp.md deleted file mode 100644 index 6a240609d4..0000000000 --- a/.changeset/eighty-chairs-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -Added `RouteRef`, `SubRouteRef`, `ExternalRouteRef`, and related types. All exports from this package that previously relied on the types with the same name from `@backstage/core-plugin-api` now use the new types instead. To convert and existing legacy route ref to be compatible with the APIs from this package, use the `convertLegacyRouteRef` utility from `@backstage/core-plugin-api/alpha`. diff --git a/.changeset/eighty-chairs-care.md b/.changeset/eighty-chairs-care.md deleted file mode 100644 index 6d14bb0f18..0000000000 --- a/.changeset/eighty-chairs-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-backend-module-pg': patch ---- - -Optimize outdated documents deletion logic in PgSearchEngine DatabaseDocumentStore which significantly reduces cost on large tables diff --git a/.changeset/eleven-students-brake.md b/.changeset/eleven-students-brake.md deleted file mode 100644 index b2cad0bfd6..0000000000 --- a/.changeset/eleven-students-brake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-gcp': patch ---- - -Allow integration with kubernetes dashboard diff --git a/.changeset/fair-parrots-lick.md b/.changeset/fair-parrots-lick.md deleted file mode 100644 index dffe6be1e2..0000000000 --- a/.changeset/fair-parrots-lick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Remove the duplicate versions of `@rjsf/*` as they're no longer needed diff --git a/.changeset/fair-tools-bake.md b/.changeset/fair-tools-bake.md deleted file mode 100644 index fd7b21bbc8..0000000000 --- a/.changeset/fair-tools-bake.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-common': patch ---- - -Allow storing dashboard parameters for kubernetes in catalog diff --git a/.changeset/famous-plums-sit.md b/.changeset/famous-plums-sit.md deleted file mode 100644 index b85e26b87e..0000000000 --- a/.changeset/famous-plums-sit.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-catalog': patch ---- - -Fix spacing inconsistency with links and labels in headers diff --git a/.changeset/fast-bears-lick.md b/.changeset/fast-bears-lick.md deleted file mode 100644 index 8e0dc8e60b..0000000000 --- a/.changeset/fast-bears-lick.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Migrate catalog entity cards to new frontend system extension format. diff --git a/.changeset/fifty-taxis-allow.md b/.changeset/fifty-taxis-allow.md deleted file mode 100644 index 1b818f45e7..0000000000 --- a/.changeset/fifty-taxis-allow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-common': patch ---- - -Add missing required property `type` in `Template.v1beta3.schema.json` schema diff --git a/.changeset/flat-ducks-buy.md b/.changeset/flat-ducks-buy.md deleted file mode 100644 index 5c952faaf1..0000000000 --- a/.changeset/flat-ducks-buy.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-backend-node': patch ---- - -Fix highlighting for non-string fields on the `Lunr` search engine implementation. diff --git a/.changeset/fluffy-years-shake.md b/.changeset/fluffy-years-shake.md deleted file mode 100644 index 9612690d62..0000000000 --- a/.changeset/fluffy-years-shake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Use default extensions boundary and suspense on the alpha declarative `createCatalogFilterExtension` extension factory. diff --git a/.changeset/forty-monkeys-lay.md b/.changeset/forty-monkeys-lay.md deleted file mode 100644 index b5fda56bf4..0000000000 --- a/.changeset/forty-monkeys-lay.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch -'@backstage/plugin-auth-backend-module-gitlab-provider': patch ---- - -Fix link to the repository in `README.md`. diff --git a/.changeset/four-files-behave.md b/.changeset/four-files-behave.md deleted file mode 100644 index 0430bd98d8..0000000000 --- a/.changeset/four-files-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-graphiql': minor ---- - -Upgrade to GraphiQL to 3.0.6 diff --git a/.changeset/four-pears-swim.md b/.changeset/four-pears-swim.md deleted file mode 100644 index b091dad598..0000000000 --- a/.changeset/four-pears-swim.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-vault-node': minor ---- - -Initial version of the `plugin-vault-node`` package. It contains the extension point definitions -for the vault backend, as well as some types that will be deprecated in the backend plugin. diff --git a/.changeset/fresh-camels-give.md b/.changeset/fresh-camels-give.md deleted file mode 100644 index 723733e45e..0000000000 --- a/.changeset/fresh-camels-give.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-msgraph': patch -'@backstage/integration': patch -'@backstage/plugin-auth-backend': patch ---- - -JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` diff --git a/.changeset/fresh-crews-promise.md b/.changeset/fresh-crews-promise.md deleted file mode 100644 index fc9859086a..0000000000 --- a/.changeset/fresh-crews-promise.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-techdocs-module-addons-contrib': patch -'@backstage/plugin-techdocs': patch ---- - -Fixed navigation bug that caused users to not be scrolled to the top of a new page. Fixed navigation bug where using backwards and forwards browser navigation did not scroll users to the correct place on the TechDoc page. diff --git a/.changeset/fresh-penguins-cry.md b/.changeset/fresh-penguins-cry.md deleted file mode 100644 index 457025a518..0000000000 --- a/.changeset/fresh-penguins-cry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-common': patch ---- - -Limit the database creation concurrency to one, defensively diff --git a/.changeset/fresh-schools-thank.md b/.changeset/fresh-schools-thank.md deleted file mode 100644 index 1e32f82051..0000000000 --- a/.changeset/fresh-schools-thank.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-gitlab': patch ---- - -Added try catch around fetching gitlab group users to prevent refresh from failing completely while only a select number of groups might not be able to load correctly. diff --git a/.changeset/gentle-elephants-look.md b/.changeset/gentle-elephants-look.md deleted file mode 100644 index 44263fb8a9..0000000000 --- a/.changeset/gentle-elephants-look.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/core-components': patch -'@backstage/plugin-scaffolder': minor ---- - -Add a possibility to use a formatter on a warning panel. Applied it for a scaffolder template diff --git a/.changeset/gentle-lies-greet.md b/.changeset/gentle-lies-greet.md new file mode 100644 index 0000000000..293f0ef064 --- /dev/null +++ b/.changeset/gentle-lies-greet.md @@ -0,0 +1,5 @@ +--- +'@backstage/frontend-app-api': patch +--- + +Removed `@backstage/plugin-graphiql` dependency. diff --git a/.changeset/gentle-pears-camp.md b/.changeset/gentle-pears-camp.md deleted file mode 100644 index 6d96958a76..0000000000 --- a/.changeset/gentle-pears-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-backstage-openapi': minor ---- - -Adds a new catalog module for ingesting Backstage plugin OpenAPI specs into the catalog for display as an API entity. diff --git a/.changeset/gentle-pumpkins-carry.md b/.changeset/gentle-pumpkins-carry.md deleted file mode 100644 index 721fbe8195..0000000000 --- a/.changeset/gentle-pumpkins-carry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch ---- - -Added support for specifying a domain hint on the Microsoft authentication provider configuration. diff --git a/.changeset/giant-cars-walk.md b/.changeset/giant-cars-walk.md deleted file mode 100644 index 5e313faa3b..0000000000 --- a/.changeset/giant-cars-walk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': patch ---- - -Export alpha routes and nav item extension, only available for applications that uses the new Frontend system. diff --git a/.changeset/giant-cycles-end.md b/.changeset/giant-cycles-end.md deleted file mode 100644 index f69938ea25..0000000000 --- a/.changeset/giant-cycles-end.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-stack-overflow-backend': patch ---- - -Deprecate package in favor of the new `@backstage/plugin-search-backend-module-stack-overflow-collator` module. - -The search collator `requestParams` option is optional now, so its default value is `{ order: 'desc', sort: 'activity', site: 'stackoverflow' }` as defined in the `Try It` section on the [official Stack Overflow API documentation](https://api.stackexchange.com/docs/questions). diff --git a/.changeset/good-plums-confess.md b/.changeset/good-plums-confess.md deleted file mode 100644 index 941adec8b3..0000000000 --- a/.changeset/good-plums-confess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Refactor internal extension instance system into an app graph. diff --git a/.changeset/great-baboons-allow.md b/.changeset/great-baboons-allow.md deleted file mode 100644 index 47e410d8a4..0000000000 --- a/.changeset/great-baboons-allow.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -'@backstage/plugin-vault-backend': minor ---- - -Added support for the [new backend system](https://backstage.io/docs/backend-system/). - -In your `packages/backend/src/index.ts` make the following changes: - -```diff - import { createBackend } from '@backstage/backend-defaults'; - const backend = createBackend(); - // ... other feature additions -+ backend.add(import('@backstage/plugin-vault-backend'); - backend.start(); -``` - -If you use the new backend system, the token renewal task can be defined via configuration file: - -```diff -vault: - baseUrl: - token: - schedule: -+ frequency: ... -+ timeout: ... -+ # Other schedule options, such as scope or initialDelay -``` - -If the `schedule` is omitted or set to `false` no token renewal task will be scheduled. -If the value of `schedule` is set to `true` the renew will be scheduled hourly (the default). -In other cases (like in the diff above), the defined schedule will be used. - -**DEPRECATIONS**: The interface `VaultApi` and the type `VaultSecret` are now deprecated. Import them from `@backstage/plugin-vault-node`. diff --git a/.changeset/healthy-dancers-dream.md b/.changeset/healthy-dancers-dream.md deleted file mode 100644 index 6a9869f03a..0000000000 --- a/.changeset/healthy-dancers-dream.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -The options parameter of `createApp` is now optional. diff --git a/.changeset/healthy-shirts-fold.md b/.changeset/healthy-shirts-fold.md deleted file mode 100644 index f2ac0a9e83..0000000000 --- a/.changeset/healthy-shirts-fold.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog': patch -'@backstage/plugin-techdocs': patch ---- - -The `spec.lifecycle' field in entities will now always be rendered as a string. diff --git a/.changeset/heavy-experts-accept.md b/.changeset/heavy-experts-accept.md deleted file mode 100644 index e6f2f435b8..0000000000 --- a/.changeset/heavy-experts-accept.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -'@backstage/plugin-catalog-react': minor ---- - -Added an `EntityPresentationApi` and associated `entityPresentationApiRef`. This -API lets you control how references to entities (e.g. in links, headings, -iconography etc) are represented in the user interface. - -Usage of this API is initially added to the `EntityRefLink` and `EntityRefLinks` -components, so that they can render richer, more correct representation of -entity refs. There's also a new `EntityDisplayName` component, which works just like -the `EntityRefLink` but without the link. - -Along with that change, the `fetchEntities` and `getTitle` props of -`EntityRefLinksProps` are deprecated and no longer used, since the same need -instead is fulfilled (and by default always enabled) by the -`entityPresentationApiRef`. diff --git a/.changeset/heavy-rings-play.md b/.changeset/heavy-rings-play.md deleted file mode 100644 index bbed4c3fa3..0000000000 --- a/.changeset/heavy-rings-play.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bazaar': patch ---- - -Adding descending sort in a bazaar plugin diff --git a/.changeset/hip-moose-boil.md b/.changeset/hip-moose-boil.md deleted file mode 100644 index e14c557c62..0000000000 --- a/.changeset/hip-moose-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Internal refactor to avoid a null pointer problem diff --git a/.changeset/hip-mugs-camp.md b/.changeset/hip-mugs-camp.md deleted file mode 100644 index 3413b5ac0a..0000000000 --- a/.changeset/hip-mugs-camp.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-backend': patch ---- - -Add info about the entity when tech docs fail to build diff --git a/.changeset/hungry-radios-play.md b/.changeset/hungry-radios-play.md deleted file mode 100644 index ce7f524f4a..0000000000 --- a/.changeset/hungry-radios-play.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-user-settings-backend': patch ---- - -Added dependency on `@backstage/config` diff --git a/.changeset/kind-badgers-rush.md b/.changeset/kind-badgers-rush.md new file mode 100644 index 0000000000..4ec19bd17b --- /dev/null +++ b/.changeset/kind-badgers-rush.md @@ -0,0 +1,8 @@ +--- +'@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/large-forks-arrive.md b/.changeset/large-forks-arrive.md deleted file mode 100644 index 3490a87128..0000000000 --- a/.changeset/large-forks-arrive.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-code-coverage-backend': patch ---- - -Added support for new backend system diff --git a/.changeset/late-forks-fetch.md b/.changeset/late-forks-fetch.md deleted file mode 100644 index 3ba15885e2..0000000000 --- a/.changeset/late-forks-fetch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs-backend': patch ---- - -Fix potential memory leak by not creating a build log transport if not given via `RouterOptions`. diff --git a/.changeset/lazy-hotels-wait.md b/.changeset/lazy-hotels-wait.md deleted file mode 100644 index 85879880f5..0000000000 --- a/.changeset/lazy-hotels-wait.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -'@backstage/plugin-analytics-module-newrelic-browser': patch -'@backstage/plugin-api-docs-module-protoc-gen-doc': patch -'@backstage/plugin-techdocs-module-addons-contrib': patch -'@backstage/plugin-cicd-statistics-module-gitlab': patch -'@backstage/plugin-catalog-unprocessed-entities': patch -'@backstage/plugin-github-pull-requests-board': patch -'@backstage/plugin-techdocs-addons-test-utils': patch -'@backstage/frontend-plugin-api': patch -'@backstage/plugin-analytics-module-ga4': patch -'@backstage/plugin-analytics-module-ga': patch -'@backstage/plugin-git-release-manager': patch -'@backstage/integration-react': patch -'@backstage/plugin-github-deployments': patch -'@backstage/plugin-kubernetes-cluster': patch -'@backstage/plugin-microsoft-calendar': patch -'@backstage/plugin-newrelic-dashboard': patch -'@backstage/frontend-app-api': patch -'@backstage/plugin-entity-validation': patch -'@backstage/core-components': patch -'@backstage/core-plugin-api': patch -'@backstage/plugin-kubernetes-react': patch -'@backstage/plugin-permission-react': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/version-bridge': patch -'@backstage/plugin-apollo-explorer': patch -'@backstage/plugin-catalog-graphql': patch -'@backstage/plugin-cicd-statistics': patch -'@backstage/plugin-entity-feedback': patch -'@backstage/plugin-gitops-profiles': patch -'@backstage/plugin-graphql-voyager': patch -'@backstage/plugin-sonarqube-react': patch -'@backstage/plugin-apache-airflow': patch -'@backstage/plugin-catalog-import': patch -'@backstage/plugin-github-actions': patch -'@backstage/plugin-octopus-deploy': patch -'@backstage/plugin-splunk-on-call': patch -'@backstage/plugin-stack-overflow': patch -'@backstage/plugin-techdocs-react': patch -'@backstage/app-defaults': patch -'@backstage/core-app-api': 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-tech-insights': patch -'@backstage/plugin-user-settings': patch -'@backstage/plugin-azure-devops': patch -'@backstage/plugin-code-climate': patch -'@backstage/plugin-gcp-projects': patch -'@backstage/plugin-search-react': patch -'@backstage/create-app': patch -'@backstage/test-utils': 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/theme': 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 ---- - -Add official support for React 18. diff --git a/.changeset/long-turkeys-argue.md b/.changeset/long-turkeys-argue.md deleted file mode 100644 index f051d42478..0000000000 --- a/.changeset/long-turkeys-argue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Add examples for `github:environment:create` scaffolder action & improve related tests diff --git a/.changeset/loud-ghosts-deny.md b/.changeset/loud-ghosts-deny.md deleted file mode 100644 index e66b052c4e..0000000000 --- a/.changeset/loud-ghosts-deny.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': minor ---- - -Introduce a new optional config parameter `catalog.stitchingStrategy.mode`, -which can have the values `'immediate'` (default) and `'deferred'`. The default -is for stitching to work as it did before this change, which means that it -happens "in-band" (blocking) immediately when each processing task finishes. -When set to `'deferred'`, stitching is instead deferred to happen on a separate -asynchronous worker queue just like processing. - -Deferred stitching should make performance smoother when ingesting large amounts -of entities, and reduce p99 processing times and repeated over-stitching of -hot spot entities when fan-out/fan-in in terms of relations is very large. It -does however also come with some performance cost due to the queuing with how -much wall-clock time some types of task take. diff --git a/.changeset/lovely-terms-search.md b/.changeset/lovely-terms-search.md new file mode 100644 index 0000000000..7590a0d5a6 --- /dev/null +++ b/.changeset/lovely-terms-search.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-tasks': patch +--- + +Allow tasks to run more often that the default work check interval, which is 5 seconds. diff --git a/.changeset/lovely-turtles-remain.md b/.changeset/lovely-turtles-remain.md deleted file mode 100644 index 711a397baa..0000000000 --- a/.changeset/lovely-turtles-remain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Added description for publish:gerrit scaffolder actions diff --git a/.changeset/many-masks-smoke.md b/.changeset/many-masks-smoke.md deleted file mode 100644 index 6d249eeb15..0000000000 --- a/.changeset/many-masks-smoke.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/repo-tools': minor -'@backstage/cli': minor ---- - -Remove support for the deprecated `--experimental-type-build` option for `package build`. diff --git a/.changeset/hungry-paws-dress.md b/.changeset/mighty-beans-wink.md similarity index 50% rename from .changeset/hungry-paws-dress.md rename to .changeset/mighty-beans-wink.md index b227a77e72..e0623643e1 100644 --- a/.changeset/hungry-paws-dress.md +++ b/.changeset/mighty-beans-wink.md @@ -1,9 +1,11 @@ --- +'@backstage/plugin-catalog-import': patch '@backstage/plugin-user-settings': patch -'@backstage/plugin-techdocs': patch '@backstage/plugin-tech-radar': patch '@backstage/plugin-graphiql': patch +'@backstage/plugin-techdocs': patch +'@backstage/plugin-catalog': patch '@backstage/plugin-search': patch --- -Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +The `convertLegacyRouteRef` utility used by the alpha exports is now imported from `@backstage/core-compat-api`. diff --git a/.changeset/mighty-crews-attack.md b/.changeset/mighty-crews-attack.md deleted file mode 100644 index c0b8587fe0..0000000000 --- a/.changeset/mighty-crews-attack.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Initial entity page implementation for new frontend system at `/alpha`, with an overview page enabled by default and the about card available as an optional card. diff --git a/.changeset/mighty-humans-shave.md b/.changeset/mighty-humans-shave.md deleted file mode 100644 index 7a4971e021..0000000000 --- a/.changeset/mighty-humans-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-backend-module-elasticsearch': patch ---- - -Support AWS OpenSearch Serverless search backend. Does not support `_refresh` endpoint. diff --git a/.changeset/modern-ducks-battle.md b/.changeset/modern-ducks-battle.md deleted file mode 100644 index e8359cf4ac..0000000000 --- a/.changeset/modern-ducks-battle.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': minor ---- - -Added the ability to configure bound routes through `app.routes.bindings`. The routing system used by `createApp` has been replaced by one that only supports route refs of the new format from `@backstage/frontend-plugin-api`. The requirement for route refs to have the same ID as their associated extension has been removed. diff --git a/.changeset/nasty-colts-tickle.md b/.changeset/nasty-colts-tickle.md deleted file mode 100644 index 5a6194c14d..0000000000 --- a/.changeset/nasty-colts-tickle.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-catalog-backend': patch -'@backstage/plugin-search-backend': patch ---- - -Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`. diff --git a/.changeset/nasty-tips-exercise.md b/.changeset/nasty-tips-exercise.md new file mode 100644 index 0000000000..5dd38368d4 --- /dev/null +++ b/.changeset/nasty-tips-exercise.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Fix issue with Circular JSON dependencies in templating diff --git a/.changeset/new-beers-drive.md b/.changeset/new-beers-drive.md deleted file mode 100644 index 370734b7c5..0000000000 --- a/.changeset/new-beers-drive.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-catalog': patch ---- - -Create declarative extensions for the `Catalog` plugin; this initial plugin preset contains sidebar item, index page and filter extensions, all distributed via `/alpha` subpath. - -The `EntityPage` will be migrated in a follow-up patch. diff --git a/.changeset/new-kangaroos-train.md b/.changeset/new-kangaroos-train.md deleted file mode 100644 index 2e7a14f127..0000000000 --- a/.changeset/new-kangaroos-train.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-unprocessed-entities': patch ---- - -Added filtering and sorting to unprocessed entities tables. diff --git a/.changeset/nice-apes-kneel.md b/.changeset/nice-apes-kneel.md deleted file mode 100644 index 1ecff9d223..0000000000 --- a/.changeset/nice-apes-kneel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': patch ---- - -Added entity page content for the new plugin exported via `/alpha`. diff --git a/.changeset/nice-pillows-poke.md b/.changeset/nice-pillows-poke.md deleted file mode 100644 index 64034c39d2..0000000000 --- a/.changeset/nice-pillows-poke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-stack-overflow': patch ---- - -Migrate package to the new Frontend system, the new module is distributed with a `/alpha` subpath. diff --git a/.changeset/ninety-numbers-study.md b/.changeset/ninety-numbers-study.md deleted file mode 100644 index e77131fab9..0000000000 --- a/.changeset/ninety-numbers-study.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Fixed compatibility with Safari <16.3 by eliminating RegEx lookbehind in `extractInitials`. - -This PR also changed how initials are generated resulting in _John Jonathan Doe_ => _JD_ instead of _JJ_. diff --git a/.changeset/old-apricots-taste.md b/.changeset/old-apricots-taste.md deleted file mode 100644 index 544ba11536..0000000000 --- a/.changeset/old-apricots-taste.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Added new APIs at the `/alpha` subpath for creating entity page cards and content for the new frontend system. diff --git a/.changeset/old-chairs-switch.md b/.changeset/old-chairs-switch.md deleted file mode 100644 index 2e9251e06f..0000000000 --- a/.changeset/old-chairs-switch.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/repo-tools': minor ---- - -Adds a new command `schema openapi test` that performs runtime validation of your OpenAPI specs using your test data. Under the hood, we're using Optic to perform this check, really cool work by them! - -To use this new command, you will have to run `yarn add @useoptic/optic` in the root of your repo. diff --git a/.changeset/old-coats-doubt.md b/.changeset/old-coats-doubt.md deleted file mode 100644 index 2b98acbd87..0000000000 --- a/.changeset/old-coats-doubt.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -'@backstage/plugin-kubernetes-react': patch ---- - -Make sure types exported by other `kubernetes` plugins in the past are exported again after the creation -of the react package. - -Some types have been moved to this new package but the export was missing, so they were not available anymore for developers. diff --git a/.changeset/olive-doors-begin.md b/.changeset/olive-doors-begin.md deleted file mode 100644 index 5d8978964c..0000000000 --- a/.changeset/olive-doors-begin.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch -'@backstage/plugin-catalog-backend-module-unprocessed': patch -'@backstage/plugin-search-backend-module-pg': patch -'@backstage/plugin-entity-feedback-backend': patch -'@backstage/plugin-code-coverage-backend': patch -'@backstage/plugin-tech-insights-backend': patch -'@backstage/plugin-user-settings-backend': patch -'@backstage/backend-plugin-api': patch -'@backstage/backend-test-utils': patch -'@backstage/plugin-scaffolder-backend': patch -'@backstage/plugin-linguist-backend': patch -'@backstage/plugin-playlist-backend': patch -'@backstage/plugin-techdocs-backend': patch -'@backstage/backend-common': patch -'@backstage/plugin-catalog-backend': patch -'@backstage/backend-tasks': patch -'@backstage/plugin-badges-backend': patch -'@backstage/plugin-bazaar-backend': patch -'@backstage/plugin-auth-backend': patch -'@backstage/plugin-app-backend': patch ---- - -`knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. diff --git a/.changeset/olive-paws-divide.md b/.changeset/olive-paws-divide.md deleted file mode 100644 index 688b6025bf..0000000000 --- a/.changeset/olive-paws-divide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Updated `app.extensions` configuration schema. diff --git a/.changeset/orange-ears-kiss.md b/.changeset/orange-ears-kiss.md deleted file mode 100644 index 1620127c20..0000000000 --- a/.changeset/orange-ears-kiss.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch ---- - -Re-add the missing profile photo -as well as access token retrieval for foreign scopes. - -Additionally, we switch from previously 48x48 to 96x96 -which is the size used at the profile card. diff --git a/.changeset/orange-jokes-tap.md b/.changeset/orange-jokes-tap.md deleted file mode 100644 index 0fd9e14a46..0000000000 --- a/.changeset/orange-jokes-tap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Implement new `AppTreeApi` diff --git a/.changeset/orange-planes-crash.md b/.changeset/orange-planes-crash.md deleted file mode 100644 index a8e828e912..0000000000 --- a/.changeset/orange-planes-crash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bazaar': patch ---- - -Added alert popup in the bazaar plugin diff --git a/.changeset/plenty-buckets-float.md b/.changeset/plenty-buckets-float.md deleted file mode 100644 index c1dbb54e87..0000000000 --- a/.changeset/plenty-buckets-float.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-bazaar': patch ---- - -Removed unnecessary dependency on `@backstage/cli`. diff --git a/.changeset/plenty-numbers-enjoy.md b/.changeset/plenty-numbers-enjoy.md new file mode 100644 index 0000000000..5e5acbabf1 --- /dev/null +++ b/.changeset/plenty-numbers-enjoy.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-react': patch +--- + +Removed `@backstage/frontend-app-api` dependency. diff --git a/.changeset/plenty-tigers-argue.md b/.changeset/plenty-tigers-argue.md deleted file mode 100644 index ef9e58d63b..0000000000 --- a/.changeset/plenty-tigers-argue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-tech-insights-backend': patch ---- - -Add `factRetrieverId` to the fact retriever's logger metadata. diff --git a/.changeset/polite-knives-build.md b/.changeset/polite-knives-build.md new file mode 100644 index 0000000000..66ecbf0645 --- /dev/null +++ b/.changeset/polite-knives-build.md @@ -0,0 +1,19 @@ +--- +'@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/poor-seahorses-rush.md b/.changeset/poor-seahorses-rush.md deleted file mode 100644 index 55313f706d..0000000000 --- a/.changeset/poor-seahorses-rush.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-azure-devops': patch ---- - -Consolidated getting the annotation values into a single function to help with future changes diff --git a/.changeset/popular-bikes-do.md b/.changeset/popular-bikes-do.md deleted file mode 100644 index b1cc5c2cdd..0000000000 --- a/.changeset/popular-bikes-do.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-code-coverage': patch ---- - -The warning for missing code coverage will now render the entity as a reference. diff --git a/.changeset/pre.json b/.changeset/pre.json index 6f0b647f63..8dfa80eca3 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -2,398 +2,259 @@ "mode": "pre", "tag": "next", "initialVersions": { - "example-app": "0.2.88", - "@backstage/app-defaults": "1.4.4", - "example-app-next": "0.0.2", - "app-next-example-plugin": "0.0.2", - "example-backend": "0.2.88", - "@backstage/backend-app-api": "0.5.6", - "@backstage/backend-common": "0.19.8", - "@backstage/backend-defaults": "0.2.6", + "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", "@backstage/backend-dev-utils": "0.1.2", - "example-backend-next": "0.0.16", - "@backstage/backend-openapi-utils": "0.0.5", - "@backstage/backend-plugin-api": "0.6.6", - "@backstage/backend-plugin-manager": "0.0.2", - "@backstage/backend-tasks": "0.5.11", - "@backstage/backend-test-utils": "0.2.7", - "@backstage/catalog-client": "1.4.5", + "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", "@backstage/catalog-model": "1.4.3", - "@backstage/cli": "0.23.0", + "@backstage/cli": "0.24.0", "@backstage/cli-common": "0.1.13", - "@backstage/cli-node": "0.1.5", + "@backstage/cli-node": "0.2.0", "@backstage/codemods": "0.1.46", "@backstage/config": "1.1.1", - "@backstage/config-loader": "1.5.1", - "@backstage/core-app-api": "1.11.0", - "@backstage/core-components": "0.13.6", - "@backstage/core-plugin-api": "1.7.0", - "@backstage/create-app": "0.5.6", - "@backstage/dev-utils": "1.0.22", - "e2e-test": "0.2.8", + "@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/e2e-test-utils": "0.1.0", "@backstage/errors": "1.2.3", "@backstage/eslint-plugin": "0.1.3", - "@backstage/frontend-app-api": "0.2.0", - "@backstage/frontend-plugin-api": "0.2.0", - "@backstage/integration": "1.7.1", - "@backstage/integration-aws-node": "0.1.7", - "@backstage/integration-react": "1.1.20", - "@backstage/release-manifests": "0.0.10", - "@backstage/repo-tools": "0.3.5", - "@techdocs/cli": "1.6.0", - "techdocs-cli-embedded-app": "0.2.87", - "@backstage/test-utils": "1.4.4", - "@backstage/theme": "0.4.3", + "@backstage/frontend-app-api": "0.3.0", + "@backstage/frontend-plugin-api": "0.3.0", + "@backstage/integration": "1.7.2", + "@backstage/integration-aws-node": "0.1.8", + "@backstage/integration-react": "1.1.21", + "@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/types": "1.1.1", - "@backstage/version-bridge": "1.0.6", - "@backstage/plugin-adr": "0.6.8", - "@backstage/plugin-adr-backend": "0.4.3", - "@backstage/plugin-adr-common": "0.2.16", - "@backstage/plugin-airbrake": "0.3.25", - "@backstage/plugin-airbrake-backend": "0.3.3", - "@backstage/plugin-allure": "0.1.41", - "@backstage/plugin-analytics-module-ga": "0.1.34", - "@backstage/plugin-analytics-module-ga4": "0.1.5", - "@backstage/plugin-analytics-module-newrelic-browser": "0.0.3", - "@backstage/plugin-apache-airflow": "0.2.16", - "@backstage/plugin-api-docs": "0.9.12", - "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.4", - "@backstage/plugin-apollo-explorer": "0.1.16", - "@backstage/plugin-app-backend": "0.3.54", - "@backstage/plugin-app-node": "0.1.6", - "@backstage/plugin-auth-backend": "0.19.3", - "@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.0", - "@backstage/plugin-auth-backend-module-github-provider": "0.1.3", - "@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.3", - "@backstage/plugin-auth-backend-module-google-provider": "0.1.3", - "@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.0", - "@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.3", - "@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.0", - "@backstage/plugin-auth-node": "0.4.0", - "@backstage/plugin-azure-devops": "0.3.7", - "@backstage/plugin-azure-devops-backend": "0.4.3", + "@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-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.14", - "@backstage/plugin-azure-sites-backend": "0.1.16", + "@backstage/plugin-azure-sites": "0.1.15", + "@backstage/plugin-azure-sites-backend": "0.1.17", "@backstage/plugin-azure-sites-common": "0.1.1", - "@backstage/plugin-badges": "0.2.49", - "@backstage/plugin-badges-backend": "0.3.3", - "@backstage/plugin-bazaar": "0.2.17", - "@backstage/plugin-bazaar-backend": "0.3.3", - "@backstage/plugin-bitbucket-cloud-common": "0.2.13", - "@backstage/plugin-bitrise": "0.1.52", - "@backstage/plugin-catalog": "1.14.0", - "@backstage/plugin-catalog-backend": "1.14.0", - "@backstage/plugin-catalog-backend-module-aws": "0.3.0", - "@backstage/plugin-catalog-backend-module-azure": "0.1.25", - "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.21", - "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.21", - "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.19", - "@backstage/plugin-catalog-backend-module-gcp": "0.1.6", - "@backstage/plugin-catalog-backend-module-gerrit": "0.1.22", - "@backstage/plugin-catalog-backend-module-github": "0.4.4", - "@backstage/plugin-catalog-backend-module-github-org": "0.1.0", - "@backstage/plugin-catalog-backend-module-gitlab": "0.3.3", - "@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.10", - "@backstage/plugin-catalog-backend-module-ldap": "0.5.21", - "@backstage/plugin-catalog-backend-module-msgraph": "0.5.13", - "@backstage/plugin-catalog-backend-module-openapi": "0.1.23", - "@backstage/plugin-catalog-backend-module-puppetdb": "0.1.11", - "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.3", - "@backstage/plugin-catalog-backend-module-unprocessed": "0.3.3", - "@backstage/plugin-catalog-common": "1.0.17", - "@backstage/plugin-catalog-graph": "0.2.37", - "@backstage/plugin-catalog-graphql": "0.4.0", - "@backstage/plugin-catalog-import": "0.10.1", - "@backstage/plugin-catalog-node": "1.4.7", - "@backstage/plugin-catalog-react": "1.8.5", - "@backstage/plugin-catalog-unprocessed-entities": "0.1.4", - "@backstage/plugin-cicd-statistics": "0.1.27", - "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.21", - "@backstage/plugin-circleci": "0.3.25", - "@backstage/plugin-cloudbuild": "0.3.25", - "@backstage/plugin-code-climate": "0.1.25", - "@backstage/plugin-code-coverage": "0.2.18", - "@backstage/plugin-code-coverage-backend": "0.2.20", - "@backstage/plugin-codescene": "0.1.18", - "@backstage/plugin-config-schema": "0.1.46", - "@backstage/plugin-cost-insights": "0.12.14", + "@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-graphql": "0.4.1", + "@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-cost-insights-common": "0.1.2", - "@backstage/plugin-devtools": "0.1.5", - "@backstage/plugin-devtools-backend": "0.2.3", - "@backstage/plugin-devtools-common": "0.1.5", - "@backstage/plugin-dynatrace": "7.0.5", - "@backstage/plugin-entity-feedback": "0.2.8", - "@backstage/plugin-entity-feedback-backend": "0.2.3", + "@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-entity-feedback-common": "0.1.3", - "@backstage/plugin-entity-validation": "0.1.10", - "@backstage/plugin-events-backend": "0.2.15", - "@backstage/plugin-events-backend-module-aws-sqs": "0.2.9", - "@backstage/plugin-events-backend-module-azure": "0.1.16", - "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.16", - "@backstage/plugin-events-backend-module-gerrit": "0.1.16", - "@backstage/plugin-events-backend-module-github": "0.1.16", - "@backstage/plugin-events-backend-module-gitlab": "0.1.16", - "@backstage/plugin-events-backend-test-utils": "0.1.16", - "@backstage/plugin-events-node": "0.2.15", - "@internal/plugin-todo-list": "1.0.18", - "@internal/plugin-todo-list-backend": "1.0.18", - "@internal/plugin-todo-list-common": "1.0.14", - "@backstage/plugin-explore": "0.4.11", - "@backstage/plugin-explore-backend": "0.0.16", + "@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-explore-common": "0.0.2", - "@backstage/plugin-explore-react": "0.0.32", - "@backstage/plugin-firehydrant": "0.2.9", - "@backstage/plugin-fossa": "0.2.57", - "@backstage/plugin-gcalendar": "0.3.19", - "@backstage/plugin-gcp-projects": "0.3.42", - "@backstage/plugin-git-release-manager": "0.3.38", - "@backstage/plugin-github-actions": "0.6.6", - "@backstage/plugin-github-deployments": "0.1.56", - "@backstage/plugin-github-issues": "0.2.14", - "@backstage/plugin-github-pull-requests-board": "0.1.19", - "@backstage/plugin-gitops-profiles": "0.3.41", - "@backstage/plugin-gocd": "0.1.31", - "@backstage/plugin-graphiql": "0.2.55", - "@backstage/plugin-graphql-backend": "0.2.0", - "@backstage/plugin-graphql-voyager": "0.1.8", - "@backstage/plugin-home": "0.5.9", - "@backstage/plugin-home-react": "0.1.4", - "@backstage/plugin-ilert": "0.2.14", - "@backstage/plugin-jenkins": "0.9.0", - "@backstage/plugin-jenkins-backend": "0.3.0", - "@backstage/plugin-jenkins-common": "0.1.20", - "@backstage/plugin-kafka": "0.3.25", - "@backstage/plugin-kafka-backend": "0.3.3", - "@backstage/plugin-kubernetes": "0.11.0", - "@backstage/plugin-kubernetes-backend": "0.13.0", - "@backstage/plugin-kubernetes-cluster": "0.0.1", - "@backstage/plugin-kubernetes-common": "0.7.0", - "@backstage/plugin-kubernetes-node": "0.1.0", - "@backstage/plugin-kubernetes-react": "0.1.0", - "@backstage/plugin-lighthouse": "0.4.10", - "@backstage/plugin-lighthouse-backend": "0.3.3", + "@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-backend": "0.2.1", + "@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-lighthouse-common": "0.1.4", - "@backstage/plugin-linguist": "0.1.10", - "@backstage/plugin-linguist-backend": "0.5.3", + "@backstage/plugin-linguist": "0.1.11", + "@backstage/plugin-linguist-backend": "0.5.4", "@backstage/plugin-linguist-common": "0.1.2", - "@backstage/plugin-microsoft-calendar": "0.1.8", - "@backstage/plugin-newrelic": "0.3.41", - "@backstage/plugin-newrelic-dashboard": "0.3.0", - "@backstage/plugin-nomad": "0.1.6", - "@backstage/plugin-nomad-backend": "0.1.8", - "@backstage/plugin-octopus-deploy": "0.2.7", - "@backstage/plugin-opencost": "0.2.1", - "@backstage/plugin-org": "0.6.15", - "@backstage/plugin-org-react": "0.1.14", - "@backstage/plugin-pagerduty": "0.6.6", - "@backstage/plugin-periskop": "0.1.23", - "@backstage/plugin-periskop-backend": "0.2.3", - "@backstage/plugin-permission-backend": "0.5.29", - "@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.3", - "@backstage/plugin-permission-common": "0.7.9", - "@backstage/plugin-permission-node": "0.7.17", - "@backstage/plugin-permission-react": "0.4.16", - "@backstage/plugin-playlist": "0.1.17", - "@backstage/plugin-playlist-backend": "0.3.10", - "@backstage/plugin-playlist-common": "0.1.11", - "@backstage/plugin-proxy-backend": "0.4.3", - "@backstage/plugin-puppetdb": "0.1.8", - "@backstage/plugin-rollbar": "0.4.25", - "@backstage/plugin-rollbar-backend": "0.1.51", - "@backstage/plugin-scaffolder": "1.15.1", - "@backstage/plugin-scaffolder-backend": "1.18.0", - "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.7", - "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.30", - "@backstage/plugin-scaffolder-backend-module-gitlab": "0.2.9", - "@backstage/plugin-scaffolder-backend-module-rails": "0.4.23", - "@backstage/plugin-scaffolder-backend-module-sentry": "0.1.14", - "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.27", - "@backstage/plugin-scaffolder-common": "1.4.2", - "@backstage/plugin-scaffolder-node": "0.2.6", - "@backstage/plugin-scaffolder-react": "1.5.6", - "@backstage/plugin-search": "1.4.1", - "@backstage/plugin-search-backend": "1.4.6", - "@backstage/plugin-search-backend-module-catalog": "0.1.10", - "@backstage/plugin-search-backend-module-elasticsearch": "1.3.9", - "@backstage/plugin-search-backend-module-explore": "0.1.10", - "@backstage/plugin-search-backend-module-pg": "0.5.15", - "@backstage/plugin-search-backend-module-techdocs": "0.1.10", - "@backstage/plugin-search-backend-node": "1.2.10", - "@backstage/plugin-search-common": "1.2.7", - "@backstage/plugin-search-react": "1.7.1", - "@backstage/plugin-sentry": "0.5.10", - "@backstage/plugin-shortcuts": "0.3.15", - "@backstage/plugin-sonarqube": "0.7.6", - "@backstage/plugin-sonarqube-backend": "0.2.8", - "@backstage/plugin-sonarqube-react": "0.1.9", - "@backstage/plugin-splunk-on-call": "0.4.14", - "@backstage/plugin-stack-overflow": "0.1.21", - "@backstage/plugin-stack-overflow-backend": "0.2.10", - "@backstage/plugin-stackstorm": "0.1.7", - "@backstage/plugin-tech-insights": "0.3.17", - "@backstage/plugin-tech-insights-backend": "0.5.20", - "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.38", + "@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-tech-insights-common": "0.2.12", - "@backstage/plugin-tech-insights-node": "0.4.12", - "@backstage/plugin-tech-radar": "0.6.9", - "@backstage/plugin-techdocs": "1.8.0", - "@backstage/plugin-techdocs-addons-test-utils": "1.0.22", - "@backstage/plugin-techdocs-backend": "1.8.0", - "@backstage/plugin-techdocs-module-addons-contrib": "1.1.1", - "@backstage/plugin-techdocs-node": "1.9.0", - "@backstage/plugin-techdocs-react": "1.1.12", - "@backstage/plugin-todo": "0.2.28", - "@backstage/plugin-todo-backend": "0.3.4", - "@backstage/plugin-user-settings": "0.7.11", - "@backstage/plugin-user-settings-backend": "0.2.4", - "@backstage/plugin-vault": "0.1.20", - "@backstage/plugin-vault-backend": "0.3.11", - "@backstage/plugin-xcmetrics": "0.2.44", - "@backstage/core-compat-api": "0.0.0", - "@backstage/plugin-catalog-backend-module-backstage-openapi": "0.0.0", - "@backstage/plugin-search-backend-module-stack-overflow-collator": "0.0.0", - "@backstage/plugin-vault-node": "0.0.0" + "@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" }, - "changesets": [ - "beige-stingrays-tap", - "big-roses-stare", - "blue-bags-warn", - "breezy-dogs-serve", - "brown-poets-join", - "chatty-cobras-cheer", - "chatty-countries-refuse", - "chilled-knives-rule", - "chilly-books-sneeze", - "chilly-terms-behave", - "clever-houses-scream", - "create-app-1698763033", - "curvy-carpets-kneel", - "curvy-carrots-thank", - "dirty-ducks-behave", - "dry-days-invite", - "eighty-chairs-camp", - "eleven-students-brake", - "fair-parrots-lick", - "fair-tools-bake", - "famous-plums-sit", - "fast-bears-lick", - "fifty-taxis-allow", - "flat-ducks-buy", - "fluffy-years-shake", - "four-files-behave", - "four-pears-swim", - "fresh-camels-give", - "fresh-crews-promise", - "fresh-schools-thank", - "gentle-elephants-look", - "gentle-pears-camp", - "gentle-pumpkins-carry", - "giant-cars-walk", - "giant-cycles-end", - "good-plums-confess", - "great-baboons-allow", - "healthy-dancers-dream", - "healthy-shirts-fold", - "heavy-experts-accept", - "heavy-rings-play", - "hip-moose-boil", - "hip-mugs-camp", - "hungry-paws-dress", - "hungry-radios-play", - "large-forks-arrive", - "late-forks-fetch", - "lazy-hotels-wait", - "long-turkeys-argue", - "loud-ghosts-deny", - "lovely-turtles-remain", - "many-masks-smoke", - "mighty-crews-attack", - "mighty-humans-shave", - "modern-ducks-battle", - "nasty-colts-tickle", - "new-beers-drive", - "new-kangaroos-train", - "nice-apes-kneel", - "nice-pillows-poke", - "ninety-numbers-study", - "old-apricots-taste", - "old-chairs-switch", - "old-coats-doubt", - "olive-doors-begin", - "olive-paws-divide", - "orange-ears-kiss", - "orange-jokes-tap", - "orange-planes-crash", - "plenty-buckets-float", - "plenty-tigers-argue", - "poor-seahorses-rush", - "popular-bikes-do", - "pretty-bats-end", - "pretty-swans-worry", - "quick-pumpkins-shave", - "quick-roses-move", - "real-apes-build", - "real-carrots-brake", - "real-jars-yawn", - "real-pears-study", - "red-beers-roll", - "red-yaks-press", - "renovate-dacadfa", - "rich-pugs-chew", - "rude-penguins-press", - "rude-tomatoes-itch", - "selfish-flies-kneel", - "shaggy-beers-collect", - "shaggy-buses-beg", - "sharp-chefs-attend", - "sharp-falcons-clean", - "shiny-geese-watch", - "shiny-goats-flash", - "silent-chairs-smoke", - "silver-kiwis-float", - "six-books-arrive", - "sixty-tips-argue", - "small-buckets-roll", - "smart-dancers-watch", - "sour-toes-joke", - "stale-horses-obey", - "stale-rice-count", - "strange-gifts-try", - "strange-queens-deliver", - "strange-taxis-explode", - "strong-taxis-wait", - "sweet-buckets-fry", - "sweet-countries-share", - "swift-badgers-hide", - "swift-mice-care", - "tall-colts-roll", - "tame-spies-hunt", - "tender-lies-wonder", - "tender-maps-type", - "thick-boats-decide", - "thick-dolphins-boil", - "thirty-stingrays-grin", - "three-moles-mix", - "tidy-camels-boil", - "tidy-planets-trade", - "tiny-files-judge", - "tricky-cups-hammer", - "tricky-vans-behave", - "twelve-donkeys-smash", - "two-jars-melt", - "unlucky-houses-end", - "violet-falcons-leave", - "violet-lamps-appear", - "weak-zebras-cover", - "wet-cows-brake", - "wet-shrimps-approve", - "wicked-ties-knock", - "wild-cows-watch", - "wild-geese-occur", - "wise-waves-approve", - "wise-weeks-design", - "young-days-talk" - ] + "changesets": [] } diff --git a/.changeset/pretty-bats-end.md b/.changeset/pretty-bats-end.md deleted file mode 100644 index 8b08c5b00f..0000000000 --- a/.changeset/pretty-bats-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-gitlab': patch ---- - -Resolved a bug affecting the retrieval of users from group members. By appending '/all' to the API call, we now include members from all inherited groups, as per Gitlab's API specifications. This change is reflected in the listSaaSUsers function. diff --git a/.changeset/pretty-swans-worry.md b/.changeset/pretty-swans-worry.md deleted file mode 100644 index 621ae98fe5..0000000000 --- a/.changeset/pretty-swans-worry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Fixed the type declaration of `DependencyGraphProps`, the `defs` prop now expects `JSX.Element`s. diff --git a/.changeset/quick-pumpkins-shave.md b/.changeset/quick-pumpkins-shave.md deleted file mode 100644 index cbb4c48dce..0000000000 --- a/.changeset/quick-pumpkins-shave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Added experimental support for declarative integration via the `/alpha` subpath. diff --git a/.changeset/quick-roses-move.md b/.changeset/quick-roses-move.md deleted file mode 100644 index 767ad0919e..0000000000 --- a/.changeset/quick-roses-move.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/dev-utils': patch -'@backstage/plugin-techdocs': patch ---- - -Switched the conditional `react-dom/client` import to use `import(...)` rather than `require(...)`. diff --git a/.changeset/real-apes-build.md b/.changeset/real-apes-build.md deleted file mode 100644 index 5481bebf3a..0000000000 --- a/.changeset/real-apes-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch ---- - -Correctly mark the client secret in configuration as secret diff --git a/.changeset/real-carrots-brake.md b/.changeset/real-carrots-brake.md deleted file mode 100644 index e9ae1f0c27..0000000000 --- a/.changeset/real-carrots-brake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-react': patch ---- - -Fixed a rare occurrence where a race in the search bar could throw away user input or cause the clear button not to work. diff --git a/.changeset/real-jars-yawn.md b/.changeset/real-jars-yawn.md deleted file mode 100644 index a89a687971..0000000000 --- a/.changeset/real-jars-yawn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -If create app installs dependencies, don't suggest to user that they also need to do it. diff --git a/.changeset/real-pears-study.md b/.changeset/real-pears-study.md deleted file mode 100644 index 9cbf9d8a28..0000000000 --- a/.changeset/real-pears-study.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-components': patch ---- - -Reverting the `MissingAnnotationEmptyState` component due to cyclical dependency. This component is now deprecated, please use the import from `@backstage/plugin-catalog-react` instead to use the new functionality diff --git a/.changeset/red-beers-roll.md b/.changeset/red-beers-roll.md deleted file mode 100644 index 3c061ce377..0000000000 --- a/.changeset/red-beers-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-backend-module-techdocs': patch ---- - -The process of adding or modifying fields in the techdocs search index has been simplified. For more details, see [How to customize fields in the Software Catalog or TechDocs index](https://backstage.io/docs/features/search/how-to-guides.md#how-to-customize-fields-in-the-software-catalog-or-techdocs-index). diff --git a/.changeset/red-yaks-press.md b/.changeset/red-yaks-press.md deleted file mode 100644 index 7166ac345e..0000000000 --- a/.changeset/red-yaks-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-app-api': patch ---- - -Add current and default scopes when refreshing session diff --git a/.changeset/renovate-6c0fb81.md b/.changeset/renovate-6c0fb81.md new file mode 100644 index 0000000000..a4677ed174 --- /dev/null +++ b/.changeset/renovate-6c0fb81.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-bitbucket-cloud-common': patch +--- + +Updated dependency `ts-morph` to `^20.0.0`. diff --git a/.changeset/renovate-b193efa.md b/.changeset/renovate-b193efa.md new file mode 100644 index 0000000000..dfb2430162 --- /dev/null +++ b/.changeset/renovate-b193efa.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-api-docs': patch +--- + +Updated dependency `@asyncapi/react-component` to `1.1.0`. diff --git a/.changeset/renovate-dacadfa.md b/.changeset/renovate-dacadfa.md deleted file mode 100644 index a450dc06a9..0000000000 --- a/.changeset/renovate-dacadfa.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-cost-insights': patch ---- - -Updated dependency `@types/pluralize` to `^0.0.32`. diff --git a/.changeset/rich-pugs-chew.md b/.changeset/rich-pugs-chew.md deleted file mode 100644 index 6c5aa0af62..0000000000 --- a/.changeset/rich-pugs-chew.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -The experimental package detection will now ignore packages that don't make `package.json` available. diff --git a/.changeset/rude-penguins-press.md b/.changeset/rude-penguins-press.md deleted file mode 100644 index 967b04bc19..0000000000 --- a/.changeset/rude-penguins-press.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder': patch ---- - -Title and description in RepoUrlPicker are now correctly displayed. diff --git a/.changeset/rude-tomatoes-itch.md b/.changeset/rude-tomatoes-itch.md deleted file mode 100644 index 1071f65756..0000000000 --- a/.changeset/rude-tomatoes-itch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Installed features are now deduplicated both by reference and ID when available. Features passed to `createApp` now override both discovered and loaded features. diff --git a/.changeset/selfish-flies-kneel.md b/.changeset/selfish-flies-kneel.md deleted file mode 100644 index 0f13f11d11..0000000000 --- a/.changeset/selfish-flies-kneel.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -No longer throw error on invalid input if the child is disabled. diff --git a/.changeset/shaggy-beers-collect.md b/.changeset/shaggy-beers-collect.md deleted file mode 100644 index 471368d6f2..0000000000 --- a/.changeset/shaggy-beers-collect.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/dev-utils': patch -'@backstage/plugin-techdocs': patch ---- - -Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present. diff --git a/.changeset/shaggy-buses-beg.md b/.changeset/shaggy-buses-beg.md deleted file mode 100644 index d2c9351b5e..0000000000 --- a/.changeset/shaggy-buses-beg.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/plugin-catalog-react': minor ---- - -The `UserListPicker` component has undergone improvements to enhance its performance. - -The previous implementation inferred the number of owned and starred entities based on the entities available in the `EntityListContext`. The updated version no longer relies on the `EntityListContext` for inference, allowing for better decoupling. - -The component now loads the entities' count asynchronously, resulting in improved performance and responsiveness. For this purpose, some of the exported filters such as `EntityTagFilter`, `EntityOwnerFilter`, `EntityLifecycleFilter` and `EntityNamespaceFilter` have now the `getCatalogFilters` method implemented. diff --git a/.changeset/sharp-chefs-attend.md b/.changeset/sharp-chefs-attend.md deleted file mode 100644 index 2334344928..0000000000 --- a/.changeset/sharp-chefs-attend.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-test-utils': patch ---- - -Ensure recursive deletion of temporary directories in tests diff --git a/.changeset/sharp-falcons-clean.md b/.changeset/sharp-falcons-clean.md deleted file mode 100644 index bc247be451..0000000000 --- a/.changeset/sharp-falcons-clean.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Register default implementation for the `Translation API` on the new `createApp`. diff --git a/.changeset/shiny-geese-watch.md b/.changeset/shiny-geese-watch.md deleted file mode 100644 index 5394a0776d..0000000000 --- a/.changeset/shiny-geese-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend-module-microsoft-provider': patch ---- - -Removed `prompt=consent` from start method to fix #20641 diff --git a/.changeset/shiny-goats-flash.md b/.changeset/shiny-goats-flash.md deleted file mode 100644 index 35a7ce0697..0000000000 --- a/.changeset/shiny-goats-flash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Add new `AppTreeApi`. diff --git a/.changeset/silent-chairs-smoke.md b/.changeset/silent-chairs-smoke.md deleted file mode 100644 index bfd3a4d7cb..0000000000 --- a/.changeset/silent-chairs-smoke.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Fix for app node output IDs not being serialized correctly. diff --git a/.changeset/silver-kiwis-float.md b/.changeset/silver-kiwis-float.md deleted file mode 100644 index 6a45dfb1a6..0000000000 --- a/.changeset/silver-kiwis-float.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': minor ---- - -Extensions now return their output from the factory function rather than calling `bind(...)`. diff --git a/.changeset/silver-yaks-bow.md b/.changeset/silver-yaks-bow.md deleted file mode 100644 index bd1aefd376..0000000000 --- a/.changeset/silver-yaks-bow.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch ---- - -Fix missing children key warning on the default catalog import page. diff --git a/.changeset/six-books-arrive.md b/.changeset/six-books-arrive.md deleted file mode 100644 index 785424f635..0000000000 --- a/.changeset/six-books-arrive.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -'@backstage/plugin-techdocs-module-addons-contrib': patch -'@backstage/plugin-microsoft-calendar': patch -'@backstage/plugin-scaffolder-react': patch -'@backstage/plugin-catalog-graph': patch -'@backstage/plugin-cost-insights': patch -'@backstage/plugin-tech-insights': patch -'@backstage/plugin-code-climate': patch -'@backstage/plugin-scaffolder': patch -'@backstage/plugin-gcalendar': patch -'@backstage/plugin-org-react': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-xcmetrics': patch -'@backstage/plugin-api-docs': patch -'@backstage/plugin-playlist': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-explore': patch -'@backstage/plugin-bazaar': patch -'@backstage/plugin-search': patch -'@backstage/plugin-org': patch ---- - -Internal theme type updates diff --git a/.changeset/sixty-houses-agree.md b/.changeset/sixty-houses-agree.md new file mode 100644 index 0000000000..1cdd5e7908 --- /dev/null +++ b/.changeset/sixty-houses-agree.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-common': minor +'@backstage/integration': minor +--- + +Implemented `readTree` for Gitea provider to support TechDocs functionality diff --git a/.changeset/sixty-tips-argue.md b/.changeset/sixty-tips-argue.md deleted file mode 100644 index 9fc965a281..0000000000 --- a/.changeset/sixty-tips-argue.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-plugin-api': patch ---- - -Improve the extension boundary component and create a default extension suspense component. diff --git a/.changeset/small-buckets-roll.md b/.changeset/small-buckets-roll.md deleted file mode 100644 index 5cd9b23678..0000000000 --- a/.changeset/small-buckets-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-home': patch ---- - -Temporarily pin the `react-grid-layout` sub-dependency to version `1.3.4` while the horizontal resizing of the latest version is not fixed. For more details, see [#20712](https://github.com/backstage/backstage/issues/20712). diff --git a/.changeset/smart-dancers-watch.md b/.changeset/smart-dancers-watch.md deleted file mode 100644 index b47a6ae5c2..0000000000 --- a/.changeset/smart-dancers-watch.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': minor ---- - -`IconComponent` can now have a `fontSize` of `inherit`, which is useful for in-line icons. diff --git a/.changeset/sour-toes-joke.md b/.changeset/sour-toes-joke.md deleted file mode 100644 index 4e380f4ded..0000000000 --- a/.changeset/sour-toes-joke.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -'@backstage/plugin-user-settings-backend': patch -'@backstage/plugin-scaffolder-backend': patch -'@backstage/plugin-periskop-backend': patch -'@backstage/plugin-scaffolder-node': patch -'@backstage/plugin-bazaar-backend': patch -'@backstage/plugin-kafka-backend': patch -'@backstage/plugin-proxy-backend': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-todo': patch ---- - -Switched to using `"exports"` field for `/alpha` subpath export. diff --git a/.changeset/stale-horses-obey.md b/.changeset/stale-horses-obey.md deleted file mode 100644 index 671844c1b7..0000000000 --- a/.changeset/stale-horses-obey.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -'@backstage/plugin-github-deployments': patch -'@backstage/plugin-kubernetes-cluster': patch -'@backstage/plugin-newrelic-dashboard': patch -'@backstage/plugin-github-actions': patch -'@backstage/plugin-splunk-on-call': patch -'@backstage/plugin-code-coverage': patch -'@backstage/plugin-code-climate': patch -'@backstage/plugin-azure-sites': patch -'@backstage/plugin-cloudbuild': patch -'@backstage/plugin-kubernetes': patch -'@backstage/plugin-lighthouse': patch -'@backstage/plugin-dynatrace': patch -'@backstage/plugin-sonarqube': patch -'@backstage/plugin-airbrake': patch -'@backstage/plugin-circleci': patch -'@backstage/plugin-puppetdb': patch -'@backstage/plugin-techdocs': patch -'@backstage/plugin-bitrise': patch -'@backstage/plugin-jenkins': patch -'@backstage/plugin-rollbar': patch -'@backstage/plugin-allure': patch -'@backstage/plugin-sentry': patch -'@backstage/plugin-fossa': patch -'@backstage/plugin-kafka': patch -'@backstage/plugin-nomad': patch -'@backstage/plugin-vault': patch -'@backstage/plugin-gocd': patch -'@backstage/plugin-adr': patch ---- - -Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency diff --git a/.changeset/stale-rice-count.md b/.changeset/stale-rice-count.md deleted file mode 100644 index 3d2caf168d..0000000000 --- a/.changeset/stale-rice-count.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': patch ---- - -Deprecated several types related to the routing system that are scheduled to be removed, as well as several fields on the route ref types themselves. diff --git a/.changeset/strange-gifts-try.md b/.changeset/strange-gifts-try.md deleted file mode 100644 index 7f9aa89ad4..0000000000 --- a/.changeset/strange-gifts-try.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@backstage/frontend-app-api': patch -'@backstage/plugin-catalog': patch -'@backstage/plugin-catalog-react': patch -'@backstage/plugin-graphiql': patch -'@backstage/plugin-search-react': patch ---- - -Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. diff --git a/.changeset/strange-queens-deliver.md b/.changeset/strange-queens-deliver.md deleted file mode 100644 index ed1d4d0b5b..0000000000 --- a/.changeset/strange-queens-deliver.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': patch ---- - -Reverted the Microsoft auth provider to the previous implementation. diff --git a/.changeset/strange-taxis-explode.md b/.changeset/strange-taxis-explode.md deleted file mode 100644 index 41bcf1895c..0000000000 --- a/.changeset/strange-taxis-explode.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-kubernetes-backend': patch -'@backstage/plugin-kubernetes-common': patch ---- - -Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api diff --git a/.changeset/strong-taxis-wait.md b/.changeset/strong-taxis-wait.md deleted file mode 100644 index 13cfa9a1ba..0000000000 --- a/.changeset/strong-taxis-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-app-api': patch ---- - -Added a workaround for double `default` wrapping when dynamically importing CommonJS modules with default exports. diff --git a/.changeset/sweet-buckets-fry.md b/.changeset/sweet-buckets-fry.md deleted file mode 100644 index 8f17617645..0000000000 --- a/.changeset/sweet-buckets-fry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -The `spec.type` field in entities will now always be rendered as a string. diff --git a/.changeset/sweet-countries-share.md b/.changeset/sweet-countries-share.md deleted file mode 100644 index e1327a74b8..0000000000 --- a/.changeset/sweet-countries-share.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Add examples for `github:webhook` scaffolder action & improve related tests diff --git a/.changeset/swift-badgers-hide.md b/.changeset/swift-badgers-hide.md deleted file mode 100644 index 217253370e..0000000000 --- a/.changeset/swift-badgers-hide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/frontend-app-api': patch ---- - -Internal refactor to rename the app graph to app tree diff --git a/.changeset/swift-mice-care.md b/.changeset/swift-mice-care.md deleted file mode 100644 index 1d0d7d8703..0000000000 --- a/.changeset/swift-mice-care.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Added `EXPERIMENTAL_VITE` flag for using [vite](https://vitejs.dev) as dev server instead of Webpack diff --git a/.changeset/tall-colts-roll.md b/.changeset/tall-colts-roll.md deleted file mode 100644 index 914a09cdac..0000000000 --- a/.changeset/tall-colts-roll.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': minor ---- - -Allow setting `update: true` in `publish:github:pull-request` scaffolder action diff --git a/.changeset/tame-spies-hunt.md b/.changeset/tame-spies-hunt.md deleted file mode 100644 index 5a45defb7e..0000000000 --- a/.changeset/tame-spies-hunt.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Add examples for `github:deployKey:create` scaffolder action & improve related tests diff --git a/.changeset/tender-lies-wonder.md b/.changeset/tender-lies-wonder.md deleted file mode 100644 index 43124bb41c..0000000000 --- a/.changeset/tender-lies-wonder.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-auth-backend': minor ---- - -Adds the StaticTokenIssuer and StaticKeyStore, an alternative token issuer that can be used to sign the Authorization header using a predefined public/private key pair. diff --git a/.changeset/tender-maps-type.md b/.changeset/tender-maps-type.md deleted file mode 100644 index 11aa814a17..0000000000 --- a/.changeset/tender-maps-type.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': minor ---- - -Introduced `AnyRouteRefParams` as a replacement for `AnyParams`, which is now deprecated. diff --git a/.changeset/thick-boats-decide.md b/.changeset/thick-boats-decide.md deleted file mode 100644 index e258962ecd..0000000000 --- a/.changeset/thick-boats-decide.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/create-app': patch ---- - -Added missing node-gyp dependency to fix Docker image build diff --git a/.changeset/thick-dolphins-boil.md b/.changeset/thick-dolphins-boil.md deleted file mode 100644 index dd562e620c..0000000000 --- a/.changeset/thick-dolphins-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-import': patch ---- - -The `app.title` configuration is now properly required to be a string. diff --git a/.changeset/thirty-stingrays-grin.md b/.changeset/thirty-stingrays-grin.md deleted file mode 100644 index 6dcb4bbd50..0000000000 --- a/.changeset/thirty-stingrays-grin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-openapi-utils': minor ---- - -Adds a new route, `/openapi.json` to validated routers for displaying their full OpenAPI spec in a standard endpoint. diff --git a/.changeset/three-moles-mix.md b/.changeset/three-moles-mix.md deleted file mode 100644 index d1e48194a1..0000000000 --- a/.changeset/three-moles-mix.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search': patch ---- - -Fixed incorrect plugin ID in `/alpha` export. diff --git a/.changeset/tidy-camels-boil.md b/.changeset/tidy-camels-boil.md deleted file mode 100644 index 6e59f96f34..0000000000 --- a/.changeset/tidy-camels-boil.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-app-api': patch ---- - -Add component data `core.type` marker for `AppRouter` and `FlatRoutes`. diff --git a/.changeset/tidy-planets-trade.md b/.changeset/tidy-planets-trade.md deleted file mode 100644 index 49c1643e55..0000000000 --- a/.changeset/tidy-planets-trade.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch -'@backstage/plugin-scaffolder-common': patch -'@backstage/plugin-scaffolder-react': patch ---- - -Make it possible to define control buttons text (Back, Create, Review) per template diff --git a/.changeset/tiny-cobras-look.md b/.changeset/tiny-cobras-look.md new file mode 100644 index 0000000000..1c5acc6c4a --- /dev/null +++ b/.changeset/tiny-cobras-look.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Expose an `onAuth` handler for `git` actions to provide custom credentials diff --git a/.changeset/tiny-files-judge.md b/.changeset/tiny-files-judge.md deleted file mode 100644 index 781adef3c7..0000000000 --- a/.changeset/tiny-files-judge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-techdocs': minor ---- - -A new analytics event `not-found` will be published when a user visits a documentation site that does not exist diff --git a/.changeset/tricky-cups-hammer.md b/.changeset/tricky-cups-hammer.md deleted file mode 100644 index 4e1b6fe9ce..0000000000 --- a/.changeset/tricky-cups-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/core-plugin-api': patch ---- - -Added a new `/alpha` export `convertLegacyRouteRef`, which is a temporary utility to allow existing route refs to be used with the new experimental packages. diff --git a/.changeset/tricky-vans-behave.md b/.changeset/tricky-vans-behave.md deleted file mode 100644 index 89592e5e8f..0000000000 --- a/.changeset/tricky-vans-behave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/backend-openapi-utils': patch ---- - -Adds a new function `wrapInOpenApiTestServer` that allows for proxied requests at runtime. This will support the new `yarn backstage-repo-tools schema openapi test` command. diff --git a/.changeset/twelve-donkeys-smash.md b/.changeset/twelve-donkeys-smash.md deleted file mode 100644 index 3cbdea388b..0000000000 --- a/.changeset/twelve-donkeys-smash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-github-actions': patch ---- - -Fixed an issue that was preventing the sorting of workflow runs by their status. diff --git a/.changeset/two-jars-melt.md b/.changeset/two-jars-melt.md deleted file mode 100644 index 2789157065..0000000000 --- a/.changeset/two-jars-melt.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@backstage/plugin-techdocs-backend': minor -'@backstage/plugin-techdocs-node': minor ---- - -Expose an extension point to set a custom build strategy. Also move `DocsBuildStrategy` type to `@backstage/plugin-techdocs-node` and deprecate `ShouldBuildParameters` type. diff --git a/.changeset/unlucky-houses-end.md b/.changeset/unlucky-houses-end.md deleted file mode 100644 index 48f5849002..0000000000 --- a/.changeset/unlucky-houses-end.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-backend-module-github': patch ---- - -Import `AnalyzeOptions` and `ScmLocationAnalyzer` types from `@backstage/plugin-catalog-node` diff --git a/.changeset/violet-falcons-leave.md b/.changeset/violet-falcons-leave.md deleted file mode 100644 index 03b91957b1..0000000000 --- a/.changeset/violet-falcons-leave.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Removed unnecessary `@backstage/integration` dependency, replaced by `@backstage/integration-react`. diff --git a/.changeset/violet-lamps-appear.md b/.changeset/violet-lamps-appear.md deleted file mode 100644 index 23536fb728..0000000000 --- a/.changeset/violet-lamps-appear.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@backstage/plugin-scaffolder': minor -'@backstage/plugin-scaffolder-react': minor ---- - -Release design improvements for the `Scaffolder` plugin and support v5 of `@rjsf/*` libraries. - -This change should be non-breaking. If you're seeing typescript issues after migrating please [open an issue](https://github.com/backstage/backstage/issues/new/choose) - -The `next` versions like `createNextFieldExtension` and `NextScaffolderPage` have been promoted to the public interface under `createScaffolderFieldExtension` and `ScaffolderPage`, so any older imports which are no longer found will need updating from `@backstage/plugin-scaffolder/alpha` or `@backstage/plugin-scaffolder-react/alpha` will need to be imported from `@backstage/plugin-scaffolder` and `@backstage/plugin-scaffolder-react` respectively. - -The legacy versions are now available in `/alpha` under `createLegacyFieldExtension` and `LegacyScaffolderPage` if you're running into issues, but be aware that these will be removed in a next mainline release. diff --git a/.changeset/weak-zebras-cover.md b/.changeset/weak-zebras-cover.md deleted file mode 100644 index f3290683e2..0000000000 --- a/.changeset/weak-zebras-cover.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-react': patch ---- - -Minor refactor of search bar analytics capture diff --git a/.changeset/wet-cows-brake.md b/.changeset/wet-cows-brake.md deleted file mode 100644 index 9e694d8452..0000000000 --- a/.changeset/wet-cows-brake.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-react': patch ---- - -The filter options passed to `SearchResultGroupLayout` are now always explicitly rendered as strings by default. diff --git a/.changeset/wet-shrimps-approve.md b/.changeset/wet-shrimps-approve.md deleted file mode 100644 index b75a28f355..0000000000 --- a/.changeset/wet-shrimps-approve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-catalog-react': patch ---- - -Export `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` diff --git a/.changeset/wicked-ties-knock.md b/.changeset/wicked-ties-knock.md deleted file mode 100644 index 582cb905d0..0000000000 --- a/.changeset/wicked-ties-knock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend-module-gitlab': patch ---- - -Add examples for `gitlab:projectAccessToken:create` scaffolder action & improve related tests diff --git a/.changeset/wild-cows-watch.md b/.changeset/wild-cows-watch.md deleted file mode 100644 index 770fb1a692..0000000000 --- a/.changeset/wild-cows-watch.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@backstage/plugin-catalog': minor ---- - -Added the `DefaultEntityPresentationApi`, which is an implementation of the -`EntityPresentationApi` that `@backstage/plugin-catalog-react` exposes through -its `entityPresentationApiRef`. This implementation is also by default made -available automatically by the catalog plugin, unless you replace it with a -custom one. It batch fetches and caches data from the catalog as needed for -display, and is customizable by adopters to add their own rendering functions. diff --git a/.changeset/wild-geese-occur.md b/.changeset/wild-geese-occur.md deleted file mode 100644 index b97620e7f5..0000000000 --- a/.changeset/wild-geese-occur.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search': patch ---- - -Minor internal code cleanup. diff --git a/.changeset/wise-waves-approve.md b/.changeset/wise-waves-approve.md deleted file mode 100644 index f543f8918c..0000000000 --- a/.changeset/wise-waves-approve.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/cli': patch ---- - -Ignore `stdin` when spawning backend child process for the `start` command. Fixing an issue where backend startup would hang. diff --git a/.changeset/wise-weeks-design.md b/.changeset/wise-weeks-design.md deleted file mode 100644 index 657a8e23d5..0000000000 --- a/.changeset/wise-weeks-design.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-scaffolder-backend': patch ---- - -Add examples for `publish:github:pull-request` scaffolder action & improve related tests diff --git a/.changeset/young-days-talk.md b/.changeset/young-days-talk.md deleted file mode 100644 index b7420c7894..0000000000 --- a/.changeset/young-days-talk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@backstage/plugin-search-react': patch ---- - -Use default extensions boundary and suspense on the alpha declarative `createSearchResultListItem` extension factory. diff --git a/.eslintrc.js b/.eslintrc.js index 0d937fc6b4..2df965ab73 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -45,13 +45,12 @@ module.exports = { "CallExpression[arguments.length=0] > MemberExpression[property.name='toUpperCase']", }, ], - 'testing-library/await-async-query': 'error', + 'testing-library/await-async-queries': 'error', 'testing-library/await-async-utils': 'error', - 'testing-library/no-await-sync-query': 'error', - 'testing-library/prefer-wait-for': 'error', + 'testing-library/no-await-sync-queries': 'error', 'testing-library/no-dom-import': 'error', 'testing-library/no-wait-for-side-effects': 'error', - 'testing-library/no-wait-for-empty-callback': 'error', + 'testing-library/await-async-events': 'error', 'no-restricted-globals': [ 'error', [ diff --git a/.github/workflows/automate_area-labels.yml b/.github/workflows/automate_area-labels.yml index dfb60c9243..1ba3b1d6c3 100644 --- a/.github/workflows/automate_area-labels.yml +++ b/.github/workflows/automate_area-labels.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/automate_changeset_feedback.yml b/.github/workflows/automate_changeset_feedback.yml index 56aa3f58f8..1768cb670e 100644 --- a/.github/workflows/automate_changeset_feedback.yml +++ b/.github/workflows/automate_changeset_feedback.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/automate_merge_message.yml b/.github/workflows/automate_merge_message.yml index c7a02db354..29b64393ad 100644 --- a/.github/workflows/automate_merge_message.yml +++ b/.github/workflows/automate_merge_message.yml @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -44,7 +44,7 @@ jobs: node generate.js ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} > message.txt - name: Post Message - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 env: ISSUE_NUMBER: ${{ github.event.pull_request.number }} with: diff --git a/.github/workflows/automate_stale.yml b/.github/workflows/automate_stale.yml index 48ae943f69..b888471254 100644 --- a/.github/workflows/automate_stale.yml +++ b/.github/workflows/automate_stale.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/ci-noop.yml b/.github/workflows/ci-noop.yml index 7234e945e3..648386873b 100644 --- a/.github/workflows/ci-noop.yml +++ b/.github/workflows/ci-noop.yml @@ -39,7 +39,7 @@ jobs: name: Test ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9be09a9ab..b77983db04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,14 +27,14 @@ jobs: name: Install ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -63,14 +63,14 @@ jobs: name: Verify ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -201,7 +201,7 @@ jobs: run: git fetch origin master - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 79cfe9d790..f1a1dbd0b0 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index 57ed668627..65ded2b19b 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -1,5 +1,7 @@ name: Build and push Docker image on: + workflow_dispatch: + repository_dispatch: types: [release-published] @@ -14,7 +16,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -25,7 +27,7 @@ jobs: ref: v${{ github.event.client_payload.version }} - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -45,21 +47,21 @@ jobs: working-directory: ./example-app - name: Login to GitHub Container Registry - uses: docker/login-action@v2.2.0 + uses: docker/login-action@v3.0.0 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.10.0 + uses: docker/setup-buildx-action@v3.0.0 - name: Build and push - uses: docker/build-push-action@v4.2.1 + uses: docker/build-push-action@v5.0.0 with: context: './example-app' file: ./example-app/packages/backend/Dockerfile - push: true + push: ${{ github.event_name == "repository_dispatch" && github.event.action == "release-published" }} platforms: linux/amd64,linux/arm64 tags: | ghcr.io/${{ github.repository_owner }}/backstage:latest diff --git a/.github/workflows/deploy_microsite.yml b/.github/workflows/deploy_microsite.yml index baa59dc977..c7b621f8fe 100644 --- a/.github/workflows/deploy_microsite.yml +++ b/.github/workflows/deploy_microsite.yml @@ -24,14 +24,14 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 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 e64fbe000a..39bf38f907 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -15,14 +15,14 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3.8.2 + uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0 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 a9beee405f..369eb6d8de 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -63,7 +63,7 @@ jobs: - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -138,14 +138,14 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -171,7 +171,7 @@ jobs: if [ -f ".changeset/pre.json" ]; then yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish --tag next else - yarn workspaces foreach -p -j 10 -v --no-private npm publish --access public --tolerate-republish + yarn workspaces foreach -v --no-private npm publish --access public --tolerate-republish fi env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/issue.yaml b/.github/workflows/issue.yaml index f5150a3a01..8ef339efc7 100644 --- a/.github/workflows/issue.yaml +++ b/.github/workflows/issue.yaml @@ -10,7 +10,7 @@ jobs: if: github.repository == 'backstage/backstage' steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/pr-review-comment-trigger.yaml b/.github/workflows/pr-review-comment-trigger.yaml index 784dc6cf79..60129eee82 100644 --- a/.github/workflows/pr-review-comment-trigger.yaml +++ b/.github/workflows/pr-review-comment-trigger.yaml @@ -20,7 +20,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/pr-review-comment.yaml b/.github/workflows/pr-review-comment.yaml index 8d66567ff4..c121c9aec9 100644 --- a/.github/workflows/pr-review-comment.yaml +++ b/.github/workflows/pr-review-comment.yaml @@ -17,13 +17,13 @@ jobs: steps: # Inspired by https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - name: Read PR Number id: pr-number - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 89193c30ab..cfa0738332 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -18,7 +18,7 @@ jobs: if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request ) steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index f3dc873075..64b5083bda 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -29,7 +29,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -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@74483a38d39275f33fcff5f35b679b5ca4a26a99 # v2.22.5 + uses: github/codeql-action/upload-sarif@689fdc5193eeb735ecb2e52e819e3382876f93f4 # v2.22.6 with: sarif_file: results.sarif diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index bbb5ab702b..2421d62211 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -20,7 +20,7 @@ jobs: fetch-depth: 0 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/sync_dependabot-changesets.yml b/.github/workflows/sync_dependabot-changesets.yml index 40886015ca..7667dc167b 100644 --- a/.github/workflows/sync_dependabot-changesets.yml +++ b/.github/workflows/sync_dependabot-changesets.yml @@ -11,7 +11,7 @@ jobs: if: github.actor == 'dependabot[bot]' && github.repository == 'backstage/backstage' steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -26,7 +26,7 @@ jobs: git config --global user.email noreply@backstage.io git config --global user.name 'Github changeset workflow' - name: Generate changeset - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 with: script: | const { promises: fs } = require('fs'); diff --git a/.github/workflows/sync_release-manifest.yml b/.github/workflows/sync_release-manifest.yml index 1e6a2e4912..e7d5ddc2cd 100644 --- a/.github/workflows/sync_release-manifest.yml +++ b/.github/workflows/sync_release-manifest.yml @@ -8,12 +8,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit # Setup node & install deps before checkout, keeping install quick - - uses: actions/setup-node@v3.8.2 + - uses: actions/setup-node@v4.0.0 with: node-version: 18.x - name: Install dependencies @@ -53,7 +53,7 @@ jobs: git push - name: Dispatch update-helper update - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 with: github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }} # TODO(Rugvip): Remove the create-app dispatch once we've been on the release version for a while diff --git a/.github/workflows/sync_renovate-changesets.yml b/.github/workflows/sync_renovate-changesets.yml index 88b1430784..7533ad9a0a 100644 --- a/.github/workflows/sync_renovate-changesets.yml +++ b/.github/workflows/sync_renovate-changesets.yml @@ -11,7 +11,7 @@ jobs: if: github.actor == 'renovate[bot]' && github.repository == 'backstage/backstage' steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -26,7 +26,7 @@ jobs: git config --global user.email noreply@backstage.io git config --global user.name 'Github changeset workflow' - name: Generate changeset - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 with: script: | const { promises: fs } = require("fs"); diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index dae8240a24..c030ad124a 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -12,14 +12,14 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 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 3694755c7c..07388cd47b 100644 --- a/.github/workflows/sync_snyk-monitor.yml +++ b/.github/workflows/sync_snyk-monitor.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -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.5 + uses: github/codeql-action/upload-sarif@v2.22.6 with: sarif_file: snyk.sarif diff --git a/.github/workflows/sync_version-packages.yml b/.github/workflows/sync_version-packages.yml index 4ff6ce94f3..6529017198 100644 --- a/.github/workflows/sync_version-packages.yml +++ b/.github/workflows/sync_version-packages.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml index 75eeb370ee..883f000806 100644 --- a/.github/workflows/uffizzi-build.yml +++ b/.github/workflows/uffizzi-build.yml @@ -3,9 +3,14 @@ on: pull_request: types: [opened, synchronize, reopened, closed] paths-ignore: - - 'microsite/**' - - 'storybook/**' + - '.changeset/**' - 'contrib/**' + - 'docs/**' + - 'microsite/**' + - 'scripts/**' + - 'storybook/**' + - '**/*.test.*' + - '**/package.json' - '*.md' jobs: @@ -20,7 +25,7 @@ jobs: tags: ${{ steps.meta.outputs.tags }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -28,7 +33,7 @@ jobs: uses: actions/checkout@v4.1.1 - name: setup-node - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: 18.x registry-url: https://registry.npmjs.org/ @@ -42,16 +47,12 @@ jobs: run: | cp -f ./.github/uffizzi/uffizzi.production.app-config.yaml ./app-config.yaml - - name: typescript build - run: | - yarn tsc - - name: backstage build run: | yarn workspace example-backend build - name: Set up Docker Buildx - uses: docker/setup-buildx-action@885d1462b80bc1c1c7f0b00334ad271f09369c55 # v2.10.0 + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 - name: Generate UUID image name id: uuid @@ -59,13 +60,13 @@ jobs: - name: Docker metadata id: meta - uses: docker/metadata-action@818d4b7b91585d195f67373fd9cb0332e31a7175 # v4.6.0 + uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0 with: images: registry.uffizzi.com/${{ env.UUID_TAG_APP }} tags: type=raw,value=60d - name: Build Image - uses: docker/build-push-action@0a97817b6ade9f46837855d676c4cca3a2471fc9 # v4.2.1 + uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0 with: context: . file: packages/backend/Dockerfile @@ -82,7 +83,7 @@ jobs: - build-backstage steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -114,7 +115,7 @@ jobs: if: ${{ github.event.action == 'closed' }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/uffizzi-preview.yaml b/.github/workflows/uffizzi-preview.yaml index 1d13680b82..f37d27efd9 100644 --- a/.github/workflows/uffizzi-preview.yaml +++ b/.github/workflows/uffizzi-preview.yaml @@ -19,13 +19,13 @@ jobs: action: ${{ env.ACTION }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - name: 'Download artifacts' # Fetch output (zip archive) from the workflow run that triggered this workflow. - uses: actions/github-script@v6.4.1 + uses: actions/github-script@v7.0.0 with: script: | let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ @@ -104,7 +104,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Identify comment to be updated - name: Find comment for Ephemeral Environment @@ -212,7 +212,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Delete Virtual Cluster uses: UffizziCloud/cluster-action@main diff --git a/.github/workflows/verify_accessibility-noop.yml b/.github/workflows/verify_accessibility-noop.yml index e2b1860b28..ab438681bb 100644 --- a/.github/workflows/verify_accessibility-noop.yml +++ b/.github/workflows/verify_accessibility-noop.yml @@ -26,7 +26,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_accessibility.yml b/.github/workflows/verify_accessibility.yml index b367f4afb3..57aec1298a 100644 --- a/.github/workflows/verify_accessibility.yml +++ b/.github/workflows/verify_accessibility.yml @@ -20,13 +20,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: Use Node.js 18.x - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: 18.x - name: yarn install diff --git a/.github/workflows/verify_codeql.yml b/.github/workflows/verify_codeql.yml index 06feec23ae..b859e90d96 100644 --- a/.github/workflows/verify_codeql.yml +++ b/.github/workflows/verify_codeql.yml @@ -42,7 +42,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -55,7 +55,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2.22.5 + uses: github/codeql-action/init@v2.22.6 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.5 + uses: github/codeql-action/autobuild@v2.22.6 # ℹ️ 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.5 + uses: github/codeql-action/analyze@v2.22.6 diff --git a/.github/workflows/verify_docs-quality.yml b/.github/workflows/verify_docs-quality.yml index f1932d5afa..8e11a53fb7 100644 --- a/.github/workflows/verify_docs-quality.yml +++ b/.github/workflows/verify_docs-quality.yml @@ -12,7 +12,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_e2e-kubernetes-noop.yml b/.github/workflows/verify_e2e-kubernetes-noop.yml index 5c52968820..72b1c57f19 100644 --- a/.github/workflows/verify_e2e-kubernetes-noop.yml +++ b/.github/workflows/verify_e2e-kubernetes-noop.yml @@ -23,7 +23,7 @@ jobs: name: Kubernetes ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_e2e-kubernetes.yml b/.github/workflows/verify_e2e-kubernetes.yml index bd7eeb2ea7..fcc75b6264 100644 --- a/.github/workflows/verify_e2e-kubernetes.yml +++ b/.github/workflows/verify_e2e-kubernetes.yml @@ -22,14 +22,14 @@ jobs: name: Kubernetes ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_e2e-linux-noop.yml b/.github/workflows/verify_e2e-linux-noop.yml index 27e08c7055..b451c5d75e 100644 --- a/.github/workflows/verify_e2e-linux-noop.yml +++ b/.github/workflows/verify_e2e-linux-noop.yml @@ -28,7 +28,7 @@ jobs: name: E2E Linux ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index cf61463dd8..925f593ba7 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -40,7 +40,7 @@ jobs: name: E2E Linux ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -52,7 +52,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_e2e-techdocs.yml b/.github/workflows/verify_e2e-techdocs.yml index 96645c9b0b..3b7b42e905 100644 --- a/.github/workflows/verify_e2e-techdocs.yml +++ b/.github/workflows/verify_e2e-techdocs.yml @@ -30,7 +30,7 @@ jobs: name: Techdocs steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_e2e-windows-noop.yml b/.github/workflows/verify_e2e-windows-noop.yml index e4b8556f58..d8119f8363 100644 --- a/.github/workflows/verify_e2e-windows-noop.yml +++ b/.github/workflows/verify_e2e-windows-noop.yml @@ -16,7 +16,7 @@ permissions: jobs: noop: - runs-on: windows-2019 + runs-on: windows-2022 strategy: matrix: @@ -25,7 +25,7 @@ jobs: name: E2E Windows ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml index f0b1611fe1..cfb7014224 100644 --- a/.github/workflows/verify_e2e-windows.yml +++ b/.github/workflows/verify_e2e-windows.yml @@ -31,7 +31,7 @@ jobs: name: E2E Windows ${{ matrix.node-version }} steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -50,7 +50,7 @@ jobs: git config --global user.name 'GitHub e2e user' - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/.github/workflows/verify_fossa.yml b/.github/workflows/verify_fossa.yml index 7918efe333..85dbc46afa 100644 --- a/.github/workflows/verify_fossa.yml +++ b/.github/workflows/verify_fossa.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_microsite-noop.yml b/.github/workflows/verify_microsite-noop.yml index 8c329a0f27..020ecbcfd5 100644 --- a/.github/workflows/verify_microsite-noop.yml +++ b/.github/workflows/verify_microsite-noop.yml @@ -21,7 +21,7 @@ jobs: name: Microsite steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_microsite.yml b/.github/workflows/verify_microsite.yml index 0a8d766717..a3be6c4c69 100644 --- a/.github/workflows/verify_microsite.yml +++ b/.github/workflows/verify_microsite.yml @@ -24,14 +24,14 @@ jobs: name: Microsite steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js 18.x - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: 18.x diff --git a/.github/workflows/verify_storybook-noop.yml b/.github/workflows/verify_storybook-noop.yml index aee4623d5a..b60aa18362 100644 --- a/.github/workflows/verify_storybook-noop.yml +++ b/.github/workflows/verify_storybook-noop.yml @@ -28,7 +28,7 @@ jobs: name: Storybook steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 4afdefb17b..5ebce61da2 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -28,7 +28,7 @@ jobs: name: Storybook steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit @@ -37,7 +37,7 @@ jobs: fetch-depth: 0 # Required to retrieve git history - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 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@d726e4e790a99e876f71b8e09d3053bfe783d6b8 # v1 + - uses: chromaui/action@b52e14dd333579901e7099e0094b652e8284dea9 # 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 59a06773b9..22d4f0af3b 100644 --- a/.github/workflows/verify_windows.yml +++ b/.github/workflows/verify_windows.yml @@ -29,14 +29,14 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1 + uses: step-security/harden-runner@1b05615854632b887b69ae1be8cbefe72d3ae423 # v2.6.0 with: egress-policy: audit - uses: actions/checkout@v4.1.1 - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3.8.2 + uses: actions/setup-node@v4.0.0 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth diff --git a/ADOPTERS.md b/ADOPTERS.md index eaec1cc2d1..681285dd78 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -261,3 +261,4 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/ | [AppsFlyer](https://www.appsflyer.com/) | [Shahar Shmaram](https://github.com/shmaram) | Internal Developer Portal, a catalog of all company resources, custom providers and processors, scaffolder for generating new resources. | [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. | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6c645ab524..1261e7debc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,21 @@ You can find out more about the types of contributions over at [getting involved If you need help, just jump into our [Discord chatroom](https://discord.gg/backstage-687207715902193673). +## Table of Contents + +- [Code of Conduct](#code-of-conduct) +- [Security Issues?](#security-issues) +- [Accessibility](#accessibility) +- [Get Started!](#get-started) +- [Coding Guidelines](#coding-guidelines) +- [Package Scripts](#package-scripts) +- [Local configuration](#local-configuration) +- [Creating Changesets](#creating-changesets) +- [Developer Certificate of Origin](#developer-certificate-of-origin) +- [API Reports](#api-reports) +- [Submitting a Pull Request](#submitting-a-pull-request) +- [Review Process](#review-process) + ## Code of Conduct This project adheres to the [CNCF Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code. @@ -273,6 +288,13 @@ Awesome commit message Signed-off-by: Jane Smith ``` +> Note: this assumes you have setup your git name and email, if you have not you can use these commands to set that up: +> +> ```shell +> git config --global user.name "Your Name" +> git config --global user.email "youremail@example.com" +> ``` + - In case you forgot to add it to the most recent commit, use `git commit --amend --signoff` - In case you forgot to add it to the last N commits in your branch, use `git rebase --signoff HEAD~N` and replace N with the number of new commits you created in your branch. - If you have a very deep branch with a lot of commits, run `git rebase -i --signoff $(git merge-base -a master HEAD)`, double check to make sense of the commits (keep all lines as `pick`) and save and close the editor. This should bulk sign all the commits in your PR. Do be careful though. If you have a complex flow with a lot of branching and re-merging of work branches and stuff, merge-base may not be the right solution for you. @@ -283,7 +305,7 @@ Note: If you have already pushed your branch to a remote, you might have to forc If you are using the GitHub Desktop client, you need to manually add the `Signed-off-by` line to the Description field on the Changes tab before committing: -``` +```text Awesome description (commit message) Signed-off-by: Jane Smith @@ -291,6 +313,16 @@ Signed-off-by: Jane Smith In case you forgot to add the line to your most recent commit, you can amend the commit message from the History tab before pushing your branch (GitHub Desktop 2.9 or later). +### Using VS Code? + +If you are using VS Code you can enable always signing your commits by setting the following in your `settings.json` file: + +```json +"git.alwaysSignOff": true, +``` + +Or from the Settings UI look for the "Git: Always Sign Off" setting and check the "Controls the signoff flag for all commits" box. + ## API Reports Backstage uses [API Extractor](https://api-extractor.com/) and TSDoc comments to generate API Reports in Markdown format. These reports are what drive the [API Reference documentation](https://backstage.io/docs/reference/). What this means is that if you are making changes to the API or adding a new plugin then you will need either generate a new API Report or update an existing API Report. If you don't do this the CI build will fail when you create your Pull Request. diff --git a/contrib/.devcontainer/Dockerfile b/contrib/.devcontainer/Dockerfile index 35459b8d97..6407aa26dd 100644 --- a/contrib/.devcontainer/Dockerfile +++ b/contrib/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM mcr.microsoft.com/devcontainers/typescript-node:18 +FROM mcr.microsoft.com/devcontainers/typescript-node:20 RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ && apt-get -y install chromium \ diff --git a/contrib/chart/backstage/Chart.lock b/contrib/chart/backstage/Chart.lock index 6220a481dd..4859d66db0 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: 9.8.12 -digest: sha256:549b9a0cdf7b2e0ad949ebad853a467bf320928970a946fb0ef7e13e9bdb7a10 -generated: "2022-05-20T08:15:48.301491565Z" + version: 13.2.9 +digest: sha256:dc1310557bc7c31b429f36615c584bbb97148ff4075b4a85882905e70235405e +generated: "2023-11-15T18:03:04.757653318Z" diff --git a/contrib/chart/backstage/Chart.yaml b/contrib/chart/backstage/Chart.yaml index 9770ef665c..ed8dc80d66 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: 9.8.12 + version: 13.2.9 repository: https://charts.bitnami.com/bitnami maintainers: diff --git a/contrib/docs/tutorials/authenticate-api-requests.md b/contrib/docs/tutorials/authenticate-api-requests.md index c14eaebb54..4c44c8ae65 100644 --- a/contrib/docs/tutorials/authenticate-api-requests.md +++ b/contrib/docs/tutorials/authenticate-api-requests.md @@ -8,6 +8,8 @@ API requests from frontend plugins include an authorization header with a Backst As techdocs HTML pages load assets without an Authorization header the code below also sets a token cookie when the user logs in (and when the token is about to expire). +## Old Backend System Setup + Create `packages/backend/src/authMiddleware.ts`: ```typescript @@ -122,6 +124,151 @@ async function main() { } ``` +## New Backend System Setup + +Create `packages/backend/src/authMiddlewareFactory.ts`: + +```typescript +import { HostDiscovery } from '@backstage/backend-app-api'; +import { ServerTokenManager } from '@backstage/backend-common'; +import { + LoggerService, + RootConfigService, +} from '@backstage/backend-plugin-api'; +import { + DefaultIdentityClient, + getBearerTokenFromAuthorizationHeader, +} from '@backstage/plugin-auth-node'; +import { NextFunction, Request, RequestHandler, Response } from 'express'; +import { decodeJwt } from 'jose'; +import lzstring from 'lz-string'; +import { URL } from 'url'; + +type AuthMiddlewareFactoryOptions = { + config: RootConfigService; + logger: LoggerService; +}; + +export const authMiddlewareFactory = ({ + config, + logger, +}: AuthMiddlewareFactoryOptions): RequestHandler => { + const baseUrl = config.getString('backend.baseUrl'); + const discovery = HostDiscovery.fromConfig(config); + const identity = DefaultIdentityClient.create({ discovery }); + const tokenManager = ServerTokenManager.fromConfig(config, { logger }); + + return async (req: Request, res: Response, next: NextFunction) => { + const fullPath = `${req.baseUrl}${req.path}`; + + // Only apply auth to /api routes & skip auth for the following endpoints + // Add any additional plugin routes you want to whitelist eg. events + const nonAuthWhitelist = ['app', 'auth']; + const nonAuthRegex = new RegExp( + `^\/api\/(${nonAuthWhitelist.join('|')})(?=\/|$)\S*`, + ); + if (!fullPath.startsWith('/api/') || nonAuthRegex.test(fullPath)) { + next(); + return; + } + + try { + // Token cookies are compressed to reduce size + const cookieToken = lzstring.decompressFromEncodedURIComponent( + req.cookies.token, + ); + const token = + getBearerTokenFromAuthorizationHeader(req.headers.authorization) ?? + cookieToken; + + try { + // Attempt to authenticate as a frontend request token + await identity.authenticate(token); + } catch (err) { + // Attempt to authenticate as a backend request token + await tokenManager.authenticate(token); + } + + if (!req.headers.authorization) { + // Authorization header may be forwarded by plugin requests + req.headers.authorization = `Bearer ${token}`; + } + + if (token !== cookieToken) { + try { + const payload = decodeJwt(token); + res.cookie('token', token, { + // Compress token to reduce cookie size + encode: lzstring.compressToEncodedURIComponent, + expires: new Date((payload?.exp ?? 0) * 1000), + secure: baseUrl.startsWith('https://'), + sameSite: 'lax', + domain: new URL(baseUrl).hostname, + path: '/', + httpOnly: true, + }); + } catch { + // Ignore + } + } + next(); + } catch { + res.status(401).send(`Unauthorized`); + } + }; +}; +``` + +Install cookie-parser: + +```bash +# From your Backstage root directory +yarn add --cwd packages/backend cookie-parser @types/cookie-parser +``` + +Create a custom configured `rootHttpRouterService` in `packages/backend/src/customRootHttpRouterService.ts`: + +```typescript +import { rootHttpRouterServiceFactory } from '@backstage/backend-app-api'; +import cookieParser from 'cookie-parser'; +import { authMiddlewareFactory } from './authMiddlewareFactory'; + +export default rootHttpRouterServiceFactory({ + configure: ({ app, config, logger, middleware, routes }) => { + app.use(middleware.helmet()); + app.use(middleware.cors()); + app.use(middleware.compression()); + app.use(cookieParser()); + app.use(middleware.logging()); + + app.use(authMiddlewareFactory({ config, logger })); + + // Simple handler to set auth cookie for user + app.use('/api/cookie', (_, res) => { + res.status(200).send(); + }); + + app.use(routes); + + app.use(middleware.notFound()); + app.use(middleware.error()); + }, +}); +``` + +Update `packages/backend/src/index.ts` to add the custom `rootHttpRouterService` and override the default: + +```typescript +// ... +const backend = createBackend(); + +backend.add(import('./customRootHttpRouterService')); + +// ... +``` + +## Frontend Setup + Create `packages/app/src/cookieAuth.ts`: ```typescript diff --git a/docs/assets/plugins/cloudbuild/CloudBuildPlugin.png b/docs/assets/plugins/cloudbuild/CloudBuildPlugin.png new file mode 100644 index 0000000000..3b347f0f68 Binary files /dev/null and b/docs/assets/plugins/cloudbuild/CloudBuildPlugin.png differ diff --git a/docs/auth/index.md b/docs/auth/index.md index 091c8b01a0..806cda0ff7 100644 --- a/docs/auth/index.md +++ b/docs/auth/index.md @@ -371,6 +371,7 @@ createApiFactory({ configApi, discoveryApi, oauthRequestApi, + provider: { id: 'ghe', title: 'GitHub Enterprise', icon: () => null }, defaultScopes: ['read:user'], environment: configApi.getOptionalString('auth.environment'), }), diff --git a/docs/auth/okta/provider.md b/docs/auth/okta/provider.md index e4fc8bfb45..99ff664a67 100644 --- a/docs/auth/okta/provider.md +++ b/docs/auth/okta/provider.md @@ -43,6 +43,8 @@ auth: audience: ${AUTH_OKTA_DOMAIN} authServerId: ${AUTH_OKTA_AUTH_SERVER_ID} # Optional idp: ${AUTH_OKTA_IDP} # Optional + # https://developer.okta.com/docs/reference/api/oidc/#scope-dependent-claims-not-always-returned + additionalScopes: ${AUTH_OKTA_ADDITIONAL_SCOPES} # Optional ``` The values referenced are found on the Application page on your Okta site. @@ -55,6 +57,8 @@ The values referenced are found on the Application page on your Okta site. - `authServerId`: The authorization server ID for the Application - `idp`: The identity provider for the application, e.g. `0oaulob4BFVa4zQvt0g3` +`additionalScopes` is an optional value, a string of space separated scopes, that will be combined with the default `scope` value of `openid profile email offline_access` to adjust the `scope` sent to Okta during OAuth. This will have an impact on [the dependent claims returned](https://developer.okta.com/docs/reference/api/oidc/#scope-dependent-claims-not-always-returned). For example, setting the `additionalScopes` value to `groups` will result in the claim returning a list of the groups that the user is a member of that also match the ID token group filter of the client app. + ## Adding the provider to the Backstage frontend To add the provider to the frontend, add the `oktaAuthApi` reference and diff --git a/docs/backend-system/architecture/05-extension-points.md b/docs/backend-system/architecture/05-extension-points.md index d8d993b5bf..e6eb0a9e16 100644 --- a/docs/backend-system/architecture/05-extension-points.md +++ b/docs/backend-system/architecture/05-extension-points.md @@ -70,7 +70,7 @@ Note that we create a closure that adds to a shared `actions` structure when `ad ## Module Extension Points -Just like plugins, modules can also provide their own extension points. The API for registering and using extension points is the same as for plugins. However, modules should typically only use extension points to allow for complex internal customizations by users of the plugin module. It is therefore preferred to export the extension point directly from the module package, rather than creating a separate node library for that purpose. +Just like plugins, modules can also provide their own extension points. The API for registering and using extension points is the same as for plugins. However, modules should typically only use extension points to allow for complex internal customizations by users of the plugin module. It is therefore preferred to export the extension point directly from the module package, rather than creating a separate node library for that purpose. Extension points exported by a module are used the same way as extension points exported by a plugin, you create your own separate module and declare a dependency on the extension point that you want to interact with. ## Extension Point Design diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index 1e30d0aa9e..98dde46d38 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/08-migrating.md @@ -262,6 +262,67 @@ 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. +#### Microsoft Graph + +Import the Microsoft Graph catalog 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-msgraph/alpha')); +/* highlight-add-end */ +``` + +If you were providng a `schedule` programtically, this now needs to be set via configuration + +```yaml title="app-config.yaml" +catalog: + providers: + microsoftGraphOrg: + provider: + /* highlight-add-start */ + schedule: + frequency: PT4H + timeout: PT30M + /* highlight-add-end */ + +``` + +If you were providing transformers, these can be configured by extending `microsoftGraphOrgEntityProviderTransformExtensionPoint` + +```ts title="packages/backend/src/index.ts" +import { createBackendModule } from '@backstage/backend-plugin-api'; +import { microsoftGraphOrgEntityProviderTransformExtensionPoint } from '@backstage/plugin-catalog-backend-module-msgraph/alpha'; + +backend.add( + createBackendModule({ + pluginId: 'catalog', + moduleId: 'microsoftGraphExtensions', + register(env) { + env.registerInit({ + deps: { + /* highlight-add-start */ + microsoftGraphTransformers: + microsoftGraphOrgEntityProviderTransformExtensionPoint, + /* highlight-add-end */ + }, + async init({ microsoftGraphTransformers }) { + /* highlight-add-start */ + microsoftGraphTransformers.setUserTransformer(myUserTransformer); + microsoftGraphTransformers.setGroupTransformer(myGroupTransformer); + microsoftGraphTransformers.setOrganizationTransformer( + myOrganizationTransformer, + ); + /* highlight-add-end */ + }, + }); + }, + }), +); +``` + +#### Other Catalog Extensions + You will use the [extension points](../architecture/05-extension-points.md) mechanism to extend or tweak the functionality of the plugin. To do that, you'll make your own bespoke [module](../architecture/06-modules.md) which 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 fed074b258..7d97694aec 100644 --- a/docs/backend-system/building-plugins-and-modules/01-index.md +++ b/docs/backend-system/building-plugins-and-modules/01-index.md @@ -72,12 +72,12 @@ items. ## Modules -Backend modules are used to extend [plugins](../architecture/04-plugins.md) with +Backend modules are used to extend [plugins](../architecture/04-plugins.md) or 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 +in the same backend instance as the plugin or module that they extend, and may only extend a single plugin and modules from that plugin at a time. +Modules interact with their target plugin or module using the [extension points](../architecture/05-extension-points.md) registered by the plugin, while also being -able to depend on the [services](../architecture/03-services.md) of that plugin. +able to depend on the [services](../architecture/03-services.md) of the target plugin. That last point is worth reiterating: injected `plugin` scoped services will be the exact same ones as the target plugin will receive later, i.e. they will be scoped @@ -88,6 +88,9 @@ package, for example `@backstage/plugin-catalog-node`, and does not directly declare a dependency on the plugin package itself. This is to avoid a direct dependency and potentially cause duplicate installations of the plugin package, while duplicate installations of library packages should always be supported. +Modules with extension points typically export their extension points from the same +package however, since the extension points are generally only intended for internal +customizations where package versions can be kept in sync. To create a Backend module, run `yarn new`, select `backend-module`, and fill out the rest of the prompts. This will create a new package at `plugins/-backend-module-`. diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md index 07e3a8a828..494e51320a 100644 --- a/docs/features/kubernetes/configuration.md +++ b/docs/features/kubernetes/configuration.md @@ -51,11 +51,13 @@ kubernetes: This configures how to determine which clusters a component is running in. -Currently, the only valid value is: +Valid values are: - `multiTenant` - This configuration assumes that all components run on all the provided clusters. +- `singleTenant` - This configuration assumes that current component run on one cluster in provided clusters. + ### `clusterLocatorMethods` This is an array used to determine where to retrieve cluster configuration from. @@ -577,6 +579,22 @@ for more info. 'backstage.io/kubernetes-label-selector': 'app=my-app,component=front-end' ``` +### Cluster Selection annotation + +This is applicable only for `singleTenant` serviceLocatorMethod. + +You can now select `single` kubernetes cluster that the entity is part-of from all your defined kubernetes clusters. To apply this use the following annotation. + +SingleTenant Cluster: + +```yaml +'backstage.io/kubernetes-cluster': dice-cluster +``` + +In the example above, we configured the "backstage.io/kubernetes-cluster" annotation on the entity `catalog-info.yaml` file to specify that the current component is running in a single cluster called "dice-cluster", so this cluster must have been specified in the `app-config.yaml`, under the Kubernetes clusters configuration (for more details, see [`Configuring Kubernetes clusters`](#configuring-kubernetes-clusters)). + +If you do not specify the annotation by `default Backstage fetches all` defined Kubernetes cluster. + [1]: https://cloud.google.com/kubernetes-engine [2]: https://cloud.google.com/docs/authentication/production#linux-or-macos [3]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ diff --git a/docs/features/software-catalog/configuration.md b/docs/features/software-catalog/configuration.md index 97c75a01ff..61366a91f7 100644 --- a/docs/features/software-catalog/configuration.md +++ b/docs/features/software-catalog/configuration.md @@ -46,7 +46,7 @@ action is logged for further investigation. ### Local File (`type: file`) Configurations -In addition to url locations, you can use the `file` location type to bring in content from the local file system. You should only use this for local development, test setups and example data, not for production data. +In addition to url locations, you can use the `file` location type to bring in content from the local file system. You should only use this for local development, test setups, and example data, not for production data. You are also not able to use placeholders in them like `$text`. You can however reference other files relative to the current file. See the full [catalog example data set here](https://github.com/backstage/backstage/tree/master/packages/catalog-model/examples) for an extensive example. Here is an example pulling in the `all.yaml` file from the examples folder. Note the use of `../../` to go up two levels from the current execution path of the backend. This is typically `packages/backend/`. @@ -61,7 +61,7 @@ catalog: ### Integration Processors Integrations may simply provide a mechanism to handle `url` location type for an -external provider, or they may also include additional processors out of the +external provider or they may also include additional processors out of the box, such as the GitHub [discovery](../../integrations/github/discovery.md) processor that scans a GitHub organization for [entity descriptor files](descriptor-format.md). @@ -78,10 +78,10 @@ Backstage's descriptor format. This is documented in ## Catalog Rules -By default the catalog will only allow ingestion of entities with the kind -`Component`, `API` and `Location`. In order to allow entities of other kinds to +By default, the catalog will only allow the ingestion of entities with the kind +`Component`, `API`, and `Location`. In order to allow entities of other kinds to be added, you need to add rules to the catalog. Rules are added either in a -separate `catalog.rules` key, or added to statically configured locations. +separate `catalog.rules` key or added to statically configured locations. For example, given the following configuration: @@ -99,7 +99,7 @@ catalog: We are able to add entities of kind `Component`, `API`, `Location`, or `Template` from any location, and `Group` entities from the `org-data.yaml`, -which will also be read as statically configured location. +which will also be read as a statically configured location. Note that if the `catalog.rules` key is present it will replace the default value, meaning that you need to add rules for the default kinds if you want @@ -115,10 +115,10 @@ catalog: ## Readonly mode -Processors provides a good way to automate ingestion of entities when combined +Processors provide a good way to automate the ingestion of entities when combined with [Static Location Configuration](#static-location-configuration) or a discovery processor like -[GitHub Discovery](../../integrations/github/discovery.md). To enforce usage of +[GitHub Discovery](../../integrations/github/discovery.md). To enforce the usage of processors to locate entities we can configure the catalog into `readonly` mode. This configuration disables registering and deleting locations with the catalog APIs. @@ -127,7 +127,7 @@ catalog: readonly: true ``` -> **Note that any plugin relying on the catalog API for creating, updating and +> **Note that any plugin relying on the catalog API for creating, updating, and > deleting entities will not work in this mode.** Deleting an entity by UUID, `DELETE /entities/by-uid/:uid`, is allowed when using this mode. It may be rediscovered as noted in [explicit deletion](life-of-an-entity.md#explicit-deletion). @@ -140,9 +140,9 @@ plugin. ## Clean up orphaned entities -In short entities can become orphaned through multiple means, such as when a catalog-info YAML file is moved from one place to another in the version control system without updating the registration in the catalog. For safety reasons the default behavior is to just tag the orphaned entities, and keep them around. You can read more about orphaned entities [here](life-of-an-entity.md#orphaning). +In short, entities can become orphaned through multiple means, such as when a catalog-info YAML file is moved from one place to another in the version control system without updating the registration in the catalog. For safety reasons, the default behavior is to just tag the orphaned entities, and keep them around. You can read more about orphaned entities [here](life-of-an-entity.md#orphaning). -However, if you do with to automatically remove the orphaned entities, you can use the following configuration, and everything with an orphaned entity tag will be eventually deleted. +However, if you do wish to automatically remove the orphaned entities, you can use the following configuration, and everything with an orphaned entity tag will be eventually deleted. ```yaml catalog: diff --git a/docs/features/software-templates/index.md b/docs/features/software-templates/index.md index c0f2e8a97e..aa650a9703 100644 --- a/docs/features/software-templates/index.md +++ b/docs/features/software-templates/index.md @@ -20,6 +20,11 @@ locations like GitHub or GitLab. > Be sure to have covered > [Getting Started with Backstage](../../getting-started) before proceeding. +> Note: if you're running Backstage with Node 20 or later, you'll need to pass the flag `--no-node-snapshot` to Node in order to +> use the templates feature. +> One way to do this is to specify the `NODE_OPTIONS` environment variable before starting Backstage: +> `export NODE_OPTIONS=--no-node-snapshot` + The Software Templates are available under `/create`. For local development you should be able to reach them at `http://localhost:3000/create`. diff --git a/docs/features/software-templates/migrating-to-rjsf-v5.md b/docs/features/software-templates/migrating-to-rjsf-v5.md new file mode 100644 index 0000000000..829aaf8410 --- /dev/null +++ b/docs/features/software-templates/migrating-to-rjsf-v5.md @@ -0,0 +1,135 @@ +--- +id: migrating-to-rjsf-v5 +title: 'Migrating to react-jsonschema-form@v5' +# prettier-ignore +description: Docs on migrating to `react-jsonschema-form`@v5 and the new designs +--- + +> Note: If you were previously using the `/alpha` imports to test out the `scaffolder/next` work, those imports have been promoted to the default exports from the respective packages. You should just have to remove the `/alpha` from the import path, and remove the `Next` from the import name. `NextScaffolderPage` -> `ScaffolderPage`, `createNextScaffolderFieldExtension` -> `createScaffolderFieldExtension` etc. + +## What's `react-jsonschema-form`? + +This library is core to the frontend part of the scaffolder plugin, and is responsible for rendering the form in which developers and end users fill out to meet the `jsonschema` requirement for the parameters section. + +Since the initial release of the `scaffolder` plugin, we we're on a pretty old version of `react-jsonschema-form` (v3), which has been pretty outdated as of late. The problem with us just bumping this library was that there are several breaking changes with the new v5 version, which we've tried pretty aggressively not to pass on to our end users for their templates and [Custom Field Extensions](https://backstage.io/docs/features/software-templates/writing-custom-field-extensions/). + +We're hoping that by duplicating the types from version 3 of `react-jsonschema-form` and making these the types that we will support even though the underlying library is v5, it should get us through all of the breaking changes without passing that down. + +## What's new? + +With that in mind, this release has `v5` of `react-jsonschema-form`, and with that comes all the new features and bugfixes in `v4` that we were waiting for - one of the main ones being the ability to use `if / then / else` syntax in the `template.yaml` definitions! 🎉 + +We've also rebuilt how validation works in the `scaffolder` components, which now means that we've opened the ability to have `async` validation functions in your `Field Extensions`. + +Some of the pages have gotten a little bit of an overhaul in terms of UI based on some research and feedback from the community and internally. + +- The `TemplateList` page has gotten some new `Card` components which show a little more information than the previous version with a little `material-ui` standards. +- The `WizardPage` has received some new updates with the stepper now running horizontally, and the `Review` step being a dedicated step in the stepper. +- The `OngoingTask` page now does not show the logs by default, and instead has a much cleaner interface for tracking the ongoing steps and the pipeline of actions that are currently showing. + - You can also now provide your own `OutputsComponent` which can be used to render the outputs from an ongoing / completed task in a way that suits your templates the best. For instance, if your template produces `Pull Requests`, it could be useful to render these in an interactive way where you can see the statuses of each of these `Pull Requests` in the `Ongoing Task` page. + +There's also a lot of bug fixes, and other things, but these are the main ones that we wanted to highlight. + +## How do I upgrade + +With the release of [`v1.20.0`](https://github.com/backstage/backstage/releases/tag/v1.20.0) these changes should have been made for you. We're hoping that it should be pretty transparent, and things just work as expected. Please reach out to us on [discord](https://discord.com/invite/MUpMjP2) or in a [issue](https://github.com/backstage/backstage/issues/new?assignees=&labels=bug&projects=&template=bug.yaml&title=%F0%9F%90%9B+Bug+Report%3A+%3Ctitle%3E) if you're having issues. + +It's possible that if you have a hard dependency on any of the `@rjsf/*` libraries in your app, you'll need to bump these manually to the version that we currently support: `5.13.6` at the time of writing. There could be breaking changes that you will have to fix here however, which we think should be pretty simple, but they're things like changing imports from `@rjsf/core` to `@rjsf/utils`. + +```ts +/* highlight-remove-next-line */ +import { FieldValidation } from '@rjsf/core'; +/* highlight-add-next-line */ +import { FieldValidation } from '@rjsf/utils; +``` + +## Escape hatch + +If for some reason the upgrade to [`v1.20.0`](https://github.com/backstage/backstage/releases/tag/v1.20.0) didn't go as planned, there's an escape hatch for use until the next mainline release in which we will try to get any issues fixed before removing the legacy code. + +We've moved some of the older exports to an `/alpha` export so you should be able switch to using the old library just in case. + +```tsx +/* highlight-remove-next-line */ +import { ScaffolderPage } from '@backstage/plugin-scaffolder'; +/* highlight-add-next-line */ +import { LegacyScaffolderPage } from '@backstage/plugin-scaffolder/alpha'; +``` + +And this API should be the exact same as the previous Router, so you should be able to make a change like the following further down in this file: + +```tsx + + entity?.metadata?.tags?.includes('recommended') ?? false, + }, + ]} + /> + } +> + + + {/* ... other extensions */} + + + + {/* ... other layouts */} + + +``` + +And you can also update any of your `CustomFieldExtensions` to use the old helper like so: + +```ts +/* highlight-remove-next-line */ +import { createScaffolderFieldExtension } from '@backstage/plugin-scaffolder'; +/* highlight-add-next-line */ +import { createLegacyScaffolderFieldExtension } from '@backstage/plugin-scaffolder-react/alpha'; + +export const EntityNamePickerFieldExtension = scaffolderPlugin.provide( + /* highlight-remove-next-line */ + createScaffolderFieldExtension({ + /* highlight-add-next-line */ + createLegacyScaffolderFieldExtension({ + component: EntityNamePicker, + name: 'EntityNamePicker', + validation: entityNamePickerValidation, + }), +); +``` + +And in the component themselves, you might have to do the following: + +```tsx +/* highlight-remove-next-line */ +import { FieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react'; +/* highlight-add-next-line */ +import { LegacyFieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react/alpha'; + +export const EntityNamePicker = ( + /* highlight-remove-next-line */ + props: FieldExtensionComponentProps, + /* highlight-add-next-line */ + props: LegacyFieldExtensionComponentProps, +) => { + const { + onChange, + required, + schema: { title = 'Name', description = 'Unique name of the component' }, + rawErrors, + formData, + idSchema, + placeholder, + } = props; + // .. +}; +``` diff --git a/docs/features/software-templates/testing-scaffolder-alpha.md b/docs/features/software-templates/testing-scaffolder-alpha.md deleted file mode 100644 index 02e579ef83..0000000000 --- a/docs/features/software-templates/testing-scaffolder-alpha.md +++ /dev/null @@ -1,276 +0,0 @@ ---- -id: testing-scaffolder-alpha -title: 'Experimental: Testing out the alpha Scaffolder plugin' -# prettier-ignore -description: Docs on the upcoming breaking release for the scaffolder plugin ---- - -## What's `scaffolder/next`? - -The `alpha` version, or as you might have seen referred to in other places the `scaffolder/next` release, is a new version of the `scaffolder` plugin that will be the first breaking change to the plugin, so you can also think of it as `@backstage/plugin-scaffolder@2.0.0`. -Its mostly a rewrite of a lot of the frontend components and pages that had very limited test coverage, which made adding new features to the `scaffolder` plugin quite hard, and we were lacking in confidence when making changes. - -There is of course some other things that have changed when re-writing this, which are essentially what has caused some breaking changes. -Now, this is not like previous scaffolder changes where you would have to change all of your templates as this is only the frontend plugin that is going to have breaking changes. You can read more about the [breaking changes](#breaking-changes) below. - -## What's new? - -First off, the main dependency that we have for the frontend which is responsible for rendering the `JSONSchema` into `material-ui` components is [react-jsonschema-form](https://github.com/rjsf-team/react-jsonschema-form). -This dependency in the current version of the plugin is 3.x.x, which is now 2 major versions out of date. Long story short, `v4` of this plugin contained some bug fixes, and new features but we we're unable to upgrade due to some issues with having support for `material-ui@v4`, so we had to wait for `v5` to be released, and because of the `FieldExtensions` and how they are very tightly coupled to the `react-jsonschema-form` library, we also wanted to make sure that this release was stable before getting people to migrate their `Field Extensions`. - -With that in mind, this release has `v5` of `react-jsonschema-form`, and with that comes all the new features and bugfixes in `v4` that we were waiting for - one of the main ones being the ability to use `if / then / else` syntax in the `template.yaml` definitions! 🎉 - -We've also rebuilt how validation works in the `scaffolder` components, which now means that we've opened the ability to have `async` validation functions in your `Field Extensions`. - -Some of the pages have gotten a little bit of an overhaul in terms of UI based on some research and feedback from the community and internally. - -- The `TemplateList` page has gotten some new `Card` components which show a little more information than the previous version with a little `material-ui` standards. -- The `WizardPage` has received some new updates with the stepper now running horizontally, and the `Review` step being a dedicated step in the stepper. -- The `OngoingTask` page now does not show the logs by default, and instead has a much cleaner interface for tracking the ongoing steps and the pipeline of actions that are currently showing. - - You can also now provide your own `OutputsComponent` which can be used to render the outputs from an ongoing / completed task in a way that suits your templates the best. For instance, if your template produces `Pull Requests`, it could be useful to render these in an interactive way where you can see the statuses of each of these `Pull Requests` in the `Ongoing Task` page. - -There's also a lot of bug fixes, and other things, but these are the main ones that we wanted to highlight. - -## How do I test out the `alpha` version? - -With the release of [`v1.11.0`](https://github.com/backstage/backstage/releases/tag/v1.11.0) it's now possible to run the `scaffolder/next` plugin and it be a drop in replacement for the current version that you use today. This means that you can start using the new code, and start testing it out. Once we have collected enough feedback, and squashed any bugs that might block us from releasing, it will be promoted from the `/alpha` exports and replace the existing code leading to breaking changes if you haven't already made these changes as part of this testing pilot. Those that have chosen to opt into this testing pilot means that once we promote it from the `/alpha` exports, you will need to update your code to point to the original exports from the `scaffolder` plugin, just like the code is today but with the [breaking changes](#breaking-changes) that you already made to your `Custom Field Extensions`. - -It's also worth calling out that if you do test this out, and find some issues or something not working out as expected, feel free to raise an issue in the [repo](https://github.com/backstage/backstage) or reach out to us on Discord! - -### Make the required changes to `App.tsx` - -The `ScaffolderPage` router has a completely different export for the `scaffolder/next` work, so you will want to change any import from the old `ScaffolderPage` to the new `NextScaffolderPage` - -```tsx -/* highlight-remove-next-line */ -import { ScaffolderPage } from '@backstage/plugin-scaffolder'; -/* highlight-add-next-line */ -import { NextScaffolderPage } from '@backstage/plugin-scaffolder/alpha'; -``` - -And this API should be the exact same as the previous Router, so you should be able to make a change like the following further down in this file: - -```tsx - - entity?.metadata?.tags?.includes('recommended') ?? false, - }, - ]} - /> - } -> - - - {/* ... other extensions */} - - - - {/* ... other layouts */} - - -``` - -Optionally, you can choose to run the two side by side by using `FeatureFlags` in your `App.tsx` if you wish, but, we would also recommend duplicating any `CustomFieldExtensions` too as the new `CustomFieldExtensions` might not be compatible with the old form. - -```tsx - - }> - - - - - - - }> - - - - - -``` - -You should then be able to enable the `scaffolder-next-preview` feature flag under `/settings/feature-flags` in Backstage. - -### Make the required changes to your `CustomFieldExtensions` - -There's differently named function for creating field extensions part of the `/alpha` exports as these are the ones that can contain breaking changes because of the breaking changes that have been applied in `react-jsonschema-form`. - -Let's take the following example: - -```ts -export const EntityNamePickerFieldExtension = scaffolderPlugin.provide( - createScaffolderFieldExtension({ - component: EntityNamePicker, - name: 'EntityNamePicker', - validation: entityNamePickerValidation, - schema: EntityNamePickerSchema, - }), -); -``` - -References for `createScaffolderFieldExtension` have an `/alpha` version of `createNextScaffolderFieldExtension`, which should be used instead. - -```ts -/* highlight-remove-next-line */ -import { createScaffolderFieldExtension } from '@backstage/plugin-scaffolder'; -/* highlight-add-next-line */ -import { createNextScaffolderFieldExtension } from '@backstage/plugin-scaffolder-react/alpha'; - -export const EntityNamePickerFieldExtension = scaffolderPlugin.provide( - /* highlight-remove-next-line */ - createScaffolderFieldExtension({ - /* highlight-add-next-line */ - createNextScaffolderFieldExtension({ - component: EntityNamePicker, - name: 'EntityNamePicker', - validation: entityNamePickerValidation, - }), -); -``` - -Once you've done this you will find that you will have two squiggly lines under the properties that are passed in. One for the component and one for the validation (if provided.) - -Let's take the following code for the `EntityNamePicker` component: - -```tsx -export const EntityNamePicker = ( - props: FieldExtensionComponentProps, -) => { - const { - onChange, - required, - schema: { title = 'Name', description = 'Unique name of the component' }, - rawErrors, - formData, - uiSchema: { 'ui:autofocus': autoFocus }, - idSchema, - placeholder, - } = props; - // .. -}; -``` - -There's another `/alpha` export that you need to replace `FieldExtensionComponentProps` with which is the `NextFieldExtensionComponentProps`. - -```tsx -/* highlight-remove-next-line */ -import { FieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react'; -/* highlight-add-next-line */ -import { NextFieldExtensionComponentProps } from '@backstage/plugin-scaffolder-react/alpha'; - -export const EntityNamePicker = ( - /* highlight-remove-next-line */ - props: FieldExtensionComponentProps, - /* highlight-add-next-line */ - props: NextFieldExtensionComponentProps, -) => { - const { - onChange, - required, - schema: { title = 'Name', description = 'Unique name of the component' }, - rawErrors, - formData, - /* highlight-remove-next-line */ - uiSchema: { 'ui:autofocus': autoFocus }, - /* highlight-add-next-line */ - uiSchema: { 'ui:autofocus': autoFocus } = {}, - idSchema, - placeholder, - } = props; - // .. -}; -``` - -You'll notice that there's an additional change here, which is that we're now defaulting the `uiSchema` to an empty object. This is because the `uiSchema` is now optional, and if you don't provide it, it will be `undefined` instead of an empty object. There's more around this in the [breaking changes](#breaking-changes) section. - -To fix the previous validation error, you will need to change the import for the `FieldValidation` type that is used in the `validation` function. - -Let's take the following example of the validation function: - -```ts -import { FieldValidation } from '@rjsf/utils'; -import { KubernetesValidatorFunctions } from '@backstage/catalog-model'; - -export const entityNamePickerValidation = ( - value: string, - validation: FieldValidation, -) => { - if (!KubernetesValidatorFunctions.isValidObjectName(value)) { - validation.addError( - 'Must start and end with an alphanumeric character, and contain only alphanumeric characters, hyphens, underscores, and periods. Maximum length is 63 characters.', - ); - } -}; -``` - -You will need to change the import for `FieldValidation` to point at the new `react-jsonschema-form` dependency. - -> Note: you will probably need to install this dependency too, by using `yarn add @rjsf/utils` in the package where you define these validation functions, this could also be in the `packages/app` folder, so you can install it there if needed. - -```ts -/* highlight-remove-next-line */ -import { FieldValidation } from '@rjsf/core'; -/* highlight-add-next-line */ -import { FieldValidation } from '@rjsf/utils; -import { KubernetesValidatorFunctions } from '@backstage/catalog-model'; - -export const entityNamePickerValidation = ( - value: string, - validation: FieldValidation, -) => { -``` - -## Breaking Changes - -Once we fully release the code that is in the `/alpha` exports right now onto the current API and release v2.0.0 of `@backstage/plugin-scaffolder` the breaking changes will be as follows: - -### `uiSchema` is now optional - -Later releases of `react-jsonschema-form` have made the `uiSchema` optional, and if you don't provide it, it will be `undefined` instead of an empty object. This means that you will need to make sure that you're defaulting the `uiSchema` to an empty object if you're using it in your code. - -```tsx -const { - onChange, - required, - schema: { title = 'Name', description = 'Unique name of the component' }, - rawErrors, - formData, - /* highlight-remove-next-line */ - uiSchema: { 'ui:autofocus': autoFocus }, - /* highlight-add-next-line */ - uiSchema: { 'ui:autofocus': autoFocus } = {}, - idSchema, - placeholder, -} = props; -// .. -``` - -### `formData` can also be `undefined` - -If you were using the `formData` and assuming that it was set to an empty object when building `Field Extensions` that return objects, then this will be `undefined` now due to a change in the `react-jsonschema-form` library. - -```tsx -const { - onChange, - required, - schema: { title = 'Name', description = 'Unique name of the component' }, - rawErrors, - /* highlight-remove-next-line */ - formData, - /* highlight-add-next-line */ - formData = {}, // or maybe some other default value that you would prefer - uiSchema: { 'ui:autofocus': autoFocus } = {}, - idSchema, - placeholder, -} = props; -// .. -``` diff --git a/docs/features/techdocs/README.md b/docs/features/techdocs/README.md index 3251451cce..c6e1fd42ad 100644 --- a/docs/features/techdocs/README.md +++ b/docs/features/techdocs/README.md @@ -68,6 +68,7 @@ See [TechDocs Architecture](architecture.md) to get an overview of where the bel | Gerrit | Yes ✅ | | GitLab | Yes ✅ | | GitLab Enterprise | Yes ✅ | +| Gitea | Yes ✅ | ### File storage providers diff --git a/docs/integrations/azure/org.md b/docs/integrations/azure/org.md index c4968b0399..061baf7301 100644 --- a/docs/integrations/azure/org.md +++ b/docs/integrations/azure/org.md @@ -34,6 +34,9 @@ catalog: securityEnabled eq false and mailEnabled eq true and groupTypes/any(c:c+eq+'Unified') + schedule: + frequency: PT1H + timeout: PT50M ``` Finally, register the plugin in `catalog.ts`. @@ -52,11 +55,7 @@ export default async function createPlugin( builder.addEntityProvider( MicrosoftGraphOrgEntityProvider.fromConfig(env.config, { logger: env.logger, - schedule: env.scheduler.createScheduledTaskRunner({ - frequency: { hours: 1 }, - timeout: { minutes: 50 }, - initialDelay: { seconds: 15 }, - }), + scheduler: env.scheduler, }), ); /* highlight-add-end */ diff --git a/docs/releases/v1.20.0-changelog.md b/docs/releases/v1.20.0-changelog.md new file mode 100644 index 0000000000..6df613ac77 --- /dev/null +++ b/docs/releases/v1.20.0-changelog.md @@ -0,0 +1,3723 @@ +# Release v1.20.0 + +## @backstage/backend-openapi-utils@0.1.0 + +### Minor Changes + +- 785fb1ea75: Adds a new route, `/openapi.json` to validated routers for displaying their full OpenAPI spec in a standard endpoint. + +### Patch Changes + +- 6694b369a3: Adds a new function `wrapInOpenApiTestServer` that allows for proxied requests at runtime. This will support the new `yarn backstage-repo-tools schema openapi test` command. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/cli@0.24.0 + +### Minor Changes + +- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead. +- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`. + +### Patch Changes + +- 4ba4ac351f: Switch from using deprecated `@esbuild-kit/*` packages to using `tsx`. This also switches to using the new module loader `register` API when available, avoiding the experimental warning when starting backends. +- cd80ebb062: Updated dependency `vite-plugin-node-polyfills` to `^0.16.0`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 971dcba764: Updated dependency `@typescript-eslint/eslint-plugin` to `6.10.0`. +- 6bf7561d3c: The experimental package detection will now ignore packages that don't make `package.json` available. +- e14cbf563d: Added `EXPERIMENTAL_VITE` flag for using [vite](https://vitejs.dev) as dev server instead of Webpack +- 7cd34392f5: Ignore `stdin` when spawning backend child process for the `start` command. Fixing an issue where backend startup would hang. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/cli-node@0.2.0 + - @backstage/integration@1.7.2 + - @backstage/release-manifests@0.0.11 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.3 + - @backstage/types@1.1.1 + +## @backstage/cli-node@0.2.0 + +### Minor Changes + +- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/core-plugin-api@1.8.0 + +### Minor Changes + +- 1e5b7d993a: `IconComponent` can now have a `fontSize` of `inherit`, which is useful for in-line icons. +- cb6db75bc2: Introduced `AnyRouteRefParams` as a replacement for `AnyParams`, which is now deprecated. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- cb6db75bc2: Deprecated several types related to the routing system that are scheduled to be removed, as well as several fields on the route ref types themselves. +- 68fc9dc60e: Added a new `/alpha` export `convertLegacyRouteRef`, which is a temporary utility to allow existing route refs to be used with the new experimental packages. +- Updated dependencies + - @backstage/version-bridge@1.0.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/frontend-app-api@0.3.0 + +### Minor Changes + +- 68fc9dc60e: Added the ability to configure bound routes through `app.routes.bindings`. The routing system used by `createApp` has been replaced by one that only supports route refs of the new format from `@backstage/frontend-plugin-api`. The requirement for route refs to have the same ID as their associated extension has been removed. + +### Patch Changes + +- e28d379e32: Refactor internal extension instance system into an app graph. +- fdc348d5d3: The options parameter of `createApp` is now optional. +- 6c2b872153: Add official support for React 18. +- dc613f9bcf: Updated `app.extensions` configuration schema. +- 733bd95746: Implement new `AppTreeApi` +- 685a4c8901: Installed features are now deduplicated both by reference and ID when available. Features passed to `createApp` now override both discovered and loaded features. +- fa28d4e6df: No longer throw error on invalid input if the child is disabled. +- bb98953cb9: Register default implementation for the `Translation API` on the new `createApp`. +- fe6d09953d: Fix for app node output IDs not being serialized correctly. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- 4d6fa921db: Internal refactor to rename the app graph to app tree +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/frontend-plugin-api@0.3.0 + +### Minor Changes + +- 68fc9dc60e: Added `RouteRef`, `SubRouteRef`, `ExternalRouteRef`, and related types. All exports from this package that previously relied on the types with the same name from `@backstage/core-plugin-api` now use the new types instead. To convert and existing legacy route ref to be compatible with the APIs from this package, use the `convertLegacyRouteRef` utility from `@backstage/core-plugin-api/alpha`. +- 77f009b35d: Extensions now return their output from the factory function rather than calling `bind(...)`. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 733bd95746: Add new `AppTreeApi`. +- 6af88a05ff: Improve the extension boundary component and create a default extension suspense component. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/types@1.1.1 + +## @backstage/repo-tools@0.4.0 + +### Minor Changes + +- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`. +- 6694b369a3: Adds a new command `schema openapi test` that performs runtime validation of your OpenAPI specs using your test data. Under the hood, we're using Optic to perform this check, really cool work by them! + + To use this new command, you will have to run `yarn add @useoptic/optic` in the root of your repo. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## @techdocs/cli@1.7.0 + +### Minor Changes + +- 8600b86820: validate Docker status before running mkdocs server + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-node@1.10.0 + - @backstage/backend-common@0.19.9 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + +## @backstage/plugin-api-docs@0.10.0 + +### Minor Changes + +- 0ac0e10822: Replace GraphiQL playground with DocExplorer +- 62310404b7: Define a default for oauth2RedirectUrl option of swagger-ui-react to match documentation + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 613a55911f: Updated dependency `graphiql` to `3.0.9`. +- 4ad15278e6: Updated dependency `@graphiql/react` to `^0.20.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-auth-backend@0.20.0 + +### Minor Changes + +- bdf08ad04a: Adds the StaticTokenIssuer and StaticKeyStore, an alternative token issuer that can be used to sign the Authorization header using a predefined public/private key pair. + +### Patch Changes + +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- f2fc5acca6: Added an optional `additionalScopes` configuration parameter to `okta` providers, that lets you add additional scopes on top of the default ones. +- 96c4f54bf6: Reverted the Microsoft auth provider to the previous implementation. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.4 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @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-google-provider@0.1.4 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.4 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-catalog@1.15.0 + +### Minor Changes + +- 1e5b7d993a: Added the `DefaultEntityPresentationApi`, which is an implementation of the + `EntityPresentationApi` that `@backstage/plugin-catalog-react` exposes through + its `entityPresentationApiRef`. This implementation is also by default made + available automatically by the catalog plugin, unless you replace it with a + custom one. It batch fetches and caches data from the catalog as needed for + display, and is customizable by adopters to add their own rendering functions. + +### Patch Changes + +- eb817ee6d4: Fix spacing inconsistency with links and labels in headers + +- 8a8445663b: Migrate catalog entity cards to new frontend system extension format. + +- e964c17db9: Use default extensions boundary and suspense on the alpha declarative `createCatalogFilterExtension` extension factory. + +- 71c97e7d73: The \`spec.lifecycle' field in entities will now always be rendered as a string. + +- 6c2b872153: Add official support for React 18. + +- 0bf6ebda88: Initial entity page implementation for new frontend system at `/alpha`, with an overview page enabled by default and the about card available as an optional card. + +- bb98953cb9: Create declarative extensions for the `Catalog` plugin; this initial plugin preset contains sidebar item, index page and filter extensions, all distributed via `/alpha` subpath. + + The `EntityPage` will be migrated in a follow-up patch. + +- 7c265b9758: Fix type error on `CatalogTable` when using Material UI v5 + +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons + +- 62b5922916: Internal theme type updates + +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. + +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-catalog-backend@1.15.0 + +### Minor Changes + +- e5bf3749ad: Support adding location analyzers in new catalog analysis extension point and move `AnalyzeOptions` and `ScmLocationAnalyzer` types to `@backstage/plugin-catalog-node` +- 8d756968f9: Introduce a new optional config parameter `catalog.stitchingStrategy.mode`, + which can have the values `'immediate'` (default) and `'deferred'`. The default + is for stitching to work as it did before this change, which means that it + happens "in-band" (blocking) immediately when each processing task finishes. + When set to `'deferred'`, stitching is instead deferred to happen on a separate + asynchronous worker queue just like processing. + + Deferred stitching should make performance smoother when ingesting large amounts + of entities, and reduce p99 processing times and repeated over-stitching of + hot spot entities when fan-out/fan-in in terms of relations is very large. It + does however also come with some performance cost due to the queuing with how + much wall-clock time some types of task take. + +### Patch Changes + +- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`. +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @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.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.0 + +### Minor Changes + +- 785fb1ea75: Adds a new catalog module for ingesting Backstage plugin OpenAPI specs into the catalog for display as an API entity. + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-graph@0.3.0 + +### Minor Changes + +- a604623324: Add the entire `Entity` to `EntityNodeData` and deprecate `name`, `kind`, `title`, `namespace` and `spec`. + + To get the deprecated properties in your custom component you can use: + + ```typescript + import { DEFAULT_NAMESPACE } from '@backstage/catalog-model'; + + const { + kind, + metadata: { name, namespace = DEFAULT_NAMESPACE, title }, + } = entity; + ``` + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-node@1.5.0 + +### Minor Changes + +- e5bf3749ad: Support adding location analyzers in new catalog analysis extension point and move `AnalyzeOptions` and `ScmLocationAnalyzer` types to `@backstage/plugin-catalog-node` + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-catalog-react@1.9.0 + +### Minor Changes + +- 1e5b7d993a: Added an `EntityPresentationApi` and associated `entityPresentationApiRef`. This + API lets you control how references to entities (e.g. in links, headings, + iconography etc) are represented in the user interface. + + Usage of this API is initially added to the `EntityRefLink` and `EntityRefLinks` + components, so that they can render richer, more correct representation of + entity refs. There's also a new `EntityDisplayName` component, which works just like + the `EntityRefLink` but without the link. + + Along with that change, the `fetchEntities` and `getTitle` props of + `EntityRefLinksProps` are deprecated and no longer used, since the same need + instead is fulfilled (and by default always enabled) by the + `entityPresentationApiRef`. + +- 1fd53fa0c6: The `UserListPicker` component has undergone improvements to enhance its performance. + + The previous implementation inferred the number of owned and starred entities based on the entities available in the `EntityListContext`. The updated version no longer relies on the `EntityListContext` for inference, allowing for better decoupling. + + The component now loads the entities' count asynchronously, resulting in improved performance and responsiveness. For this purpose, some of the exported filters such as `EntityTagFilter`, `EntityOwnerFilter`, `EntityLifecycleFilter` and `EntityNamespaceFilter` have now the `getCatalogFilters` method implemented. + +### Patch Changes + +- 2ad1bacef7: Add EntityRef to Entity Inspector UI +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- 0bf6ebda88: Added new APIs at the `/alpha` subpath for creating entity page cards and content for the new frontend system. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- 71c97e7d73: The `spec.type` field in entities will now always be rendered as a string. +- 69c14904b6: Move the `EntityRefLink` icon to the left hand side as per Material-UI guidelines +- 000dcd01af: Removed unnecessary `@backstage/integration` dependency, replaced by `@backstage/integration-react`. +- 6c357184e2: Export `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-graphiql@0.3.0 + +### Minor Changes + +- 57fda44b90: Upgrade to GraphiQL to 3.0.6 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-playlist@0.2.0 + +### Minor Changes + +- f0e2ef3b81: Support being able to define custom composable Playlist index pages + + **BREAKING** The individual `PlaylistPage` route must now be manually hooked up by making the following change to your setup: + + ```diff + -import { PlaylistIndexPage } from '@backstage/plugin-playlist'; + +import { PlaylistIndexPage, PlaylistPage } from '@backstage/plugin-playlist'; + + // ... + + } /> + +} /> + ``` + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-playlist-common@0.1.12 + +## @backstage/plugin-scaffolder@1.16.0 + +### Minor Changes + +- f28c11743a: Add a possibility to use a formatter on a warning panel. Applied it for a scaffolder template +- 3fdffbb699: Release design improvements for the `Scaffolder` plugin and support v5 of `@rjsf/*` libraries. + + This change should be non-breaking. If you're seeing typescript issues after migrating please [open an issue](https://github.com/backstage/backstage/issues/new/choose) + + The `next` versions like `createNextFieldExtension` and `NextScaffolderPage` have been promoted to the public interface under `createScaffolderFieldExtension` and `ScaffolderPage`, so any older imports which are no longer found will need updating from `@backstage/plugin-scaffolder/alpha` or `@backstage/plugin-scaffolder-react/alpha` will need to be imported from `@backstage/plugin-scaffolder` and `@backstage/plugin-scaffolder-react` respectively. + + The legacy versions are now available in `/alpha` under `createLegacyFieldExtension` and `LegacyScaffolderPage` if you're running into issues, but be aware that these will be removed in a next mainline release. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 26e4d916d5: Title and description in RepoUrlPicker are now correctly displayed. +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @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.18 + +## @backstage/plugin-scaffolder-backend@1.19.0 + +### Minor Changes + +- f3ab9cfcb7: Made shut down stale tasks configurable. + + There are two properties exposed: + + - `scaffolder.processingInterval` - sets the processing interval for staled tasks. + - `scaffolder.taskTimeoutJanitorFrequency` - sets the task's heartbeat timeout, when to consider a task to be staled. + +- 7d5a921114: Allow using `globby`'s negative matching with `copyWithoutTemplating`/`copyWithoutRender`. This allows including an entire subdirectory while excluding a single file so that it will still be templated instead of needing to list every other file and ensure the list is updated when new files are added. + +- 5e4127c18e: Allow setting `update: true` in `publish:github:pull-request` scaffolder action + +### Patch Changes + +- 0920fd02ac: Add examples for `github:environment:create` scaffolder action & improve related tests +- ae30a9ae8c: Added description for publish:gerrit scaffolder actions +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 23f72b2cba: Refactoring the runner to generate minimally informative task log per iteration and properly validate iterated actions. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- 99d4936f6c: Add examples for `github:webhook` scaffolder action & improve related tests +- 2be3922eb8: Add examples for `github:deployKey:create` scaffolder action & improve related tests +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- f8727ad228: Add examples for `publish:github:pull-request` scaffolder action & improve related tests +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @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.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-scaffolder-react@1.6.0 + +### Minor Changes + +- 3fdffbb699: Release design improvements for the `Scaffolder` plugin and support v5 of `@rjsf/*` libraries. + + This change should be non-breaking. If you're seeing typescript issues after migrating please [open an issue](https://github.com/backstage/backstage/issues/new/choose) + + The `next` versions like `createNextFieldExtension` and `NextScaffolderPage` have been promoted to the public interface under `createScaffolderFieldExtension` and `ScaffolderPage`, so any older imports which are no longer found will need updating from `@backstage/plugin-scaffolder/alpha` or `@backstage/plugin-scaffolder-react/alpha` will need to be imported from `@backstage/plugin-scaffolder` and `@backstage/plugin-scaffolder-react` respectively. + + The legacy versions are now available in `/alpha` under `createLegacyFieldExtension` and `LegacyScaffolderPage` if you're running into issues, but be aware that these will be removed in a next mainline release. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 171a99816b: Fixed `backstage:featureFlag` in `scaffolder/next` by sorting out `manifest.steps`. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons +- 62b5922916: Internal theme type updates +- dda56ae265: Preserve step's time execution for a non-running task. +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.0 + +### Minor Changes + +- 46f0f1700e: Extract a package for the Stack Overflow new backend system plugin. + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-techdocs@1.9.0 + +### Minor Changes + +- 17f93d5589: A new analytics event `not-found` will be published when a user visits a documentation site that does not exist + +### Patch Changes + +- 4728b3960d: Fixed navigation bug that caused users to not be scrolled to the top of a new page. Fixed navigation bug where using backwards and forwards browser navigation did not scroll users to the correct place on the TechDoc page. +- a3add7a682: Export alpha routes and nav item extension, only available for applications that uses the new Frontend system. +- 71c97e7d73: The \`spec.lifecycle' field in entities will now always be rendered as a string. +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 0bf6ebda88: Added entity page content for the new plugin exported via `/alpha`. +- 67cc85bb14: Switched the conditional `react-dom/client` import to use `import(...)` rather than `require(...)`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 38cda52746: Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-techdocs-backend@1.9.0 + +### Minor Changes + +- 67cff7b06f: Expose an extension point to set a custom build strategy. Also move `DocsBuildStrategy` type to `@backstage/plugin-techdocs-node` and deprecate `ShouldBuildParameters` type. + +### Patch Changes + +- c3c5c7e514: Add info about the entity when tech docs fail to build +- 48a61bfdca: Fix potential memory leak by not creating a build log transport if not given via `RouterOptions`. +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-techdocs-node@1.10.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-techdocs-node@1.10.0 + +### Minor Changes + +- 67cff7b06f: Expose an extension point to set a custom build strategy. Also move `DocsBuildStrategy` type to `@backstage/plugin-techdocs-node` and deprecate `ShouldBuildParameters` type. + +### Patch Changes + +- e61a975f61: Switch to `@smithy/node-http-handler` instead of the `@aws-sdk/node-http-handler` +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-vault-backend@0.4.0 + +### Minor Changes + +- a873a32a1f: Added support for the [new backend system](https://backstage.io/docs/backend-system/). + + In your `packages/backend/src/index.ts` make the following changes: + + ```diff + import { createBackend } from '@backstage/backend-defaults'; + const backend = createBackend(); + // ... other feature additions + + backend.add(import('@backstage/plugin-vault-backend'); + backend.start(); + ``` + + If you use the new backend system, the token renewal task can be defined via configuration file: + + ```diff + vault: + baseUrl: + token: + schedule: + + frequency: ... + + timeout: ... + + # Other schedule options, such as scope or initialDelay + ``` + + If the `schedule` is omitted or set to `false` no token renewal task will be scheduled. + If the value of `schedule` is set to `true` the renew will be scheduled hourly (the default). + In other cases (like in the diff above), the defined schedule will be used. + + **DEPRECATIONS**: The interface `VaultApi` and the type `VaultSecret` are now deprecated. Import them from `@backstage/plugin-vault-node`. + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-vault-node@0.1.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-vault-node@0.1.0 + +### Minor Changes + +- 7a41bcf2af: Initial version of the \`plugin-vault-node\`\` package. It contains the extension point definitions + for the vault backend, as well as some types that will be deprecated in the backend plugin. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + +## @backstage/app-defaults@1.4.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + +## @backstage/backend-app-api@0.5.8 + +### Patch Changes + +- bc9a18d5ec: Added a workaround for double `default` wrapping when dynamically importing CommonJS modules with default exports. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/cli-node@0.2.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/backend-common@0.19.9 + +### Patch Changes + +- aa13482090: Limit the database creation concurrency to one, defensively +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/integration@1.7.2 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/backend-app-api@0.5.8 + - @backstage/backend-dev-utils@0.1.2 + - @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.7 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-app-api@0.5.8 + +## @backstage/backend-plugin-api@0.6.7 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/backend-tasks@0.5.12 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/backend-test-utils@0.2.8 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- bb688f7b3b: Ensure recursive deletion of temporary directories in tests +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-app-api@0.5.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/catalog-client@1.4.6 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/config-loader@1.5.3 + +### Patch Changes + +- 22ca64f117: Correctly resolve config targets into absolute paths +- 087bab5b42: Updated dependency `typescript-json-schema` to `^0.62.0`. +- 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-app-api@1.11.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 89d13e5618: Add current and default scopes when refreshing session +- 9ab0572217: Add component data `core.type` marker for `AppRouter` and `FlatRoutes`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/core-components@0.13.8 + +### Patch Changes + +- 81c8db2088: Fix `RoutedTabs` so that it does not explode without tabs. + +- eb817ee6d4: Fix spacing inconsistency with links and labels in headers + +- f28c11743a: Add a possibility to use a formatter on a warning panel. Applied it for a scaffolder template + +- 6c2b872153: Add official support for React 18. + +- e07570a740: Fixed an issue causing the `Select` component to show empty chips when some of the selected values did not match any item + +- 7bdc1b0a12: Fixed compatibility with Safari <16.3 by eliminating RegEx lookbehind in `extractInitials`. + + This PR also changed how initials are generated resulting in _John Jonathan Doe_ => _JD_ instead of _JJ_. + +- 66071b42c0: Make the `options.titleFormat` prop of `` apply to all keys including nested ones. Previously, this option would only apply to the root keys of the `metadata` prop. + + Document and improve the props of ``. Previously, the `options` prop was `any`. + +- 71c97e7d73: Fixed the type declaration of `DependencyGraphProps`, the `defs` prop now expects `JSX.Element`s. + +- 0c5b78650c: Reverting the `MissingAnnotationEmptyState` component due to cyclical dependency. This component is now deprecated, please use the import from `@backstage/plugin-catalog-react` instead to use the new functionality + +- 4b7d341746: Updated dependency `linkify-react` to `4.1.2`. + +- 0ef24425c1: Updated dependency `linkifyjs` to `4.1.2`. + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. + +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/create-app@0.5.7 + +### Patch Changes + +- 770763487a: Cleaned up cases where deprecated code was being used but had a new location they should be imported from + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. + + You can do the same in your own Backstage repository to ensure that you get future node 18+ relevant updates, by having the following lines in your `packages/backend/package.json`: + + "dependencies": { + // ... + "knex": "^3.0.0" + }, + "devDependencies": { + // ... + "better-sqlite3": "^9.0.0", + +- f577e1176f: Bumped create-app version. + +- 6c2b872153: Add official support for React 18. + +- ae1602e54d: If create app installs dependencies, don't suggest to user that they also need to do it. + +- e6b7ab8d2b: Added missing node-gyp dependency to fix Docker image build + +- Updated dependencies + - @backstage/cli-common@0.1.13 + +## @backstage/dev-utils@1.0.23 + +### Patch Changes + +- 67cc85bb14: Switched the conditional `react-dom/client` import to use `import(...)` rather than `require(...)`. +- 38cda52746: Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/integration@1.7.2 + +### Patch Changes + +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + +## @backstage/integration-aws-node@0.1.8 + +### Patch Changes + +- 20d97d28a3: Updated dependency `aws-sdk-client-mock-jest` to `^3.0.0`. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/integration-react@1.1.21 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/config@1.1.1 + +## @backstage/release-manifests@0.0.11 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. + +## @backstage/test-utils@1.4.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/theme@0.4.4 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + +## @backstage/version-bridge@1.0.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + +## @backstage/plugin-adr@0.6.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-adr-common@0.2.17 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-adr-backend@0.4.4 + +### Patch Changes + +- 68f8a55622: Updated dependency `@types/marked` to `^5.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.17 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-adr-common@0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-airbrake@0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + - @backstage/dev-utils@1.0.23 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-airbrake-backend@0.3.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + +## @backstage/plugin-allure@0.1.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-analytics-module-ga@0.1.35 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-ga4@0.1.6 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 504614d313: Updated dependency `@types/jest` to `^29.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + +## @backstage/plugin-analytics-module-newrelic-browser@0.0.4 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/config@1.1.1 + +## @backstage/plugin-apache-airflow@0.2.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + +## @backstage/plugin-api-docs-module-protoc-gen-doc@0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + +## @backstage/plugin-apollo-explorer@0.1.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-app-backend@0.3.55 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.7 + +## @backstage/plugin-app-node@0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + +## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.2.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-github-provider@0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.4 + +### Patch Changes + +- a3236ad0ca: Fix link to the repository in `README.md`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-google-provider@0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-microsoft-provider@0.1.2 + +### Patch Changes + +- a3236ad0ca: Fix link to the repository in `README.md`. + +- 3979524c74: Added support for specifying a domain hint on the Microsoft authentication provider configuration. + +- fde212dd10: Re-add the missing profile photo + as well as access token retrieval for foreign scopes. + + Additionally, we switch from previously 48x48 to 96x96 + which is the size used at the profile card. + +- 5aeb14f035: Correctly mark the client secret in configuration as secret + +- 2817115d09: Removed `prompt=consent` from start method to fix #20641 + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-backend-module-pinniped-provider@0.1.1 + +### Patch Changes + +- a8f6afda4a: Introduced metadata cache for the `pinniped` provider. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-auth-node@0.4.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-azure-devops@0.3.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- ce9e59cbb3: Refactored the error handling for some of the hooks +- 361bb34d8e: Consolidated getting the annotation values into a single function to help with future changes +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.1 + +## @backstage/plugin-azure-devops-backend@0.4.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-devops-common@0.3.1 + +## @backstage/plugin-azure-sites@0.1.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-azure-sites-backend@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + +## @backstage/plugin-badges@0.2.50 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-badges-backend@0.3.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-bazaar@0.2.18 + +### Patch Changes + +- c6e7940ccf: Updated Readme document in bazaar plugin +- 4e66e37bd1: Added alert popup for link and unlink entity in bazaar project +- c5aad900e3: Adding descending sort in a bazaar plugin +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- b3acba9091: Added alert popup in the bazaar plugin +- 1a40159acb: Removed unnecessary dependency on `@backstage/cli`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-bazaar-backend@0.3.5 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-bitbucket-cloud-common@0.2.14 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + +## @backstage/plugin-bitrise@0.1.53 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-catalog-backend-module-aws@0.3.1 + +### Patch Changes + +- 20d97d28a3: Updated dependency `aws-sdk-client-mock-jest` to `^3.0.0`. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/integration-aws-node@0.1.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.18 + +## @backstage/plugin-catalog-backend-module-azure@0.1.26 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @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.18 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-bitbucket-cloud-common@0.2.14 + - @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.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-bitbucket-cloud-common@0.2.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.20 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-gcp@0.1.7 + +### Patch Changes + +- 62180df4ee: Allow integration with kubernetes dashboard +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.23 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-catalog-backend-module-github@0.4.5 + +### Patch Changes + +- 88b673aa76: Import `AnalyzeOptions` and `ScmLocationAnalyzer` types from `@backstage/plugin-catalog-node` +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-catalog-backend-module-github-org@0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-catalog-backend-module-github@0.4.5 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-gitlab@0.3.4 + +### Patch Changes + +- d732f17610: Added try catch around fetching gitlab group users to prevent refresh from failing completely while only a select number of groups might not be able to load correctly. +- 0873a43ac1: Resolved a bug affecting the retrieval of users from group members. By appending '/all' to the API call, we now include members from all inherited groups, as per Gitlab's API specifications. This change is reflected in the listSaaSUsers function. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.11 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-tasks@0.5.12 + - @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.18 + +## @backstage/plugin-catalog-backend-module-msgraph@0.5.14 + +### Patch Changes + +- 224aa6f64c: export the function to read ms graph provider config +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-catalog-backend-module-puppetdb@0.1.12 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @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.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-catalog-backend-module-unprocessed@0.3.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-catalog-common@1.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-catalog-graphql@0.4.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-catalog-import@0.10.2 + +### Patch Changes + +- 6db75b900a: Create an experimental plugin that is compatible with the declarative integration system, it is exported from the `/alpha` subpath. +- 6c2b872153: Add official support for React 18. +- dee1f39fcc: Fix missing children key warning on the default catalog import page. +- 71c97e7d73: The `app.title` configuration is now properly required to be a string. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-catalog-unprocessed-entities@0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- a11cdb9200: Added filtering and sorting to unprocessed entities tables. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-cicd-statistics@0.1.28 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.22 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-cicd-statistics@0.1.28 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-circleci@0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-cloudbuild@0.3.26 + +### Patch Changes + +- 8ae07cab4c: Added Installation Steps so that it is clear what is needed to install and use the Google Cloud Plugin. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-code-climate@0.1.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-code-coverage@0.2.19 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 71c97e7d73: The warning for missing code coverage will now render the entity as a reference. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-code-coverage-backend@0.2.21 + +### Patch Changes + +- 11f671eaa9: Added support for new backend system +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-codescene@0.1.19 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-config-schema@0.1.47 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-cost-insights@0.12.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- d49cffaf6a: Updated dependency `@types/pluralize` to `^0.0.33`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 7da799d5b7: Updated dependency `@types/pluralize` to `^0.0.32`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-cost-insights-common@0.1.2 + +## @backstage/plugin-devtools@0.1.6 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.6 + +## @backstage/plugin-devtools-backend@0.2.4 + +### Patch Changes + +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-devtools-common@0.1.6 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-devtools-common@0.1.6 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/types@1.1.1 + +## @backstage/plugin-dynatrace@8.0.0 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-entity-feedback@0.2.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-feedback-backend@0.2.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + +## @backstage/plugin-entity-validation@0.1.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-events-backend@0.2.16 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-aws-sqs@0.2.10 + +### Patch Changes + +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-azure@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-gerrit@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-github@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-module-gitlab@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-backend-test-utils@0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.16 + +## @backstage/plugin-events-node@0.2.16 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + +## @backstage/plugin-explore@0.4.12 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-explore-react@0.0.33 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-explore-backend@0.0.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-explore-react@0.0.33 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-explore-common@0.0.2 + +## @backstage/plugin-firehydrant@0.2.10 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-fossa@0.2.58 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcalendar@0.3.20 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + +## @backstage/plugin-gcp-projects@0.3.43 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-git-release-manager@0.3.39 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-github-actions@0.6.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- ee0c44ce62: Fixed an issue that was preventing the sorting of workflow runs by their status. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-github-deployments@0.1.57 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-issues@0.2.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-github-pull-requests-board@0.1.20 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-gitops-profiles@0.3.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + +## @backstage/plugin-gocd@0.1.32 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-graphql-backend@0.2.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/plugin-catalog-graphql@0.4.1 + - @backstage/config@1.1.1 + +## @backstage/plugin-graphql-voyager@0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-home@0.5.10 + +### Patch Changes + +- d86b2acec4: Fix bug where `retrieveAll` method wasn't fetching visits + +- 3fdffbb699: Remove the duplicate versions of `@rjsf/*` as they're no longer needed + +- 6c2b872153: Add official support for React 18. + +- 5b364984bf: Added experimental support for declarative integration via the `/alpha` subpath. + +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. + +- cc0e8d0b51: Temporarily pin the `react-grid-layout` sub-dependency to version `1.3.4` while the horizontal resizing of the latest version is not fixed. For more details, see [#20712](https://github.com/backstage/backstage/issues/20712). + +- 302316d231: Added a new Featured Docs component to `plugin-home`, which can display any entity given a filter. + + import { FeaturedDocsCard } from '@backstage/plugin-home'; + + + + See the [storybook examples](https://backstage.io/storybook/?path=/story/plugins-home-components-featureddocs--default) + +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-home-react@0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + +## @backstage/plugin-ilert@0.2.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-jenkins@0.9.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.21 + +## @backstage/plugin-jenkins-backend@0.3.1 + +### Patch Changes + +- 4bfb878807: Updated dependency `@types/jenkins` to `^1.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-jenkins-common@0.1.21 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-jenkins-common@0.1.21 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-catalog-common@1.0.18 + +## @backstage/plugin-kafka@0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-kafka-backend@0.3.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes@0.11.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/plugin-kubernetes-react@0.1.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-backend@0.13.1 + +### Patch Changes + +- 62180df4ee: Allow storing dashboard parameters for kubernetes in catalog +- df40b067e1: Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @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.1 + - @backstage/plugin-kubernetes-node@0.1.1 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-kubernetes-cluster@0.0.2 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/plugin-kubernetes-react@0.1.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-kubernetes-common@0.7.1 + +### Patch Changes + +- 62180df4ee: Allow storing dashboard parameters for kubernetes in catalog +- df40b067e1: Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-kubernetes-node@0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-kubernetes-react@0.1.1 + +### Patch Changes + +- 0f4cad6da0: Internal refactor to avoid a null pointer problem + +- 6c2b872153: Add official support for React 18. + +- b52f576f48: Make sure types exported by other `kubernetes` plugins in the past are exported again after the creation + of the react package. + + Some types have been moved to this new package but the export was missing, so they were not available anymore for developers. + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-lighthouse@0.4.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + +## @backstage/plugin-lighthouse-backend@0.3.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @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.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-linguist-backend@0.5.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @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.1 + - @backstage/plugin-linguist-common@0.1.2 + +## @backstage/plugin-microsoft-calendar@0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + +## @backstage/plugin-newrelic@0.3.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-newrelic-dashboard@0.3.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-nomad@0.1.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-nomad-backend@0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-octopus-deploy@0.2.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4d2f72c572: Added Deep link into Octopus Deploy project from the Release Table. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-opencost@0.2.2 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-org@0.6.16 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-org-react@0.1.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-pagerduty@0.6.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop@0.1.24 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-periskop-backend@0.2.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + +## @backstage/plugin-permission-backend@0.5.30 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + +## @backstage/plugin-permission-common@0.7.10 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-permission-node@0.7.18 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + +## @backstage/plugin-permission-react@0.4.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + +## @backstage/plugin-playlist-backend@0.3.11 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-playlist-common@0.1.12 + +## @backstage/plugin-playlist-common@0.1.12 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + +## @backstage/plugin-proxy-backend@0.4.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + +## @backstage/plugin-puppetdb@0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-rollbar@0.4.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-rollbar-backend@0.1.52 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.31 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.10 + +### Patch Changes + +- 26ca97ebaa: Add examples for `gitlab:projectAccessToken:create` scaffolder action & improve related tests +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.24 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-backend-module-sentry@0.1.15 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.28 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-common@1.4.3 + +### Patch Changes + +- 2e0cef42ab: Add missing required property `type` in `Template.v1beta3.schema.json` schema +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-scaffolder-node@0.2.8 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-search@1.4.2 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- fa11120050: Fixed incorrect plugin ID in `/alpha` export. +- 71c97e7d73: Minor internal code cleanup. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend@1.4.7 + +### Patch Changes + +- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`. +- Updated dependencies + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-module-catalog@0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-module-elasticsearch@1.3.10 + +### Patch Changes + +- 006df4a581: Support AWS OpenSearch Serverless search backend. Does not support `_refresh` endpoint. +- Updated dependencies + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-module-explore@0.1.11 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-module-pg@0.5.16 + +### Patch Changes + +- 2b4cd1ccae: Optimize outdated documents deletion logic in PgSearchEngine DatabaseDocumentStore which significantly reduces cost on large tables +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-module-techdocs@0.1.11 + +### Patch Changes + +- c437253b7a: The process of adding or modifying fields in the techdocs search index has been simplified. For more details, see [How to customize fields in the Software Catalog or TechDocs index](https://backstage.io/docs/features/search/how-to-guides.md#how-to-customize-fields-in-the-software-catalog-or-techdocs-index). +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-techdocs-node@1.10.0 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-backend-node@1.2.11 + +### Patch Changes + +- b168d7e7ea: Fix highlighting for non-string fields on the `Lunr` search engine implementation. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-search-common@1.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/types@1.1.1 + +## @backstage/plugin-search-react@1.7.2 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- f48cde800a: Emit search analytics in the search hook instead of in a dedicated component +- f75caf9f3d: Fixed a rare occurrence where a race in the search bar could throw away user input or cause the clear button not to work. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- a539643cba: Minor refactor of search bar analytics capture +- 71c97e7d73: The filter options passed to `SearchResultGroupLayout` are now always explicitly rendered as strings by default. +- e7c09c4f4b: Use default extensions boundary and suspense on the alpha declarative `createSearchResultListItem` extension factory. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/frontend-app-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/types@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-sentry@0.5.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-shortcuts@0.3.16 + +### Patch Changes + +- 55725922a5: Ensure that shortcuts aren't duplicate-checked against themselves +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/types@1.1.1 + +## @backstage/plugin-sonarqube@0.7.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-sonarqube-react@0.1.10 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-sonarqube-backend@0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-sonarqube-react@0.1.10 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-splunk-on-call@0.4.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + +## @backstage/plugin-stack-overflow@0.1.22 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- b168d7e7ea: Migrate package to the new Frontend system, the new module is distributed with a `/alpha` subpath. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-stack-overflow-backend@0.2.11 + +### Patch Changes + +- b168d7e7ea: Deprecate package in favor of the new `@backstage/plugin-search-backend-module-stack-overflow-collator` module. + + The search collator `requestParams` option is optional now, so its default value is `{ order: 'desc', sort: 'activity', site: 'stackoverflow' }` as defined in the `Try It` section on the [official Stack Overflow API documentation](https://api.stackexchange.com/docs/questions). + +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.0 + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/plugin-stackstorm@0.1.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + +## @backstage/plugin-tech-insights@0.3.18 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @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.21 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 193ad022bb: Add `factRetrieverId` to the fact retriever's logger metadata. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @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-node@0.4.13 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.39 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @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.13 + +## @backstage/plugin-tech-insights-node@0.4.13 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + +## @backstage/plugin-tech-radar@0.6.10 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.23 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-search-react@1.7.2 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + +## @backstage/plugin-techdocs-module-addons-contrib@1.1.2 + +### Patch Changes + +- 4728b3960d: Fixed navigation bug that caused users to not be scrolled to the top of a new page. Fixed navigation bug where using backwards and forwards browser navigation did not scroll users to the correct place on the TechDoc page. +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/theme@0.4.4 + +## @backstage/plugin-techdocs-react@1.1.13 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @backstage/plugin-todo@0.2.30 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-todo-backend@0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + +## @backstage/plugin-user-settings@0.7.12 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + +## @backstage/plugin-user-settings-backend@0.2.6 + +### Patch Changes + +- dd0350379b: Added dependency on `@backstage/config` +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @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.1 + +## @backstage/plugin-vault@0.1.21 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + +## @backstage/plugin-xcmetrics@0.2.45 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + +## example-app@0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.10.0 + - @backstage/plugin-catalog-import@0.10.2 + - @backstage/cli@0.24.0 + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/plugin-shortcuts@0.3.16 + - @backstage/plugin-home@0.5.10 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.2 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/plugin-cloudbuild@0.3.26 + - @backstage/plugin-scaffolder@1.16.0 + - @backstage/frontend-app-api@0.3.0 + - @backstage/plugin-user-settings@0.7.12 + - @backstage/plugin-tech-radar@0.6.10 + - @backstage/plugin-search@1.4.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.5 + - @backstage/integration-react@1.1.21 + - @backstage/plugin-kubernetes-cluster@0.0.2 + - @backstage/plugin-microsoft-calendar@0.1.9 + - @backstage/plugin-newrelic-dashboard@0.3.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/plugin-entity-feedback@0.2.9 + - @backstage/plugin-apache-airflow@0.2.17 + - @backstage/plugin-github-actions@0.6.7 + - @backstage/plugin-octopus-deploy@0.2.8 + - @backstage/plugin-stack-overflow@0.1.22 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-catalog-graph@0.3.0 + - @backstage/plugin-code-coverage@0.2.19 + - @backstage/plugin-cost-insights@0.12.15 + - @backstage/plugin-tech-insights@0.3.18 + - @backstage/plugin-azure-devops@0.3.8 + - @backstage/plugin-gcp-projects@0.3.43 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-azure-sites@0.1.15 + - @backstage/plugin-kubernetes@0.11.1 + - @backstage/plugin-lighthouse@0.4.11 + - @backstage/plugin-stackstorm@0.1.8 + - @backstage/plugin-dynatrace@8.0.0 + - @backstage/plugin-gcalendar@0.3.20 + - @backstage/plugin-pagerduty@0.6.7 + - @backstage/plugin-airbrake@0.3.26 + - @backstage/plugin-circleci@0.3.26 + - @backstage/plugin-devtools@0.1.6 + - @backstage/plugin-linguist@0.1.11 + - @backstage/plugin-newrelic@0.3.42 + - @backstage/plugin-playlist@0.2.0 + - @backstage/plugin-puppetdb@0.1.9 + - @backstage/plugin-explore@0.4.12 + - @backstage/plugin-jenkins@0.9.1 + - @backstage/plugin-rollbar@0.4.26 + - @backstage/theme@0.4.4 + - @backstage/plugin-badges@0.2.50 + - @backstage/plugin-sentry@0.5.11 + - @backstage/plugin-kafka@0.3.26 + - @backstage/plugin-nomad@0.1.7 + - @backstage/plugin-gocd@0.1.32 + - @backstage/plugin-todo@0.2.30 + - @backstage/plugin-adr@0.6.9 + - @backstage/plugin-org@0.6.16 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.8 + +## example-app-next@0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.10.0 + - @backstage/plugin-catalog-import@0.10.2 + - @backstage/cli@0.24.0 + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/plugin-shortcuts@0.3.16 + - @backstage/plugin-home@0.5.10 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.2 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/plugin-cloudbuild@0.3.26 + - @backstage/plugin-scaffolder@1.16.0 + - @backstage/frontend-app-api@0.3.0 + - @backstage/plugin-user-settings@0.7.12 + - @backstage/plugin-tech-radar@0.6.10 + - @backstage/plugin-search@1.4.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.5 + - @backstage/integration-react@1.1.21 + - @backstage/plugin-microsoft-calendar@0.1.9 + - @backstage/plugin-newrelic-dashboard@0.3.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/plugin-entity-feedback@0.2.9 + - @backstage/plugin-apache-airflow@0.2.17 + - @backstage/plugin-github-actions@0.6.7 + - @backstage/plugin-octopus-deploy@0.2.8 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-catalog-graph@0.3.0 + - @backstage/plugin-code-coverage@0.2.19 + - @backstage/plugin-cost-insights@0.12.15 + - @backstage/plugin-tech-insights@0.3.18 + - @backstage/plugin-azure-devops@0.3.8 + - @backstage/plugin-gcp-projects@0.3.43 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-azure-sites@0.1.15 + - @backstage/plugin-kubernetes@0.11.1 + - @backstage/plugin-lighthouse@0.4.11 + - @backstage/plugin-stackstorm@0.1.8 + - @backstage/plugin-dynatrace@8.0.0 + - @backstage/plugin-gcalendar@0.3.20 + - @backstage/plugin-pagerduty@0.6.7 + - @backstage/plugin-airbrake@0.3.26 + - @backstage/plugin-circleci@0.3.26 + - @backstage/plugin-devtools@0.1.6 + - @backstage/plugin-linguist@0.1.11 + - @backstage/plugin-newrelic@0.3.42 + - @backstage/plugin-playlist@0.2.0 + - @backstage/plugin-puppetdb@0.1.9 + - @backstage/plugin-explore@0.4.12 + - @backstage/plugin-jenkins@0.9.1 + - @backstage/plugin-rollbar@0.4.26 + - @backstage/theme@0.4.4 + - @backstage/plugin-badges@0.2.50 + - @backstage/plugin-sentry@0.5.11 + - @backstage/plugin-kafka@0.3.26 + - @backstage/plugin-gocd@0.1.32 + - @backstage/plugin-todo@0.2.30 + - @backstage/plugin-adr@0.6.9 + - @backstage/plugin-org@0.6.16 + - app-next-example-plugin@0.0.3 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.0.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.8 + +## app-next-example-plugin@0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + +## example-backend@0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-search-backend-module-pg@0.5.16 + - @backstage/plugin-kubernetes-backend@0.13.1 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/integration@1.7.2 + - @backstage/plugin-auth-backend@0.20.0 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-techdocs-backend@1.9.0 + - @backstage/plugin-code-coverage-backend@0.2.21 + - @backstage/plugin-scaffolder-backend@1.19.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.10 + - @backstage/plugin-search-backend@1.4.7 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.4 + - @backstage/plugin-entity-feedback-backend@0.2.4 + - @backstage/plugin-tech-insights-backend@0.5.21 + - @backstage/plugin-linguist-backend@0.5.4 + - @backstage/plugin-playlist-backend@0.3.11 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-badges-backend@0.3.4 + - @backstage/plugin-app-backend@0.3.55 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-jenkins-backend@0.3.1 + - @backstage/plugin-adr-backend@0.4.4 + - @backstage/plugin-kafka-backend@0.3.5 + - @backstage/plugin-proxy-backend@0.4.5 + - example-app@0.2.89 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @backstage/plugin-lighthouse-backend@0.3.4 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @backstage/plugin-todo-backend@0.3.5 + - @backstage/plugin-devtools-backend@0.2.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-azure-devops-backend@0.4.4 + - @backstage/plugin-azure-sites-backend@0.1.17 + - @backstage/plugin-events-backend@0.2.16 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-explore-backend@0.0.17 + - @backstage/plugin-graphql-backend@0.2.1 + - @backstage/plugin-nomad-backend@0.1.9 + - @backstage/plugin-permission-backend@0.5.30 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-rollbar-backend@0.1.52 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.8 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.24 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-search-common@1.2.8 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.39 + - @backstage/plugin-tech-insights-node@0.4.13 + +## example-backend-next@0.0.17 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-kubernetes-backend@0.13.1 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.0 + - @backstage/plugin-techdocs-backend@1.9.0 + - @backstage/plugin-scaffolder-backend@1.19.0 + - @backstage/plugin-search-backend@1.4.7 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.4 + - @backstage/plugin-entity-feedback-backend@0.2.4 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-linguist-backend@0.5.4 + - @backstage/plugin-playlist-backend@0.3.11 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-badges-backend@0.3.4 + - @backstage/plugin-app-backend@0.3.55 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-jenkins-backend@0.3.1 + - @backstage/plugin-adr-backend@0.4.4 + - @backstage/plugin-proxy-backend@0.4.5 + - @backstage/plugin-catalog-backend-module-openapi@0.1.24 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @backstage/plugin-lighthouse-backend@0.3.4 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @backstage/plugin-todo-backend@0.3.5 + - @backstage/plugin-devtools-backend@0.2.4 + - @backstage/backend-defaults@0.2.7 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-azure-devops-backend@0.4.4 + - @backstage/plugin-nomad-backend@0.1.9 + - @backstage/plugin-permission-backend@0.5.30 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.4 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-sonarqube-backend@0.2.9 + +## @backstage/backend-plugin-manager@0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/cli-node@0.2.0 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-events-backend@0.2.16 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-search-common@1.2.8 + +## @backstage/core-compat-api@0.0.1 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + +## e2e-test@0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.7 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + +## techdocs-cli-embedded-app@0.2.88 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.24.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + +## @internal/plugin-todo-list@1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + +## @internal/plugin-todo-list-backend@1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + +## @internal/plugin-todo-list-common@1.0.15 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 diff --git a/docs/releases/v1.20.0.md b/docs/releases/v1.20.0.md new file mode 100644 index 0000000000..921b8219fb --- /dev/null +++ b/docs/releases/v1.20.0.md @@ -0,0 +1,50 @@ +--- +id: v1.20.0 +title: v1.20.0 +description: Backstage Release v1.20.0 +--- + +These are the release notes for the v1.20.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 + +### Support for experimental type build has been removed + +The `--experimental-type-build` option is no longer supported by any commands in the Backstage CLI. Existing usage should be migrated to using [subpath exports](https://backstage.io/docs/local-dev/cli-build-system#subpath-exports) instead. + +### Experimental support for Vite ⚡ + +Due to some concerns about performance in larger monorepo setups and hot-reloading times, we’re looking to replace [Webpack](https://webpack.js.org/) with [Vite](https://vitejs.dev/) longer term, and in this release we’re shipping experimental support for Vite behind an `EXPERIMENTAL_VITE` environment variable flag when running `yarn start` in the frontend. + +Please reach out by [creating a GitHub issue](https://github.com/backstage/backstage/issues/new/choose) with any problems that you might be running into when using this experimental feature. + +### Scaffolder: `react-jsonschema-form@v5` + Design tweaks 💅 + +It’s finally here. We’ve shipped support for `react-jsonschema-form@v5` which **should** be a completely non-breaking change for end users. We’ve also tweaked some of the designs for some of the new Scaffolder Pages. You can read more in the [relevant migration docs](https://backstage.io/docs/features/software-templates/migrating-to-rjsf-v5) + +### Catalog Presentation API + +The Catalog plugin now uses the `EntityPresentationApi` to decide how entities are rendered in the UI. This includes fetching catalog data in the background in order to show entities using their `metadata.title`. For more information, including how to customize the presentation, see [the PR](https://github.com/backstage/backstage/pull/17474), (documentation is in the works!). + +## 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.20.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/microsite/blog/2023-11-15-backstagecon-kubecon-23.mdx b/microsite/blog/2023-11-15-backstagecon-kubecon-23.mdx new file mode 100644 index 0000000000..7b7f7c0f0b --- /dev/null +++ b/microsite/blog/2023-11-15-backstagecon-kubecon-23.mdx @@ -0,0 +1,72 @@ +--- +# prettier-ignore +title: "Wrap up: BackstageCon ‘23, KubeCon + Cloud Native NA" +author: Jorge Lainfiesta, Spotify +authorURL: https://www.linkedin.com/in/jrlainfiesta/ +authorImageURL: https://avatars.githubusercontent.com/u/4451393?v=4 +--- + +![BackstageCon ‘23, KubeCon + Cloud Native NA](assets/23-11-15/00-cover.png) + +tl;dr BackstageCon North America is officially in the books! We had a blast in Chicago talking about Backstage non-stop throughout the week at both BackstageCon and KubeCon. If you weren't able to join us, the [BackstageCon talks are available](https://www.youtube.com/playlist?list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc) for replay on the CNCF YouTube channel. +{/* truncate */} + +Obviously we're biased, but Backstage was definitely one of the big topics at [KubeCon + CloudNativeCon North America](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/) this year. Recently, the CNCF announced that Backstage was the [third fastest-growing project](https://www.cncf.io/blog/2023/10/27/october-2023-where-we-are-with-velocity-of-cncf-lf-and-top-30-open-source-projects/) of the year (up from the fifth last year). And you could confirm it with your own eyes during BackstageCon and KubeCon: hundreds of people flocked through the event, talks, and the project booth sharing their enthusiasm and asking more questions about the project. + +### BackstageCon: A growing community  + +With a whopping peak attendance of 400+ people, the crowd nearly doubled from last year,[ taking the center stage of the conference](https://www.forbes.com/sites/janakirammsv/2023/11/14/backstage-project-takes-center-stage-at-kubecon-north-america-2023/?sh=1972303a6539), as reported by Forbes. For some, BackstageCon was their first entry point into the community, but the event also boasted lots of  familiar faces, mostly from some of the most mature adopters such as Dynatrace, Lunar, and US Bank. We also got to hear from new voices in the community like Comcast and Grafana Labs. + +We hear a lot of great questions such as: + +- How do I make more developers use my developer portal? + +- Will generative AI take my Backstage instance to the next level? + +- What's all the fuss around the upcoming Declarative Integration in Backstage? + +The community got together to discuss these and more questions with exciting talks and debates. The talks were all recorded and are [up on YouTube](https://www.youtube.com/playlist?list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc), so make sure to check them out. + +**Driving Backstage adoption** + +Growing adoption was top of mind during BackstageCon. David Tuite, CEO of Roadie, shared the lessons learned from interviewing 20 adopters, which revealed that the Scaffolder was a prime place to get started when adopting Backstage, as it lets stakeholders get an easily measurable ROI. + +![Panel of Backstage adopters](assets/23-11-15/10-panel.jpg) + +Helen Greul, Head of Engineering for Backstage at Spotify, hosted [a panel discussion](https://www.youtube.com/watch?v=Iti5glzYOG8&list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc&index=10) with four adopters that are using Backstage at scale: Twilio, Lunar Bank, US Bank, and Expedia. The crucial role of Backstage in fostering inner sourcing and simplifying new hires onboarding were a few of the subjects covered in the panel. + +How adopters are using Backstage was also a highlight of the day. B3, Brazil's Stock Exchange, shared [how they're building their developer portal](https://www.youtube.com/watch?v=FyWCKIVYO7g&list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc&index=14). And from Grafana Labs, we heard how they're using [Backstage along Crossplane to drive GitOps](https://www.youtube.com/watch?v=q-JUWob69Hw&list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc&index=10). + +**What's next with Backstage?** + +The discussion on how Backstage is evolving was featured in a few talks, through live demos that — remarkably — did not go wrong even once! Ben ([benjdlambert](https://github.com/benjdlambert)) and Patrik ([Rugvip](https://github.com/Rugvip)), core maintainers, presented an introduction to the plans around [Declarative Integration](https://www.youtube.com/watch?v=8hVMNMXXN44&list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc&index=8), which will allow people to install plugins without dealing with TypeScript or React. On the other hand, Djamaile and Mitch, from Spotify, [introduced the upcoming Quickstart](https://www.youtube.com/watch?v=bUdaO9NKXJY&list=PLj6h78yzYM2PxiInfZi2OKu1KluNfbLtc&index=12), a tool from Spotify in private-beta that will allow anyone to get started with Backstage through a GUI in a few steps. + +**A thriving community** + +People gathered outside the conference room where BackstageCon was happening to catch up with each other and learn from the event sponsors. It was great to connect with everyone and talk about how everyone is using Backstage. + +![KubeCon Attendees](assets/23-11-15/20-booth.jpg) + +![Spotify at BackstageCon](assets/23-11-15/30-spotify-kubecon.jpg) + +### Mom, Backstage is not a phase + +The interest from the cloud-native community in Backstage did not waver this year. Instead, the Backstage booth in the KubeCon Project Pavillion saw a nonstop flux of visitors asking more about the project. There were three talks featuring Backstage during KubeCon. + +**Backstage talks during KubeCon NA '23** + +The first talk touching on Backstage of the schedule was Tim Hansen's ([timbonicus](https://github.com/timbonicus)) "Everything Is Code: Embracing GitOps at Spotify," who achieved rockstar status thanks to his phenomenal insights. The queue to ask questions after the talk's questions was surreal! + +![KubeCon Attendees](assets/23-11-15/40-tim-talk.jpg) + +Backstage maintainers Ben and Patrik addressed a full-room during their talk “Simplifying Backstage - Breaking the Code Barrier” in which they explained Declarative Integration, how it works and the expected migration path. Declarative Integration will enable adopters to install the plugins they use—and even customize them—without dealing with TypeScript or React. + +![KubeCon Attendees](assets/23-11-15/50-patrik-ben-full.jpg) + +And to close the event, Ritesh Patel, Nirmata and David Murphy, Upbound, introduced the BACK Stack, which stands for Backstage, Argo, Crossplane, and Kyverno. These four tools make up a powerful combo that can enable self-service workflows secure and scalable. After a great demo, the speakers presented a reference architecture that can help guide an approach to using Backstage to build your platform. + +![KubeCon Attendees](assets/23-11-15/60-back-stack.jpg) + +### See you next year! + +The next KubeCon Europe is scheduled for March 18-22 in Paris. We're looking forward to meeting you all there! [KubeCon EU](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/program/cfp/) and[ BackstageCon EU](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/backstagecon/) are accepting CFPs, submit your proposal now! diff --git a/microsite/blog/assets/23-11-15/00-cover.png b/microsite/blog/assets/23-11-15/00-cover.png new file mode 100644 index 0000000000..18da63a930 Binary files /dev/null and b/microsite/blog/assets/23-11-15/00-cover.png differ diff --git a/microsite/blog/assets/23-11-15/10-panel.jpg b/microsite/blog/assets/23-11-15/10-panel.jpg new file mode 100644 index 0000000000..a6ebf8dcae Binary files /dev/null and b/microsite/blog/assets/23-11-15/10-panel.jpg differ diff --git a/microsite/blog/assets/23-11-15/20-booth.jpg b/microsite/blog/assets/23-11-15/20-booth.jpg new file mode 100644 index 0000000000..4faa5a5f1f Binary files /dev/null and b/microsite/blog/assets/23-11-15/20-booth.jpg differ diff --git a/microsite/blog/assets/23-11-15/30-spotify-kubecon.jpg b/microsite/blog/assets/23-11-15/30-spotify-kubecon.jpg new file mode 100644 index 0000000000..fa64ec451f Binary files /dev/null and b/microsite/blog/assets/23-11-15/30-spotify-kubecon.jpg differ diff --git a/microsite/blog/assets/23-11-15/40-tim-talk.jpg b/microsite/blog/assets/23-11-15/40-tim-talk.jpg new file mode 100644 index 0000000000..73873bcb4c Binary files /dev/null and b/microsite/blog/assets/23-11-15/40-tim-talk.jpg differ diff --git a/microsite/blog/assets/23-11-15/50-patrik-ben-full.jpg b/microsite/blog/assets/23-11-15/50-patrik-ben-full.jpg new file mode 100644 index 0000000000..2048dd2f5a Binary files /dev/null and b/microsite/blog/assets/23-11-15/50-patrik-ben-full.jpg differ diff --git a/microsite/blog/assets/23-11-15/60-back-stack.jpg b/microsite/blog/assets/23-11-15/60-back-stack.jpg new file mode 100644 index 0000000000..668fc407da Binary files /dev/null and b/microsite/blog/assets/23-11-15/60-back-stack.jpg differ diff --git a/microsite/data/plugins/opencost.yaml b/microsite/data/plugins/opencost.yaml index dbf65979ca..950b0606a7 100644 --- a/microsite/data/plugins/opencost.yaml +++ b/microsite/data/plugins/opencost.yaml @@ -5,6 +5,6 @@ authorUrl: https://opencost.io category: Monitoring description: OpenCost provides cloud cost monitoring for your cloud native environments. documentation: https://github.com/backstage/backstage/blob/master/plugins/opencost/README.md -iconUrl: img/opencost.png +iconUrl: /img/opencost.png npmPackageName: '@backstage/plugin-opencost' addedDate: '2023-10-26' diff --git a/microsite/docusaurus.config.js b/microsite/docusaurus.config.js index f4dd76b8e3..7a01498646 100644 --- a/microsite/docusaurus.config.js +++ b/microsite/docusaurus.config.js @@ -178,7 +178,7 @@ module.exports = { position: 'left', }, { - to: 'docs/releases/v1.19.0', + to: 'docs/releases/v1.20.0', label: 'Releases', position: 'left', }, diff --git a/microsite/sidebars.json b/microsite/sidebars.json index 8d8cb39eaa..c9b1c99eba 100644 --- a/microsite/sidebars.json +++ b/microsite/sidebars.json @@ -1,6 +1,7 @@ { "releases": { "Release Notes": [ + "releases/v1.20.0", "releases/v1.19.0", "releases/v1.18.0", "releases/v1.17.0", @@ -116,7 +117,7 @@ "features/software-templates/writing-custom-field-extensions", "features/software-templates/writing-custom-step-layouts", "features/software-templates/authorizing-parameters-steps-and-actions", - "features/software-templates/testing-scaffolder-alpha", + "features/software-templates/migrating-to-rjsf-v5", "features/software-templates/migrating-from-v1beta2-to-v1beta3" ] }, diff --git a/microsite/yarn.lock b/microsite/yarn.lock index f5ece6cc27..10ad6d0d68 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -3265,9 +3265,9 @@ __metadata: linkType: hard "@types/webpack-env@npm:^1.18.0": - version: 1.18.3 - resolution: "@types/webpack-env@npm:1.18.3" - checksum: f24e82485d8e325b1875608766ba6dad2b2f53a0fb182bc96173b4590110c6b791163402cdf19b50c04e8c05292f227a08aafe9230b2bba52c40c5f7ceccc101 + version: 1.18.4 + resolution: "@types/webpack-env@npm:1.18.4" + checksum: f195b3ae974ac3b631477b57737dad7b6c44ecca86770cf3c29f284e02961c9f2dfc619e3e253d8c23966864cb052b1e8437e9834ede32ac97972e6e2235bb51 languageName: node linkType: hard @@ -7562,9 +7562,9 @@ __metadata: linkType: hard "luxon@npm:^3.0.0": - version: 3.4.3 - resolution: "luxon@npm:3.4.3" - checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3 + version: 3.4.4 + resolution: "luxon@npm:3.4.4" + checksum: 36c1f99c4796ee4bfddf7dc94fa87815add43ebc44c8934c924946260a58512f0fd2743a629302885df7f35ccbd2d13f178c15df046d0e3b6eb71db178f1c60c languageName: node linkType: hard @@ -10810,15 +10810,15 @@ __metadata: linkType: hard "sass@npm:^1.57.1": - version: 1.69.3 - resolution: "sass@npm:1.69.3" + version: 1.69.5 + resolution: "sass@npm:1.69.5" dependencies: chokidar: ">=3.0.0 <4.0.0" immutable: ^4.0.0 source-map-js: ">=0.6.2 <2.0.0" bin: sass: sass.js - checksum: b89a3370c7ede462b344e2136bf1407bf375855c1ec54f73b6257b18fe59dae5377eb9f7b25f21ae4a25d8f0bc41a165d8d7e5f693d8285b1aa51ac6056c4d19 + checksum: c66f4f02882e7aa7aa49703824dadbb5a174dcd05e3cd96f17f73687889aab6027d078b518e2c04b594dfd89b2f574824bf935c7aee46c770aa6be9aafcc49f2 languageName: node linkType: hard diff --git a/package.json b/package.json index 25d89ba398..23b38fd918 100644 --- a/package.json +++ b/package.json @@ -54,10 +54,9 @@ "@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.20.0-next.2", + "version": "1.20.0", "dependencies": { "@backstage/errors": "workspace:^", - "@changesets/changelog-github": "^0.4.8", "@manypkg/get-packages": "^1.1.3", "@useoptic/optic": "^0.50.10" }, @@ -82,17 +81,17 @@ "eslint": "^8.6.0", "eslint-plugin-notice": "^0.9.10", "eslint-plugin-react": "^7.28.0", - "eslint-plugin-testing-library": "^5.9.1", + "eslint-plugin-testing-library": "^6.0.0", "fs-extra": "10.1.0", "husky": "^8.0.0", - "lint-staged": "^13.0.0", + "lint-staged": "^15.0.0", "minimist": "^1.2.5", - "node-gyp": "^9.4.0", + "node-gyp": "^10.0.0", "prettier": "^2.2.1", "semver": "^7.5.3", "shx": "^0.3.2", "ts-node": "^10.4.0", - "typescript": "~5.0.0" + "typescript": "~5.2.0" }, "prettier": "@spotify/prettier-config", "lint-staged": { diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index 647cf987b6..7bf0fa633a 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/app-defaults +## 1.4.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + ## 1.4.5-next.2 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index 875213f678..37a8dc35b3 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.5-next.2", + "version": "1.4.5", "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 373a0b61d0..c3411cd0f4 100644 --- a/packages/app-next-example-plugin/CHANGELOG.md +++ b/packages/app-next-example-plugin/CHANGELOG.md @@ -1,5 +1,13 @@ # app-next-example-plugin +## 0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + ## 0.0.3-next.2 ### Patch Changes diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json index dedb8e4329..b72626580e 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.3-next.2", + "version": "0.0.3", "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -45,7 +45,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/packages/app-next/CHANGELOG.md b/packages/app-next/CHANGELOG.md index 194160771d..07933071c5 100644 --- a/packages/app-next/CHANGELOG.md +++ b/packages/app-next/CHANGELOG.md @@ -1,5 +1,82 @@ # example-app-next +## 0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.10.0 + - @backstage/plugin-catalog-import@0.10.2 + - @backstage/cli@0.24.0 + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/plugin-shortcuts@0.3.16 + - @backstage/plugin-home@0.5.10 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.2 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/plugin-cloudbuild@0.3.26 + - @backstage/plugin-scaffolder@1.16.0 + - @backstage/frontend-app-api@0.3.0 + - @backstage/plugin-user-settings@0.7.12 + - @backstage/plugin-tech-radar@0.6.10 + - @backstage/plugin-search@1.4.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.5 + - @backstage/integration-react@1.1.21 + - @backstage/plugin-microsoft-calendar@0.1.9 + - @backstage/plugin-newrelic-dashboard@0.3.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/plugin-entity-feedback@0.2.9 + - @backstage/plugin-apache-airflow@0.2.17 + - @backstage/plugin-github-actions@0.6.7 + - @backstage/plugin-octopus-deploy@0.2.8 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-catalog-graph@0.3.0 + - @backstage/plugin-code-coverage@0.2.19 + - @backstage/plugin-cost-insights@0.12.15 + - @backstage/plugin-tech-insights@0.3.18 + - @backstage/plugin-azure-devops@0.3.8 + - @backstage/plugin-gcp-projects@0.3.43 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-azure-sites@0.1.15 + - @backstage/plugin-kubernetes@0.11.1 + - @backstage/plugin-lighthouse@0.4.11 + - @backstage/plugin-stackstorm@0.1.8 + - @backstage/plugin-dynatrace@8.0.0 + - @backstage/plugin-gcalendar@0.3.20 + - @backstage/plugin-pagerduty@0.6.7 + - @backstage/plugin-airbrake@0.3.26 + - @backstage/plugin-circleci@0.3.26 + - @backstage/plugin-devtools@0.1.6 + - @backstage/plugin-linguist@0.1.11 + - @backstage/plugin-newrelic@0.3.42 + - @backstage/plugin-playlist@0.2.0 + - @backstage/plugin-puppetdb@0.1.9 + - @backstage/plugin-explore@0.4.12 + - @backstage/plugin-jenkins@0.9.1 + - @backstage/plugin-rollbar@0.4.26 + - @backstage/theme@0.4.4 + - @backstage/plugin-badges@0.2.50 + - @backstage/plugin-sentry@0.5.11 + - @backstage/plugin-kafka@0.3.26 + - @backstage/plugin-gocd@0.1.32 + - @backstage/plugin-todo@0.2.30 + - @backstage/plugin-adr@0.6.9 + - @backstage/plugin-org@0.6.16 + - app-next-example-plugin@0.0.3 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/core-compat-api@0.0.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.8 + ## 0.0.3-next.2 ### Patch Changes diff --git a/packages/app-next/package.json b/packages/app-next/package.json index 90108f9065..6e0581d034 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -1,6 +1,6 @@ { "name": "example-app-next", - "version": "0.0.3-next.2", + "version": "0.0.3", "private": true, "backstage": { "role": "frontend" diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 67166b089b..6288eba0c3 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,82 @@ # example-app +## 0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-api-docs@0.10.0 + - @backstage/plugin-catalog-import@0.10.2 + - @backstage/cli@0.24.0 + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/plugin-shortcuts@0.3.16 + - @backstage/plugin-home@0.5.10 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.1.2 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/plugin-cloudbuild@0.3.26 + - @backstage/plugin-scaffolder@1.16.0 + - @backstage/frontend-app-api@0.3.0 + - @backstage/plugin-user-settings@0.7.12 + - @backstage/plugin-tech-radar@0.6.10 + - @backstage/plugin-search@1.4.2 + - @backstage/plugin-catalog-unprocessed-entities@0.1.5 + - @backstage/integration-react@1.1.21 + - @backstage/plugin-kubernetes-cluster@0.0.2 + - @backstage/plugin-microsoft-calendar@0.1.9 + - @backstage/plugin-newrelic-dashboard@0.3.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/plugin-entity-feedback@0.2.9 + - @backstage/plugin-apache-airflow@0.2.17 + - @backstage/plugin-github-actions@0.6.7 + - @backstage/plugin-octopus-deploy@0.2.8 + - @backstage/plugin-stack-overflow@0.1.22 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-catalog-graph@0.3.0 + - @backstage/plugin-code-coverage@0.2.19 + - @backstage/plugin-cost-insights@0.12.15 + - @backstage/plugin-tech-insights@0.3.18 + - @backstage/plugin-azure-devops@0.3.8 + - @backstage/plugin-gcp-projects@0.3.43 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-azure-sites@0.1.15 + - @backstage/plugin-kubernetes@0.11.1 + - @backstage/plugin-lighthouse@0.4.11 + - @backstage/plugin-stackstorm@0.1.8 + - @backstage/plugin-dynatrace@8.0.0 + - @backstage/plugin-gcalendar@0.3.20 + - @backstage/plugin-pagerduty@0.6.7 + - @backstage/plugin-airbrake@0.3.26 + - @backstage/plugin-circleci@0.3.26 + - @backstage/plugin-devtools@0.1.6 + - @backstage/plugin-linguist@0.1.11 + - @backstage/plugin-newrelic@0.3.42 + - @backstage/plugin-playlist@0.2.0 + - @backstage/plugin-puppetdb@0.1.9 + - @backstage/plugin-explore@0.4.12 + - @backstage/plugin-jenkins@0.9.1 + - @backstage/plugin-rollbar@0.4.26 + - @backstage/theme@0.4.4 + - @backstage/plugin-badges@0.2.50 + - @backstage/plugin-sentry@0.5.11 + - @backstage/plugin-kafka@0.3.26 + - @backstage/plugin-nomad@0.1.7 + - @backstage/plugin-gocd@0.1.32 + - @backstage/plugin-todo@0.2.30 + - @backstage/plugin-adr@0.6.9 + - @backstage/plugin-org@0.6.16 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-linguist-common@0.1.2 + - @backstage/plugin-search-common@1.2.8 + ## 0.2.89-next.2 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 53002d7902..245b645ddc 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.89-next.2", + "version": "0.2.89", "private": true, "backstage": { "role": "frontend" @@ -102,7 +102,7 @@ "react-use": "^17.2.4", "vite": "^4.4.9", "vite-plugin-html": "^3.2.0", - "vite-plugin-node-polyfills": "^0.14.1", + "vite-plugin-node-polyfills": "^0.16.0", "zen-observable": "^0.10.0" }, "devDependencies": { diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index cc3787a8bc..c2296d01e7 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -109,7 +109,7 @@ import { techDocsPage } from './components/techdocs/TechDocsPage'; import { ApacheAirflowPage } from '@backstage/plugin-apache-airflow'; import { RequirePermission } from '@backstage/plugin-permission-react'; import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; -import { PlaylistIndexPage } from '@backstage/plugin-playlist'; +import { PlaylistIndexPage, PlaylistPage } from '@backstage/plugin-playlist'; import { TwoColumnLayout } from './components/scaffolder/customScaffolderLayouts'; import { ScoreBoardPage } from '@oriflame/backstage-plugin-score-card'; import { StackstormPage } from '@backstage/plugin-stackstorm'; @@ -316,6 +316,7 @@ const routes = ( } /> } /> } /> + } /> } /> } /> } /> diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 256fa98f91..4c94beb674 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/backend-app-api +## 0.5.8 + +### Patch Changes + +- bc9a18d5ec: Added a workaround for double `default` wrapping when dynamically importing CommonJS modules with default exports. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/cli-node@0.2.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + ## 0.5.8-next.2 ### Patch Changes diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index 8fc20cff33..9f75cb81a1 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.8-next.2", + "version": "0.5.8", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index 8b9c65605d..a0ee354e30 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/backend-common +## 0.19.9 + +### Patch Changes + +- aa13482090: Limit the database creation concurrency to one, defensively +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/integration@1.7.2 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/backend-app-api@0.5.8 + - @backstage/backend-dev-utils@0.1.2 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.19.9-next.2 ### Patch Changes diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index 4f1dcdbf81..e6d28f173a 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -7,6 +7,7 @@ /// import { AppConfig } from '@backstage/config'; +import { AuthCallback } from 'isomorphic-git'; import { AwsCredentialsManager } from '@backstage/integration-aws-node'; import { AwsS3Integration } from '@backstage/integration'; import { AzureDevOpsCredentialsProvider } from '@backstage/integration'; @@ -68,6 +69,12 @@ import { V1PodTemplateSpec } from '@kubernetes/client-node'; import * as winston from 'winston'; import { Writable } from 'stream'; +// @public +export type AuthCallbackOptions = { + onAuth: AuthCallback; + logger?: LoggerService; +}; + // @public export class AwsS3UrlReader implements UrlReader { constructor( @@ -385,12 +392,7 @@ export class Git { tags?: boolean; }): Promise; // (undocumented) - static fromAuth: (options: { - username?: string; - password?: string; - token?: string; - logger?: LoggerService; - }) => Git; + static fromAuth: (options: StaticAuthOptions | AuthCallbackOptions) => Git; // (undocumented) init(options: { dir: string; defaultBranch?: string }): Promise; log(options: { dir: string; ref?: string }): Promise; @@ -420,13 +422,18 @@ export class Git { // @public export class GiteaUrlReader implements UrlReader { - constructor(integration: GiteaIntegration); + constructor( + integration: GiteaIntegration, + deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ); // (undocumented) static factory: ReaderFactory; // (undocumented) read(url: string): Promise; // (undocumented) - readTree(): Promise; + readTree(url: string, options?: ReadTreeOptions): Promise; // (undocumented) readUrl(url: string, options?: ReadUrlOptions): Promise; // (undocumented) @@ -745,6 +752,14 @@ export function setRootLogger(newLogger: winston.Logger): void; // @public @deprecated export const SingleHostDiscovery: typeof HostDiscovery_2; +// @public +export type StaticAuthOptions = { + username?: string; + password?: string; + token?: string; + logger?: LoggerService; +}; + // @public export type StatusCheck = () => Promise; diff --git a/packages/backend-common/config.d.ts b/packages/backend-common/config.d.ts index f6330d16bc..8bcc5465d5 100644 --- a/packages/backend-common/config.d.ts +++ b/packages/backend-common/config.d.ts @@ -149,6 +149,8 @@ export interface Config { cache?: | { store: 'memory'; + /** An optional default TTL (in milliseconds). */ + defaultTtl?: number; } | { store: 'redis'; @@ -157,6 +159,8 @@ export interface Config { * @visibility secret */ connection: string; + /** An optional default TTL (in milliseconds). */ + defaultTtl?: number; } | { store: 'memcache'; @@ -165,6 +169,8 @@ export interface Config { * @visibility secret */ connection: string; + /** An optional default TTL (in milliseconds). */ + defaultTtl?: number; }; cors?: { diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index 546d73eaa0..a718d7d1b4 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.19.9-next.2", + "version": "0.19.9", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -129,7 +129,7 @@ "@types/tar": "^6.1.1", "@types/webpack-env": "^1.15.2", "@types/yauzl": "^2.10.0", - "aws-sdk-client-mock": "^2.0.0", + "aws-sdk-client-mock": "^3.0.0", "better-sqlite3": "^9.0.0", "http-errors": "^2.0.0", "msw": "^1.0.0", diff --git a/packages/backend-common/src/cache/CacheManager.test.ts b/packages/backend-common/src/cache/CacheManager.test.ts index 13a4a0d599..4b7bb05efd 100644 --- a/packages/backend-common/src/cache/CacheManager.test.ts +++ b/packages/backend-common/src/cache/CacheManager.test.ts @@ -33,11 +33,13 @@ jest.mock('./CacheClient', () => { }; }); +const globalDefaultTtl = 1234; describe('CacheManager', () => { const defaultConfigOptions = { backend: { cache: { store: 'memory', + defaultTtl: globalDefaultTtl, }, }, }; @@ -49,9 +51,11 @@ describe('CacheManager', () => { it('accesses the backend.cache key', () => { const getOptionalString = jest.fn(); const getOptionalBoolean = jest.fn(); + const getOptionalNumber = jest.fn(); const config = defaultConfig(); config.getOptionalString = getOptionalString; config.getOptionalBoolean = getOptionalBoolean; + config.getOptionalNumber = getOptionalNumber; CacheManager.fromConfig(config); @@ -62,6 +66,9 @@ describe('CacheManager', () => { expect(getOptionalBoolean.mock.calls[0][0]).toEqual( 'backend.cache.useRedisSets', ); + expect(getOptionalNumber.mock.calls[0][0]).toEqual( + 'backend.cache.defaultTtl', + ); }); it('does not require the backend.cache key', () => { @@ -159,6 +166,20 @@ describe('CacheManager', () => { }); }); + it('returns memory client with a global defaultTtl when explicitly configured', () => { + const manager = CacheManager.fromConfig(defaultConfig()); + const expectedNamespace = 'test-plugin'; + manager.forPlugin(expectedNamespace).getClient(); + + const cache = Keyv as unknown as jest.Mock; + const mockCalls = cache.mock.calls.splice(-1); + const callArgs = mockCalls[0]; + expect(callArgs[0]).toMatchObject({ + ttl: globalDefaultTtl, + namespace: expectedNamespace, + }); + }); + it('shares memory across multiple instances of the memory client', () => { const manager = CacheManager.fromConfig(defaultConfig()); const plugin = 'test-plugin'; @@ -201,6 +222,32 @@ describe('CacheManager', () => { expect(mockMemcacheCalls[0][0]).toEqual(expectedHost); }); + it('returns a memcache client with a global defaultTtl when configured', () => { + const expectedHost = '127.0.0.1:11211'; + const manager = CacheManager.fromConfig( + new ConfigReader({ + backend: { + cache: { + store: 'memcache', + connection: expectedHost, + defaultTtl: globalDefaultTtl, + }, + }, + }), + ); + manager.forPlugin('test').getClient(); + + const cache = Keyv as unknown as jest.Mock; + const mockCacheCalls = cache.mock.calls.splice(-1); + expect(mockCacheCalls[0][0]).toMatchObject({ + ttl: globalDefaultTtl, + }); + expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvMemcache); + const memcache = KeyvMemcache as unknown as jest.Mock; + const mockMemcacheCalls = memcache.mock.calls.splice(-1); + expect(mockMemcacheCalls[0][0]).toEqual(expectedHost); + }); + it('returns a Redis client when configured', () => { const redisConnection = 'redis://127.0.0.1:6379'; const manager = CacheManager.fromConfig( @@ -227,6 +274,32 @@ describe('CacheManager', () => { expect(mockRedisCalls[0][0]).toEqual(redisConnection); }); + it('returns a Redis client with a global defaultTtl when configured', () => { + const redisConnection = 'redis://127.0.0.1:6379'; + const manager = CacheManager.fromConfig( + new ConfigReader({ + backend: { + cache: { + store: 'redis', + connection: redisConnection, + defaultTtl: globalDefaultTtl, + }, + }, + }), + ); + manager.forPlugin('test').getClient(); + + const cache = Keyv as unknown as jest.Mock; + const mockCacheCalls = cache.mock.calls.splice(-1); + expect(mockCacheCalls[0][0]).toMatchObject({ + ttl: globalDefaultTtl, + }); + expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvRedis); + const redis = KeyvRedis as unknown as jest.Mock; + const mockRedisCalls = redis.mock.calls.splice(-1); + expect(mockRedisCalls[0][0]).toEqual(redisConnection); + }); + it('returns a Redis client when configured with useRedisSets flag', () => { const redisConnection = 'redis://127.0.0.1:6379'; const useRedisSets = false; diff --git a/packages/backend-common/src/cache/CacheManager.ts b/packages/backend-common/src/cache/CacheManager.ts index efaaf04e3a..c7298ab3e9 100644 --- a/packages/backend-common/src/cache/CacheManager.ts +++ b/packages/backend-common/src/cache/CacheManager.ts @@ -57,6 +57,7 @@ export class CacheManager { private readonly connection: string; private readonly useRedisSets: boolean; private readonly errorHandler: CacheManagerOptions['onError']; + private readonly defaultTtl?: number; /** * Creates a new {@link CacheManager} instance by reading from the `backend` @@ -71,6 +72,7 @@ export class CacheManager { // If no `backend.cache` config is provided, instantiate the CacheManager // with an in-memory cache client. const store = config.getOptionalString('backend.cache.store') || 'memory'; + const defaultTtl = config.getOptionalNumber('backend.cache.defaultTtl'); const connectionString = config.getOptionalString('backend.cache.connection') || ''; const useRedisSets = @@ -84,6 +86,7 @@ export class CacheManager { useRedisSets, logger, options.onError, + defaultTtl, ); } @@ -93,6 +96,7 @@ export class CacheManager { useRedisSets: boolean, logger: LoggerService, errorHandler: CacheManagerOptions['onError'], + defaultTtl?: number, ) { if (!this.storeFactories.hasOwnProperty(store)) { throw new Error(`Unknown cache store: ${store}`); @@ -102,6 +106,7 @@ export class CacheManager { this.connection = connectionString; this.useRedisSets = useRedisSets; this.errorHandler = errorHandler; + this.defaultTtl = defaultTtl; } /** @@ -116,7 +121,7 @@ export class CacheManager { const clientFactory = (options: CacheServiceOptions) => { const concreteClient = this.getClientWithTtl( pluginId, - options.defaultTtl, + options.defaultTtl ?? this.defaultTtl, ); // Always provide an error handler to avoid stopping the process. diff --git a/packages/backend-common/src/reading/GiteaUrlReader.test.ts b/packages/backend-common/src/reading/GiteaUrlReader.test.ts index 1860d9f461..a941d2e5aa 100644 --- a/packages/backend-common/src/reading/GiteaUrlReader.test.ts +++ b/packages/backend-common/src/reading/GiteaUrlReader.test.ts @@ -26,6 +26,8 @@ import { DefaultReadTreeResponseFactory } from './tree'; import getRawBody from 'raw-body'; import { GiteaUrlReader } from './GiteaUrlReader'; import { NotFoundError, NotModifiedError } from '@backstage/errors'; +import fs from 'fs-extra'; +import path from 'path'; const treeResponseFactory = DefaultReadTreeResponseFactory.create({ config: new ConfigReader({}), @@ -47,6 +49,7 @@ const giteaProcessor = new GiteaUrlReader( }), ), ), + { treeResponseFactory }, ); const createReader = (config: JsonObject): UrlReaderPredicateTuple[] => { @@ -247,4 +250,82 @@ describe('GiteaUrlReader', () => { ).rejects.toThrow(NotModifiedError); }); }); + + describe('readTree', () => { + const commitHash = '3bdd5457286abdf920db4b77bf2fef79a06190c2'; + + const repoBuffer = fs.readFileSync( + path.resolve(__dirname, '__fixtures__/mock-main.tar.gz'), + ); + + beforeEach(() => { + worker.use( + rest.get( + 'https://gitea.com/api/v1/repos/owner/project/git/commits/branch2', + (_, res, ctx) => { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json({ sha: commitHash }), + ); + }, + ), + ); + }); + + it('should be able to get archive', async () => { + worker.use( + rest.get( + 'https://gitea.com/api/v1/repos/owner/project/archive/branch2.tar.gz', + (_, res, ctx) => { + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/gzip'), + ctx.set( + 'content-disposition', + 'attachment; filename=backstage-mock.tar.gz', + ), + ctx.body(repoBuffer), + ); + }, + ), + ); + + const response = await giteaProcessor.readTree( + 'https://gitea.com/owner/project/src/branch/branch2', + ); + expect(response.etag).toBe(commitHash); + + const files = await response.files(); + expect(files.length).toBe(2); + }); + + it('should return not modified', async () => { + await expect( + giteaProcessor.readTree( + 'https://gitea.com/owner/project/src/branch/branch2', + { + etag: commitHash, + }, + ), + ).rejects.toThrow(NotModifiedError); + }); + + it('should return not found', async () => { + worker.use( + rest.get( + 'https://gitea.com/api/v1/repos/owner/project/git/commits/branch3', + (_, res, ctx) => { + return res(ctx.status(404)); + }, + ), + ); + + await expect( + giteaProcessor.readTree( + 'https://gitea.com/owner/project/src/branch/branch3', + ), + ).rejects.toThrow(NotFoundError); + }); + }); }); diff --git a/packages/backend-common/src/reading/GiteaUrlReader.ts b/packages/backend-common/src/reading/GiteaUrlReader.ts index 34542e878e..c8fab45157 100644 --- a/packages/backend-common/src/reading/GiteaUrlReader.ts +++ b/packages/backend-common/src/reading/GiteaUrlReader.ts @@ -14,15 +14,21 @@ * limitations under the License. */ import { - getGiteaRequestOptions, getGiteaFileContentsUrl, + getGiteaArchiveUrl, + getGiteaLatestCommitUrl, + parseGiteaUrl, + getGiteaRequestOptions, GiteaIntegration, ScmIntegrations, } from '@backstage/integration'; -import { ReadUrlOptions, ReadUrlResponse } from './types'; import { ReaderFactory, + ReadTreeOptions, ReadTreeResponse, + ReadTreeResponseFactory, + ReadUrlOptions, + ReadUrlResponse, SearchResponse, UrlReader, } from './types'; @@ -42,11 +48,11 @@ import { parseLastModified } from './util'; * @public */ export class GiteaUrlReader implements UrlReader { - static factory: ReaderFactory = ({ config }) => { + static factory: ReaderFactory = ({ config, treeResponseFactory }) => { return ScmIntegrations.fromConfig(config) .gitea.list() .map(integration => { - const reader = new GiteaUrlReader(integration); + const reader = new GiteaUrlReader(integration, { treeResponseFactory }); const predicate = (url: URL) => { return url.host === integration.config.host; }; @@ -54,7 +60,12 @@ export class GiteaUrlReader implements UrlReader { }); }; - constructor(private readonly integration: GiteaIntegration) {} + constructor( + private readonly integration: GiteaIntegration, + private readonly deps: { + treeResponseFactory: ReadTreeResponseFactory; + }, + ) {} async read(url: string): Promise { const response = await this.readUrl(url); @@ -113,9 +124,38 @@ export class GiteaUrlReader implements UrlReader { throw new Error(message); } - readTree(): Promise { - throw new Error('GiteaUrlReader readTree not implemented.'); + async readTree( + url: string, + options?: ReadTreeOptions, + ): Promise { + const lastCommitHash = await this.getLastCommitHash(url); + if (options?.etag && options.etag === lastCommitHash) { + throw new NotModifiedError(); + } + + const archiveUri = getGiteaArchiveUrl(this.integration.config, url); + + let response: Response; + try { + response = await fetch(archiveUri, { + method: 'GET', + ...getGiteaRequestOptions(this.integration.config), + signal: options?.signal as any, + }); + } catch (e) { + throw new Error(`Unable to read ${archiveUri}, ${e}`); + } + + const parsedUri = parseGiteaUrl(this.integration.config, url); + + return this.deps.treeResponseFactory.fromTarArchive({ + stream: Readable.from(response.body), + subpath: parsedUri.path, + etag: lastCommitHash, + filter: options?.filter, + }); } + search(): Promise { throw new Error('GiteaUrlReader search not implemented.'); } @@ -126,4 +166,22 @@ export class GiteaUrlReader implements UrlReader { this.integration.config.password, )}}`; } + + private async getLastCommitHash(url: string): Promise { + const commitUri = getGiteaLatestCommitUrl(this.integration.config, url); + + const response = await fetch( + commitUri, + getGiteaRequestOptions(this.integration.config), + ); + if (!response.ok) { + const message = `Failed to retrieve latest commit information from ${commitUri}, ${response.status} ${response.statusText}`; + if (response.status === 404) { + throw new NotFoundError(message); + } + throw new Error(message); + } + + return (await response.json()).sha; + } } diff --git a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts index ccf53e7cff..a80f688436 100644 --- a/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts +++ b/packages/backend-common/src/reading/tree/ZipArchiveResponse.test.ts @@ -196,12 +196,14 @@ describe('ZipArchiveResponse', () => { const fileSize = 1000 * 1000; const filePath = await new Promise((resolve, reject) => { const outFile = targetDir.resolve('large-archive.zip'); - const archive = createArchive('zip'); + const outStream = fs.createWriteStream(outFile); + outStream.on('close', () => resolve(outFile)); + + const archive = createArchive('zip'); archive.on('error', reject); - archive.on('end', () => resolve(outFile)); - archive.pipe(fs.createWriteStream(outFile)); archive.on('warning', w => console.warn('WARN', w)); + archive.pipe(outStream); for (let i = 0; i < fileCount; i++) { // Workaround for https://github.com/archiverjs/node-archiver/issues/542 diff --git a/packages/backend-common/src/scm/git.test.ts b/packages/backend-common/src/scm/git.test.ts index 5ec960fc53..7533c6e2f3 100644 --- a/packages/backend-common/src/scm/git.test.ts +++ b/packages/backend-common/src/scm/git.test.ts @@ -190,7 +190,7 @@ describe('Git', () => { }); }); - it('should pass a function that returns the authorization as the onAuth handler', async () => { + it('should pass a function that returns the authorization as the onAuth handler when username and password are specified', async () => { const url = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; const auth = { @@ -208,6 +208,25 @@ describe('Git', () => { expect(onAuth()).toEqual(auth); }); + it('should pass the provided callback as the onAuth handler when on auth is specified', async () => { + const url = 'http://github.com/some/repo'; + const dir = '/some/mock/dir'; + const auth = { + username: 'from', + password: 'callback', + }; + + const git = Git.fromAuth({ onAuth: () => auth }); + + await git.clone({ url, dir }); + + const { onAuth } = ( + isomorphic.clone as unknown as jest.Mock<(typeof isomorphic)['clone']> + ).mock.calls[0][0]!; + + expect(onAuth()).toEqual(auth); + }); + it('should propagate the data from the error handler', async () => { const url = 'http://github.com/some/repo'; const dir = '/some/mock/dir'; diff --git a/packages/backend-common/src/scm/git.ts b/packages/backend-common/src/scm/git.ts index 8ccdbeafbd..364e1bacd5 100644 --- a/packages/backend-common/src/scm/git.ts +++ b/packages/backend-common/src/scm/git.ts @@ -18,11 +18,40 @@ import git, { ProgressCallback, MergeResult, ReadCommitResult, + AuthCallback, } from 'isomorphic-git'; import http from 'isomorphic-git/http/node'; import fs from 'fs-extra'; import { LoggerService } from '@backstage/backend-plugin-api'; +function isAuthCallbackOptions( + options: StaticAuthOptions | AuthCallbackOptions, +): options is AuthCallbackOptions { + return 'onAuth' in options; +} + +/** + * Configure static credential for authentication + * + * @public + */ +export type StaticAuthOptions = { + username?: string; + password?: string; + token?: string; + logger?: LoggerService; +}; + +/** + * Configure an authentication callback that can provide credentials on demand + * + * @public + */ +export type AuthCallbackOptions = { + onAuth: AuthCallback; + logger?: LoggerService; +}; + /* provider username password Azure 'notempty' token @@ -42,6 +71,7 @@ instead of Basic Auth (e.g., Bitbucket Server). * * @public */ + export class Git { private readonly headers: { [x: string]: string; @@ -49,12 +79,13 @@ export class Git { private constructor( private readonly config: { - username?: string; - password?: string; + onAuth: AuthCallback; token?: string; logger?: LoggerService; }, ) { + this.onAuth = config.onAuth; + this.headers = { 'user-agent': 'git/@isomorphic-git', ...(config.token ? { Authorization: `Bearer ${config.token}` } : {}), @@ -288,10 +319,7 @@ export class Git { }); } - private onAuth = () => ({ - username: this.config.username, - password: this.config.password, - }); + private onAuth: AuthCallback; private onProgressHandler = (): ProgressCallback => { let currentPhase = ''; @@ -308,13 +336,13 @@ export class Git { }; }; - static fromAuth = (options: { - username?: string; - password?: string; - token?: string; - logger?: LoggerService; - }) => { + static fromAuth = (options: StaticAuthOptions | AuthCallbackOptions) => { + if (isAuthCallbackOptions(options)) { + const { onAuth, logger } = options; + return new Git({ onAuth, logger }); + } + const { username, password, token, logger } = options; - return new Git({ username, password, token, logger }); + return new Git({ onAuth: () => ({ username, password }), token, logger }); }; } diff --git a/packages/backend-common/src/scm/index.ts b/packages/backend-common/src/scm/index.ts index ceba752c9e..f9c59e99eb 100644 --- a/packages/backend-common/src/scm/index.ts +++ b/packages/backend-common/src/scm/index.ts @@ -15,3 +15,4 @@ */ export { Git } from './git'; +export type { StaticAuthOptions, AuthCallbackOptions } from './git'; diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index f5e8637475..9c901e9cf9 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/backend-defaults +## 0.2.7 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-app-api@0.5.8 + ## 0.2.7-next.2 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 7c7a5f8813..4ae1c8fadc 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.7-next.2", + "version": "0.2.7", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index f94cc2b82d..0970dd2c1f 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,46 @@ # example-backend-next +## 0.0.17 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-kubernetes-backend@0.13.1 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/plugin-catalog-backend-module-backstage-openapi@0.1.0 + - @backstage/plugin-techdocs-backend@1.9.0 + - @backstage/plugin-scaffolder-backend@1.19.0 + - @backstage/plugin-search-backend@1.4.7 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.4 + - @backstage/plugin-entity-feedback-backend@0.2.4 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-linguist-backend@0.5.4 + - @backstage/plugin-playlist-backend@0.3.11 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-badges-backend@0.3.4 + - @backstage/plugin-app-backend@0.3.55 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-jenkins-backend@0.3.1 + - @backstage/plugin-adr-backend@0.4.4 + - @backstage/plugin-proxy-backend@0.4.5 + - @backstage/plugin-catalog-backend-module-openapi@0.1.24 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @backstage/plugin-lighthouse-backend@0.3.4 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @backstage/plugin-todo-backend@0.3.5 + - @backstage/plugin-devtools-backend@0.2.4 + - @backstage/backend-defaults@0.2.7 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-azure-devops-backend@0.4.4 + - @backstage/plugin-nomad-backend@0.1.9 + - @backstage/plugin-permission-backend@0.5.30 + - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.4 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-sonarqube-backend@0.2.9 + ## 0.0.17-next.2 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index c26e97de3d..5c52d5b79b 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.17-next.2", + "version": "0.0.17", "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 3ac4d9f3a8..04b4a8d0ba 100644 --- a/packages/backend-openapi-utils/CHANGELOG.md +++ b/packages/backend-openapi-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/backend-openapi-utils +## 0.1.0 + +### Minor Changes + +- 785fb1ea75: Adds a new route, `/openapi.json` to validated routers for displaying their full OpenAPI spec in a standard endpoint. + +### Patch Changes + +- 6694b369a3: Adds a new function `wrapInOpenApiTestServer` that allows for proxied requests at runtime. This will support the new `yarn backstage-repo-tools schema openapi test` command. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.2 ### Patch Changes diff --git a/packages/backend-openapi-utils/api-report.md b/packages/backend-openapi-utils/api-report.md index 67132ca74b..0d78ec9671 100644 --- a/packages/backend-openapi-utils/api-report.md +++ b/packages/backend-openapi-utils/api-report.md @@ -61,12 +61,13 @@ type ComponentTypes = Extract< >; // @public (undocumented) -type ConvertAll = []> = T extends [ - infer First extends JSONSchema7, - ...infer Rest, -] - ? ConvertAll]> - : R; +type ConvertAll> = { + [Index in keyof T]: T[Index] extends JSONSchema7 + ? FromSchema + : T[Index]; +} & { + length: T['length']; +}; // @public (undocumented) interface CookieObject extends ParameterObject { diff --git a/packages/backend-openapi-utils/package.json b/packages/backend-openapi-utils/package.json index 7517156d84..f1f5bf8675 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.0-next.2", + "version": "0.1.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend-openapi-utils/src/types/common.ts b/packages/backend-openapi-utils/src/types/common.ts index c3c7284369..f9dedf2f84 100644 --- a/packages/backend-openapi-utils/src/types/common.ts +++ b/packages/backend-openapi-utils/src/types/common.ts @@ -220,12 +220,11 @@ export type TuplifyUnion< /** * @public */ -export type ConvertAll = []> = T extends [ - infer First extends JSONSchema7, - ...infer Rest, -] - ? ConvertAll]> - : R; +export type ConvertAll> = { + [Index in keyof T]: T[Index] extends JSONSchema7 + ? FromSchema + : T[Index]; +} & { length: T['length'] }; /** * @public diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 8121b848e0..0a1fd56bcb 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-plugin-api +## 0.6.7 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + ## 0.6.7-next.2 ### Patch Changes diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index 458958ab29..c930ef5d15 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.7-next.2", + "version": "0.6.7", "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 fd4bd03ba6..dc07175fd3 100644 --- a/packages/backend-plugin-manager/CHANGELOG.md +++ b/packages/backend-plugin-manager/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/backend-plugin-manager +## 0.0.3 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/cli-node@0.2.0 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-events-backend@0.2.16 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-search-common@1.2.8 + ## 0.0.3-next.2 ### Patch Changes diff --git a/packages/backend-plugin-manager/package.json b/packages/backend-plugin-manager/package.json index f58c678c09..2afa6c0ed5 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.3-next.2", + "version": "0.0.3", "private": true, "main": "src/index.ts", "types": "src/index.ts", diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index e2d9a7abda..8269059ce1 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/backend-tasks +## 0.5.12 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.5.12-next.2 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index 306dace806..565e6c4b8c 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.12-next.2", + "version": "0.5.12", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-tasks/src/tasks/TaskWorker.ts b/packages/backend-tasks/src/tasks/TaskWorker.ts index 4e10f0b5b2..fe327b38d6 100644 --- a/packages/backend-tasks/src/tasks/TaskWorker.ts +++ b/packages/backend-tasks/src/tasks/TaskWorker.ts @@ -51,6 +51,15 @@ export class TaskWorker { `Task worker starting: ${this.taskId}, ${JSON.stringify(settings)}`, ); + let workCheckFrequency = this.workCheckFrequency; + const isCron = !settings?.cadence.startsWith('P'); + if (!isCron) { + const cadence = Duration.fromISO(settings.cadence); + if (cadence < workCheckFrequency) { + workCheckFrequency = cadence; + } + } + let attemptNum = 1; (async () => { for (;;) { @@ -69,7 +78,7 @@ export class TaskWorker { break; } - await sleep(this.workCheckFrequency, options?.signal); + await sleep(workCheckFrequency, options?.signal); } this.logger.info(`Task worker finished: ${this.taskId}`); diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index ea7e1927dd..04eabe2dff 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/backend-test-utils +## 0.2.8 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- bb688f7b3b: Ensure recursive deletion of temporary directories in tests +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-app-api@0.5.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + ## 0.2.8-next.2 ### Patch Changes diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index 41ffa38a57..d88c21d5db 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.8-next.2", + "version": "0.2.8", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 44fd12f126..414904652d 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,64 @@ # example-backend +## 0.2.89 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-search-backend-module-pg@0.5.16 + - @backstage/plugin-kubernetes-backend@0.13.1 + - @backstage/plugin-search-backend-node@1.2.11 + - @backstage/integration@1.7.2 + - @backstage/plugin-auth-backend@0.20.0 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-techdocs-backend@1.9.0 + - @backstage/plugin-code-coverage-backend@0.2.21 + - @backstage/plugin-scaffolder-backend@1.19.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.3.10 + - @backstage/plugin-search-backend@1.4.7 + - @backstage/plugin-catalog-backend-module-unprocessed@0.3.4 + - @backstage/plugin-entity-feedback-backend@0.2.4 + - @backstage/plugin-tech-insights-backend@0.5.21 + - @backstage/plugin-linguist-backend@0.5.4 + - @backstage/plugin-playlist-backend@0.3.11 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-badges-backend@0.3.4 + - @backstage/plugin-app-backend@0.3.55 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-jenkins-backend@0.3.1 + - @backstage/plugin-adr-backend@0.4.4 + - @backstage/plugin-kafka-backend@0.3.5 + - @backstage/plugin-proxy-backend@0.4.5 + - example-app@0.2.89 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @backstage/plugin-lighthouse-backend@0.3.4 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @backstage/plugin-todo-backend@0.3.5 + - @backstage/plugin-devtools-backend@0.2.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-azure-devops-backend@0.4.4 + - @backstage/plugin-azure-sites-backend@0.1.17 + - @backstage/plugin-events-backend@0.2.16 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-explore-backend@0.0.17 + - @backstage/plugin-graphql-backend@0.2.1 + - @backstage/plugin-nomad-backend@0.1.9 + - @backstage/plugin-permission-backend@0.5.30 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-rollbar-backend@0.1.52 + - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.8 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.24 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-search-common@1.2.8 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.39 + - @backstage/plugin-tech-insights-node@0.4.13 + ## 0.2.89-next.2 ### Patch Changes diff --git a/packages/backend/Dockerfile b/packages/backend/Dockerfile index 5667209330..e0e6ab8a31 100644 --- a/packages/backend/Dockerfile +++ b/packages/backend/Dockerfile @@ -47,7 +47,6 @@ COPY --chown=node:node .yarnrc.yml ./ COPY --chown=node:node yarn.lock package.json packages/backend/dist/skeleton.tar.gz ./ RUN tar xzf skeleton.tar.gz && rm skeleton.tar.gz -# Note that this install is not immutable, which is one of the reasons we don't recommend Yarn 3 yet RUN --mount=type=cache,target=/home/node/.yarn/berry/cache,sharing=locked,uid=1000,gid=1000 \ yarn workspaces focus --all --production diff --git a/packages/backend/package.json b/packages/backend/package.json index 637c0d2890..cfa234a552 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.89-next.2", + "version": "0.2.89", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", @@ -81,7 +81,7 @@ "@gitbeaker/node": "^35.1.0", "@octokit/rest": "^19.0.3", "@opentelemetry/api": "^1.4.1", - "@opentelemetry/exporter-prometheus": "^0.44.0", + "@opentelemetry/exporter-prometheus": "^0.45.0", "@opentelemetry/sdk-metrics": "^1.13.0", "azure-devops-node-api": "^11.0.1", "better-sqlite3": "^9.0.0", diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index b3c1aeb56f..7a2618f0e0 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/catalog-client +## 1.4.6 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 1.4.5 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index 28cbe0879a..02c30ee19b 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.4.5", + "version": "1.4.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "dependencies": { "@backstage/catalog-model": "workspace:^", "@backstage/errors": "workspace:^", - "cross-fetch": "^3.1.5" + "cross-fetch": "^4.0.0" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/packages/cli-node/CHANGELOG.md b/packages/cli-node/CHANGELOG.md index efe94c5ffa..d13b9593cd 100644 --- a/packages/cli-node/CHANGELOG.md +++ b/packages/cli-node/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/cli-node +## 0.2.0 + +### Minor Changes + +- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.0-next.0 ### Minor Changes diff --git a/packages/cli-node/package.json b/packages/cli-node/package.json index 74051dbd94..36368fd4a9 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-next.0", + "version": "0.2.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index c2f25872bf..30d971fb30 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/cli +## 0.24.0 + +### Minor Changes + +- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead. +- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`. + +### Patch Changes + +- 4ba4ac351f: Switch from using deprecated `@esbuild-kit/*` packages to using `tsx`. This also switches to using the new module loader `register` API when available, avoiding the experimental warning when starting backends. +- cd80ebb062: Updated dependency `vite-plugin-node-polyfills` to `^0.16.0`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 971dcba764: Updated dependency `@typescript-eslint/eslint-plugin` to `6.10.0`. +- 6bf7561d3c: The experimental package detection will now ignore packages that don't make `package.json` available. +- e14cbf563d: Added `EXPERIMENTAL_VITE` flag for using [vite](https://vitejs.dev) as dev server instead of Webpack +- 7cd34392f5: Ignore `stdin` when spawning backend child process for the `start` command. Fixing an issue where backend startup would hang. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/cli-node@0.2.0 + - @backstage/integration@1.7.2 + - @backstage/release-manifests@0.0.11 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/eslint-plugin@0.1.3 + - @backstage/types@1.1.1 + ## 0.24.0-next.1 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 6ef0e76564..d08b0b033f 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.24.0-next.1", + "version": "0.24.0", "publishConfig": { "access": "public" }, @@ -64,7 +64,7 @@ "@swc/jest": "^0.2.22", "@types/jest": "^29.0.0", "@types/webpack-env": "^1.15.2", - "@typescript-eslint/eslint-plugin": "6.7.5", + "@typescript-eslint/eslint-plugin": "6.10.0", "@typescript-eslint/parser": "^6.7.2", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0-rc.4", @@ -73,7 +73,7 @@ "chalk": "^4.0.0", "chokidar": "^3.3.1", "commander": "^9.1.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "cross-spawn": "^7.0.3", "css-loader": "^6.5.1", "ctrlc-windows": "^2.1.0", @@ -170,14 +170,13 @@ "del": "^7.0.0", "msw": "^1.0.0", "nodemon": "^3.0.1", - "ts-node": "^10.0.0", - "type-fest": "^2.19.0" + "ts-node": "^10.0.0" }, "peerDependencies": { "@vitejs/plugin-react": "^4.0.4", "vite": "^4.4.9", "vite-plugin-html": "^3.2.0", - "vite-plugin-node-polyfills": "^0.14.1" + "vite-plugin-node-polyfills": "^0.16.0" }, "peerDependenciesMeta": { "@vitejs/plugin-react": { diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md index 269c1b5c31..169e2e45df 100644 --- a/packages/config-loader/CHANGELOG.md +++ b/packages/config-loader/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/config-loader +## 1.5.3 + +### Patch Changes + +- 22ca64f117: Correctly resolve config targets into absolute paths +- 087bab5b42: Updated dependency `typescript-json-schema` to `^0.62.0`. +- Updated dependencies + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 1.5.2-next.0 ### Patch Changes diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index 2ed08e98c0..8a41d7548f 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.5.3-next.0", + "version": "1.5.3", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -47,7 +47,7 @@ "lodash": "^4.17.21", "minimist": "^1.2.5", "node-fetch": "^2.6.7", - "typescript-json-schema": "^0.61.0", + "typescript-json-schema": "^0.62.0", "yaml": "^2.0.0" }, "devDependencies": { diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 3ce35f99c0..2a96790527 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/core-app-api +## 1.11.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 89d13e5618: Add current and default scopes when refreshing session +- 9ab0572217: Add component data `core.type` marker for `AppRouter` and `FlatRoutes`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 1.11.1-next.0 ### Patch Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index 2a5a3cf0c8..1465b6d2dd 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.1-next.0", + "version": "1.11.1", "publishConfig": { "access": "public" }, diff --git a/packages/core-compat-api/CHANGELOG.md b/packages/core-compat-api/CHANGELOG.md index 174d695533..244e7c4f23 100644 --- a/packages/core-compat-api/CHANGELOG.md +++ b/packages/core-compat-api/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/core-compat-api +## 0.0.1 + +### Patch Changes + +- Updated dependencies + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + ## 0.0.1-next.2 ### Patch Changes diff --git a/packages/core-compat-api/api-report.md b/packages/core-compat-api/api-report.md index 3dd2eb6b22..877aefa24f 100644 --- a/packages/core-compat-api/api-report.md +++ b/packages/core-compat-api/api-report.md @@ -5,9 +5,16 @@ ```ts /// +import { AnyRouteRefParams } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/frontend-plugin-api'; import { ExtensionOverrides } from '@backstage/frontend-plugin-api'; +import { ExternalRouteRef } from '@backstage/core-plugin-api'; +import { ExternalRouteRef as ExternalRouteRef_2 } from '@backstage/frontend-plugin-api'; import { default as React_2 } from 'react'; +import { RouteRef } from '@backstage/core-plugin-api'; +import { RouteRef as RouteRef_2 } from '@backstage/frontend-plugin-api'; +import { SubRouteRef } from '@backstage/core-plugin-api'; +import { SubRouteRef as SubRouteRef_2 } from '@backstage/frontend-plugin-api'; // @public (undocumented) export function collectLegacyRoutes( @@ -19,5 +26,23 @@ export function convertLegacyApp( rootElement: React_2.JSX.Element, ): (ExtensionOverrides | BackstagePlugin)[]; +// @public +export function convertLegacyRouteRef( + ref: RouteRef, +): RouteRef_2; + +// @public +export function convertLegacyRouteRef( + ref: SubRouteRef, +): SubRouteRef_2; + +// @public +export function convertLegacyRouteRef< + TParams extends AnyRouteRefParams, + TOptional extends boolean, +>( + ref: ExternalRouteRef, +): ExternalRouteRef_2; + // (No @packageDocumentation comment for this package) ``` diff --git a/packages/core-compat-api/package.json b/packages/core-compat-api/package.json index a9bdfe2ff9..7ead3d858f 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.0.1-next.2", + "version": "0.0.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,7 +25,6 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@backstage/core-app-api": "workspace:^", "@backstage/plugin-puppetdb": "workspace:^", "@backstage/plugin-stackstorm": "workspace:^", "@oriflame/backstage-plugin-score-card": "^0.7.0", @@ -39,6 +38,7 @@ "react-router-dom": "6.0.0-beta.0 || ^6.3.0" }, "dependencies": { + "@backstage/core-app-api": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^" } diff --git a/packages/core-compat-api/src/collectLegacyRoutes.tsx b/packages/core-compat-api/src/collectLegacyRoutes.tsx index 8178de2876..037107bfda 100644 --- a/packages/core-compat-api/src/collectLegacyRoutes.tsx +++ b/packages/core-compat-api/src/collectLegacyRoutes.tsx @@ -28,7 +28,7 @@ import { RouteRef, getComponentData, } from '@backstage/core-plugin-api'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from './convertLegacyRouteRef'; /* diff --git a/packages/core-plugin-api/src/routing/convertLegacyRouteRef.ts b/packages/core-compat-api/src/convertLegacyRouteRef.ts similarity index 79% rename from packages/core-plugin-api/src/routing/convertLegacyRouteRef.ts rename to packages/core-compat-api/src/convertLegacyRouteRef.ts index 940a4174a9..2495f3719c 100644 --- a/packages/core-plugin-api/src/routing/convertLegacyRouteRef.ts +++ b/packages/core-compat-api/src/convertLegacyRouteRef.ts @@ -14,7 +14,6 @@ * limitations under the License. */ -import { routeRefType } from './types'; import { RouteRef as LegacyRouteRef, SubRouteRef as LegacySubRouteRef, @@ -22,9 +21,9 @@ import { AnyRouteRefParams, } from '@backstage/core-plugin-api'; -// Relative imports to avoid dependency, at least for now - // eslint-disable-next-line @backstage/no-relative-monorepo-imports +import { routeRefType } from '../../core-plugin-api/src/routing/types'; + import { RouteRef, SubRouteRef, @@ -32,29 +31,14 @@ import { createRouteRef, createSubRouteRef, createExternalRouteRef, -} from '../../../frontend-plugin-api/src/routing'; +} from '@backstage/frontend-plugin-api'; + // eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { toInternalRouteRef } from '../../../frontend-plugin-api/src/routing/RouteRef'; +import { toInternalRouteRef } from '../../frontend-plugin-api/src/routing/RouteRef'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { toInternalSubRouteRef } from '../../../frontend-plugin-api/src/routing/SubRouteRef'; +import { toInternalSubRouteRef } from '../../frontend-plugin-api/src/routing/SubRouteRef'; // eslint-disable-next-line @backstage/no-relative-monorepo-imports -import { toInternalExternalRouteRef } from '../../../frontend-plugin-api/src/routing/ExternalRouteRef'; - -// TODO(Rugvip): Once this is moved to a compat package these aliases can be removed and imported from frontend- instead - -/** @ignore */ -type NewRouteRef = - RouteRef; - -/** @ignore */ -type NewSubRouteRef = - SubRouteRef; - -/** @ignore */ -type NewExternalRouteRef< - TParams extends AnyRouteRefParams = AnyRouteRefParams, - TOptional extends boolean = boolean, -> = ExternalRouteRef; +import { toInternalExternalRouteRef } from '../../frontend-plugin-api/src/routing/ExternalRouteRef'; /** * A temporary helper to convert a legacy route ref to the new system. @@ -66,7 +50,7 @@ type NewExternalRouteRef< */ export function convertLegacyRouteRef( ref: LegacyRouteRef, -): NewRouteRef; +): RouteRef; /** * A temporary helper to convert a legacy sub route ref to the new system. @@ -78,7 +62,7 @@ export function convertLegacyRouteRef( */ export function convertLegacyRouteRef( ref: LegacySubRouteRef, -): NewSubRouteRef; +): SubRouteRef; /** * A temporary helper to convert a legacy external route ref to the new system. @@ -93,14 +77,14 @@ export function convertLegacyRouteRef< TOptional extends boolean, >( ref: LegacyExternalRouteRef, -): NewExternalRouteRef; +): ExternalRouteRef; export function convertLegacyRouteRef( ref: LegacyRouteRef | LegacySubRouteRef | LegacyExternalRouteRef, -): NewRouteRef | NewSubRouteRef | NewExternalRouteRef { +): RouteRef | SubRouteRef | ExternalRouteRef { // Ref has already been converted if ('$$type' in ref) { - return ref as unknown as NewRouteRef | NewSubRouteRef | NewExternalRouteRef; + return ref as unknown as RouteRef | SubRouteRef | ExternalRouteRef; } const type = (ref as unknown as { [routeRefType]: unknown })[routeRefType]; diff --git a/packages/core-compat-api/src/index.ts b/packages/core-compat-api/src/index.ts index e5f61119a3..421ced7054 100644 --- a/packages/core-compat-api/src/index.ts +++ b/packages/core-compat-api/src/index.ts @@ -15,3 +15,4 @@ */ export { collectLegacyRoutes } from './collectLegacyRoutes'; export { convertLegacyApp } from './convertLegacyApp'; +export { convertLegacyRouteRef } from './convertLegacyRouteRef'; diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index fd25c6bbc5..8105c3c832 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,34 @@ # @backstage/core-components +## 0.13.8 + +### Patch Changes + +- 81c8db2088: Fix `RoutedTabs` so that it does not explode without tabs. +- eb817ee6d4: Fix spacing inconsistency with links and labels in headers +- f28c11743a: Add a possibility to use a formatter on a warning panel. Applied it for a scaffolder template +- 6c2b872153: Add official support for React 18. +- e07570a740: Fixed an issue causing the `Select` component to show empty chips when some of the selected values did not match any item +- 7bdc1b0a12: Fixed compatibility with Safari <16.3 by eliminating RegEx lookbehind in `extractInitials`. + + This PR also changed how initials are generated resulting in _John Jonathan Doe_ => _JD_ instead of _JJ_. + +- 66071b42c0: Make the `options.titleFormat` prop of `` apply to all keys including nested ones. Previously, this option would only apply to the root keys of the `metadata` prop. + + Document and improve the props of ``. Previously, the `options` prop was `any`. + +- 71c97e7d73: Fixed the type declaration of `DependencyGraphProps`, the `defs` prop now expects `JSX.Element`s. +- 0c5b78650c: Reverting the `MissingAnnotationEmptyState` component due to cyclical dependency. This component is now deprecated, please use the import from `@backstage/plugin-catalog-react` instead to use the new functionality +- 4b7d341746: Updated dependency `linkify-react` to `4.1.2`. +- 0ef24425c1: Updated dependency `linkifyjs` to `4.1.2`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.13.8-next.2 ### Patch Changes diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index c76843e50e..d03d51f4fd 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -120,10 +120,10 @@ export type BottomLinkProps = { onClick?: (event: React_2.MouseEvent) => void; }; -// Warning: (ae-forgotten-export) The symbol "Props_19" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_18" needs to be exported by the entry point index.d.ts // // @public -export function Breadcrumbs(props: Props_19): React_2.JSX.Element; +export function Breadcrumbs(props: Props_18): React_2.JSX.Element; // @public (undocumented) export type BreadcrumbsClickableTextClassKey = 'root'; @@ -177,11 +177,11 @@ export interface CodeSnippetProps { text: string; } -// Warning: (ae-forgotten-export) The symbol "Props_13" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_12" needs to be exported by the entry point index.d.ts // // @public export function Content( - props: PropsWithChildren, + props: PropsWithChildren, ): React_2.JSX.Element; // Warning: (ae-forgotten-export) The symbol "ContentHeaderProps" needs to be exported by the entry point index.d.ts @@ -455,10 +455,10 @@ export function GitHubIcon(props: IconComponentProps): React_2.JSX.Element; // @public (undocumented) export function GroupIcon(props: IconComponentProps): React_2.JSX.Element; -// Warning: (ae-forgotten-export) The symbol "Props_14" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_13" needs to be exported by the entry point index.d.ts // // @public -export function Header(props: PropsWithChildren): React_2.JSX.Element; +export function Header(props: PropsWithChildren): React_2.JSX.Element; // @public (undocumented) export function HeaderActionMenu( @@ -565,10 +565,10 @@ export type IconLinkVerticalProps = { // @public (undocumented) export type IdentityProviders = ('guest' | 'custom' | SignInProviderConfig)[]; -// Warning: (ae-forgotten-export) The symbol "Props_15" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_14" needs to be exported by the entry point index.d.ts // // @public -export function InfoCard(props: Props_15): JSX.Element; +export function InfoCard(props: Props_14): JSX.Element; // @public (undocumented) export type InfoCardClassKey = @@ -796,11 +796,11 @@ export function OverflowTooltip(props: Props_9): React_2.JSX.Element; // @public (undocumented) export type OverflowTooltipClassKey = 'container'; -// Warning: (ae-forgotten-export) The symbol "Props_16" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_15" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "Page" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export function Page(props: Props_16): React_2.JSX.Element; +export function Page(props: Props_15): React_2.JSX.Element; // Warning: (ae-missing-release-tag) "PageClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -1126,11 +1126,11 @@ export type SidebarSubmenuProps = { children: ReactNode; }; -// Warning: (ae-forgotten-export) The symbol "Props_17" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_16" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "SignInPage" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export function SignInPage(props: Props_17): React_2.JSX.Element; +export function SignInPage(props: Props_16): React_2.JSX.Element; // Warning: (ae-missing-release-tag) "SignInPageClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -1223,11 +1223,10 @@ export function StatusWarning( props: PropsWithChildren<{}>, ): React_2.JSX.Element; -// Warning: (ae-forgotten-export) The symbol "Props_12" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "StructuredMetadataTable" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// // @public (undocumented) -export function StructuredMetadataTable(props: Props_12): React_2.JSX.Element; +export function StructuredMetadataTable( + props: StructuredMetadataTableProps, +): React_2.JSX.Element; // Warning: (ae-missing-release-tag) "StructuredMetadataTableListClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // @@ -1239,6 +1238,20 @@ export type StructuredMetadataTableListClassKey = 'root'; // @public (undocumented) export type StructuredMetadataTableNestedListClassKey = 'root'; +// @public (undocumented) +export interface StructuredMetadataTableProps { + // (undocumented) + dense?: boolean; + // (undocumented) + metadata: { + [key: string]: any; + }; + // (undocumented) + options?: { + titleFormat?: (key: string) => string; + }; +} + // @public (undocumented) export type SubmenuOptions = { drawerWidthClosed?: number; @@ -1306,12 +1319,12 @@ export type Tab = { >; }; -// Warning: (ae-forgotten-export) The symbol "Props_18" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "Props_17" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "TabbedCard" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) export function TabbedCard( - props: PropsWithChildren, + props: PropsWithChildren, ): React_2.JSX.Element; // Warning: (ae-missing-release-tag) "TabbedCardClassKey" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 9ee2d09663..7a031a09f6 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.8-next.2", + "version": "0.13.8", "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -55,8 +55,8 @@ "dagre": "^0.8.5", "history": "^5.0.0", "immer": "^9.0.1", - "linkify-react": "4.1.1", - "linkifyjs": "4.1.1", + "linkify-react": "4.1.2", + "linkifyjs": "4.1.2", "lodash": "^4.17.21", "pluralize": "^8.0.0", "qs": "^6.9.4", @@ -100,7 +100,7 @@ "@types/react-virtualized-auto-sizer": "^1.0.1", "@types/react-window": "^1.8.5", "@types/zen-observable": "^0.8.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/packages/core-components/src/components/Select/Select.tsx b/packages/core-components/src/components/Select/Select.tsx index 918ce301fb..ec7f87eb94 100644 --- a/packages/core-components/src/components/Select/Select.tsx +++ b/packages/core-components/src/components/Select/Select.tsx @@ -218,15 +218,20 @@ export function SelectComponent(props: SelectProps) { renderValue={s => multiple && (value as any[]).length !== 0 ? ( - {(s as string[]).map(selectedValue => ( - el.value === selectedValue)?.value} - label={items.find(el => el.value === selectedValue)?.label} - clickable - onDelete={handleDelete(selectedValue)} - className={classes.chip} - /> - ))} + {(s as string[]).map(selectedValue => { + const item = items.find(el => el.value === selectedValue); + return item ? ( + + ) : ( + false + ); + })} ) : ( diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.stories.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.stories.tsx index f48e959073..17d01090a7 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.stories.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.stories.tsx @@ -71,3 +71,19 @@ export const NotDenseTable = () => ( ); + +export const WithoutKeyFormatting = () => ( + + +
+ key }} + /> +
+
+
+); diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx index db7c53897d..4eb05e715e 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.test.tsx @@ -115,4 +115,60 @@ describe('', () => { } }); }); + + describe('Title formatting', () => { + const metadata = { + testA: 'stuff', + testB: { testC: 'stuff' }, + testD: [{ testE: 'stuff' }], + }; + + it('should make keys human readable', async () => { + const rendered = render(); + expect(rendered.queryByText(/^Test A/)).toBeInTheDocument(); + expect(rendered.queryByText(/^Test B/)).toBeInTheDocument(); + expect(rendered.queryByText(/^Test C/)).toBeInTheDocument(); + expect(rendered.queryByText(/^Test D/)).toBeInTheDocument(); + expect(rendered.queryByText(/^Test E/)).toBeInTheDocument(); + }); + + it('should be possible to disable it', async () => { + const rendered = render( + key }} + />, + ); + expect(rendered.queryByText(/^testA/)).toBeInTheDocument(); + expect(rendered.queryByText(/^testB/)).toBeInTheDocument(); + expect(rendered.queryByText(/^testC/)).toBeInTheDocument(); + expect(rendered.queryByText(/^testD/)).toBeInTheDocument(); + expect(rendered.queryByText(/^testE/)).toBeInTheDocument(); + }); + + it('should be customizable', async () => { + const spongeBobCase = (key: string) => + key + .split('') + .map((letter, index) => { + if (index % 2 === 0) { + return letter.toLocaleLowerCase('en-US'); + } + return letter.toLocaleUpperCase('en-US'); + }) + .join(''); + + const rendered = render( + , + ); + expect(rendered.queryByText(/^tEsTa/)).toBeInTheDocument(); + expect(rendered.queryByText(/^tEsTb/)).toBeInTheDocument(); + expect(rendered.queryByText(/^tEsTc/)).toBeInTheDocument(); + expect(rendered.queryByText(/^tEsTd/)).toBeInTheDocument(); + expect(rendered.queryByText(/^tEsTe/)).toBeInTheDocument(); + }); + }); }); diff --git a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx index 2b18f6ad19..3099edf9d8 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/StructuredMetadataTable.tsx @@ -65,9 +65,11 @@ const StyledNestedList = withStyles(nestedListStyle, { {children} )); -function renderList(list: Array, nested?: boolean) { +function renderList(list: Array, options: Options, nested: boolean) { const values = list.map((item: any, index: number) => ( - {toValue(item)} + + {toValue(item, options, nested)} + )); return nested ? ( {values} @@ -78,19 +80,15 @@ function renderList(list: Array, nested?: boolean) { function renderMap( map: { [key: string]: any }, - nested?: boolean, - options?: any, + options: Options, + nested: boolean, ) { const values = Object.keys(map).map(key => { - const value = toValue(map[key], true); - const fmtKey = - options && options.titleFormat - ? options.titleFormat(key) - : startCase(key); + const value = toValue(map[key], options, true); return ( - {`${fmtKey}: `} + {`${options.titleFormat(key)}: `} {value} @@ -106,8 +104,8 @@ function renderMap( function toValue( value: ReactElement | object | Array | boolean, - options?: any, - nested?: boolean, + options: Options, + nested: boolean, ) { if (React.isValidElement(value)) { return {value}; @@ -118,7 +116,7 @@ function toValue( } if (Array.isArray(value)) { - return renderList(value, nested); + return renderList(value, options, nested); } if (typeof value === 'boolean') { @@ -131,8 +129,8 @@ function toValue(
); } -const ItemValue = ({ value, options }: { value: any; options: any }) => ( - {toValue(value, options)} +const ItemValue = ({ value, options }: { value: any; options: Options }) => ( + {toValue(value, options, false)} ); const TableItem = ({ @@ -142,35 +140,44 @@ const TableItem = ({ }: { title: string; value: any; - options: any; + options: Options; }) => { return ( - + ); }; -function mapToItems(info: { [key: string]: string }, options: any) { +function mapToItems(info: { [key: string]: string }, options: Options) { return Object.keys(info).map(key => ( )); } -type Props = { +/** @public */ +export interface StructuredMetadataTableProps { metadata: { [key: string]: any }; dense?: boolean; - options?: any; -}; + options?: { + /** + * Function to format the keys from the `metadata` object. Defaults to + * startCase from the lodash library. + * @param key - A key within the `metadata` + * @returns Formatted key + */ + titleFormat?: (key: string) => string; + }; +} -export function StructuredMetadataTable(props: Props) { - const { metadata, dense = true, options } = props; - const metadataItems = mapToItems(metadata, options || {}); +type Options = Required>; + +/** @public */ +export function StructuredMetadataTable(props: StructuredMetadataTableProps) { + const { metadata, dense = true, options = {} } = props; + const metadataItems = mapToItems(metadata, { + titleFormat: startCase, + ...options, + }); return {metadataItems}; } diff --git a/packages/core-components/src/components/StructuredMetadataTable/index.tsx b/packages/core-components/src/components/StructuredMetadataTable/index.tsx index 855df31e2f..e45b4a862f 100644 --- a/packages/core-components/src/components/StructuredMetadataTable/index.tsx +++ b/packages/core-components/src/components/StructuredMetadataTable/index.tsx @@ -20,7 +20,10 @@ export type { MetadataTableListClassKey, MetadataTableListItemClassKey, } from './MetadataTable'; -export { StructuredMetadataTable } from './StructuredMetadataTable'; +export { + StructuredMetadataTable, + type StructuredMetadataTableProps, +} from './StructuredMetadataTable'; export type { StructuredMetadataTableListClassKey, StructuredMetadataTableNestedListClassKey, diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md index 23dbfc0968..8633872a15 100644 --- a/packages/core-plugin-api/CHANGELOG.md +++ b/packages/core-plugin-api/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/core-plugin-api +## 1.8.0 + +### Minor Changes + +- 1e5b7d993a: `IconComponent` can now have a `fontSize` of `inherit`, which is useful for in-line icons. +- cb6db75bc2: Introduced `AnyRouteRefParams` as a replacement for `AnyParams`, which is now deprecated. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- cb6db75bc2: Deprecated several types related to the routing system that are scheduled to be removed, as well as several fields on the route ref types themselves. +- 68fc9dc60e: Added a new `/alpha` export `convertLegacyRouteRef`, which is a temporary utility to allow existing route refs to be used with the new experimental packages. +- Updated dependencies + - @backstage/version-bridge@1.0.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 1.8.0-next.0 ### Minor Changes diff --git a/packages/core-plugin-api/alpha-api-report.md b/packages/core-plugin-api/alpha-api-report.md index 0284d691a9..ba3583142f 100644 --- a/packages/core-plugin-api/alpha-api-report.md +++ b/packages/core-plugin-api/alpha-api-report.md @@ -3,12 +3,8 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts -import { AnyRouteRefParams } from '@backstage/core-plugin-api'; import { ApiRef } from '@backstage/core-plugin-api'; -import { ExternalRouteRef } from '@backstage/core-plugin-api'; import { Observable } from '@backstage/types'; -import { RouteRef } from '@backstage/core-plugin-api'; -import { SubRouteRef } from '@backstage/core-plugin-api'; import { TranslationMessages as TranslationMessages_2 } from '@backstage/core-plugin-api/alpha'; import { TranslationRef as TranslationRef_2 } from '@backstage/core-plugin-api/alpha'; @@ -29,24 +25,6 @@ export type AppLanguageApi = { // @alpha (undocumented) export const appLanguageApiRef: ApiRef; -// @public -export function convertLegacyRouteRef( - ref: RouteRef, -): NewRouteRef; - -// @public -export function convertLegacyRouteRef( - ref: SubRouteRef, -): NewSubRouteRef; - -// @public -export function convertLegacyRouteRef< - TParams extends AnyRouteRefParams, - TOptional extends boolean, ->( - ref: ExternalRouteRef, -): NewExternalRouteRef; - // @alpha export function createTranslationMessages< TId extends string, diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json index 5aac6b3fb7..57e3c35b95 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.0-next.0", + "version": "1.8.0", "publishConfig": { "access": "public" }, diff --git a/packages/core-plugin-api/src/alpha.ts b/packages/core-plugin-api/src/alpha.ts index 540b4ed22a..ebcbcf34c0 100644 --- a/packages/core-plugin-api/src/alpha.ts +++ b/packages/core-plugin-api/src/alpha.ts @@ -16,4 +16,3 @@ export * from './translation'; export * from './apis/alpha'; -export { convertLegacyRouteRef } from './routing/convertLegacyRouteRef'; diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index 1260ed1e4a..f6951e72e6 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,31 @@ # @backstage/create-app +## 0.5.7 + +### Patch Changes + +- 770763487a: Cleaned up cases where deprecated code was being used but had a new location they should be imported from +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. + + You can do the same in your own Backstage repository to ensure that you get future node 18+ relevant updates, by having the following lines in your `packages/backend/package.json`: + + ``` + "dependencies": { + // ... + "knex": "^3.0.0" + }, + "devDependencies": { + // ... + "better-sqlite3": "^9.0.0", + ``` + +- f577e1176f: Bumped create-app version. +- 6c2b872153: Add official support for React 18. +- ae1602e54d: If create app installs dependencies, don't suggest to user that they also need to do it. +- e6b7ab8d2b: Added missing node-gyp dependency to fix Docker image build +- Updated dependencies + - @backstage/cli-common@0.1.13 + ## 0.5.7-next.2 ### Patch Changes diff --git a/packages/create-app/package.json b/packages/create-app/package.json index f1ae787ca8..3b6d5ec8b5 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.7-next.2", + "version": "0.5.7", "publishConfig": { "access": "public" }, diff --git a/packages/dev-utils/CHANGELOG.md b/packages/dev-utils/CHANGELOG.md index 4cc9fc7b4c..f9020aaf13 100644 --- a/packages/dev-utils/CHANGELOG.md +++ b/packages/dev-utils/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/dev-utils +## 1.0.23 + +### Patch Changes + +- 67cc85bb14: Switched the conditional `react-dom/client` import to use `import(...)` rather than `require(...)`. +- 38cda52746: Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 1.0.23-next.2 ### Patch Changes diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json index a4fce127b3..fe25d1c0ef 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.23-next.2", + "version": "1.0.23", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/e2e-test/CHANGELOG.md b/packages/e2e-test/CHANGELOG.md index 20a0576918..988b7c95ae 100644 --- a/packages/e2e-test/CHANGELOG.md +++ b/packages/e2e-test/CHANGELOG.md @@ -1,5 +1,14 @@ # e2e-test +## 0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/create-app@0.5.7 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + ## 0.2.9-next.2 ### Patch Changes diff --git a/packages/e2e-test/package.json b/packages/e2e-test/package.json index 4190379e83..018c679132 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.9-next.2", + "version": "0.2.9", "private": true, "backstage": { "role": "cli" @@ -32,7 +32,7 @@ "@backstage/errors": "workspace:^", "chalk": "^4.0.0", "commander": "^9.1.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "fs-extra": "10.1.0", "handlebars": "^4.7.3", "mysql2": "^2.2.5", diff --git a/packages/frontend-app-api/CHANGELOG.md b/packages/frontend-app-api/CHANGELOG.md index b65d797397..80fd99e370 100644 --- a/packages/frontend-app-api/CHANGELOG.md +++ b/packages/frontend-app-api/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/frontend-app-api +## 0.3.0 + +### Minor Changes + +- 68fc9dc60e: Added the ability to configure bound routes through `app.routes.bindings`. The routing system used by `createApp` has been replaced by one that only supports route refs of the new format from `@backstage/frontend-plugin-api`. The requirement for route refs to have the same ID as their associated extension has been removed. + +### Patch Changes + +- e28d379e32: Refactor internal extension instance system into an app graph. +- fdc348d5d3: The options parameter of `createApp` is now optional. +- 6c2b872153: Add official support for React 18. +- dc613f9bcf: Updated `app.extensions` configuration schema. +- 733bd95746: Implement new `AppTreeApi` +- 685a4c8901: Installed features are now deduplicated both by reference and ID when available. Features passed to `createApp` now override both discovered and loaded features. +- fa28d4e6df: No longer throw error on invalid input if the child is disabled. +- bb98953cb9: Register default implementation for the `Translation API` on the new `createApp`. +- fe6d09953d: Fix for app node output IDs not being serialized correctly. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- 4d6fa921db: Internal refactor to rename the app graph to app tree +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-graphiql@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.3.0-next.2 ### Patch Changes diff --git a/packages/frontend-app-api/package.json b/packages/frontend-app-api/package.json index d8b51a0776..9d35a7daf4 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.3.0-next.2", + "version": "0.3.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -39,7 +39,6 @@ "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/plugin-graphiql": "workspace:^", "@backstage/theme": "workspace:^", "@backstage/types": "workspace:^", "@backstage/version-bridge": "workspace:^", diff --git a/packages/frontend-plugin-api/CHANGELOG.md b/packages/frontend-plugin-api/CHANGELOG.md index 00defc21c8..96407a7b37 100644 --- a/packages/frontend-plugin-api/CHANGELOG.md +++ b/packages/frontend-plugin-api/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/frontend-plugin-api +## 0.3.0 + +### Minor Changes + +- 68fc9dc60e: Added `RouteRef`, `SubRouteRef`, `ExternalRouteRef`, and related types. All exports from this package that previously relied on the types with the same name from `@backstage/core-plugin-api` now use the new types instead. To convert and existing legacy route ref to be compatible with the APIs from this package, use the `convertLegacyRouteRef` utility from `@backstage/core-plugin-api/alpha`. +- 77f009b35d: Extensions now return their output from the factory function rather than calling `bind(...)`. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 733bd95746: Add new `AppTreeApi`. +- 6af88a05ff: Improve the extension boundary component and create a default extension suspense component. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/types@1.1.1 + ## 0.3.0-next.2 ### Patch Changes diff --git a/packages/frontend-plugin-api/package.json b/packages/frontend-plugin-api/package.json index 86714f2713..d739cb8fdd 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.3.0-next.2", + "version": "0.3.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/integration-aws-node/CHANGELOG.md b/packages/integration-aws-node/CHANGELOG.md index 87156a5623..175541de5f 100644 --- a/packages/integration-aws-node/CHANGELOG.md +++ b/packages/integration-aws-node/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/integration-aws-node +## 0.1.8 + +### Patch Changes + +- 20d97d28a3: Updated dependency `aws-sdk-client-mock-jest` to `^3.0.0`. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.7 ### Patch Changes diff --git a/packages/integration-aws-node/package.json b/packages/integration-aws-node/package.json index 714ccf4767..92108c1cca 100644 --- a/packages/integration-aws-node/package.json +++ b/packages/integration-aws-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/integration-aws-node", "description": "Helpers for fetching AWS account credentials", - "version": "0.1.7", + "version": "0.1.8", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -44,8 +44,8 @@ "@backstage/cli": "workspace:^", "@backstage/config-loader": "workspace:^", "@backstage/test-utils": "workspace:^", - "aws-sdk-client-mock": "^2.0.0", - "aws-sdk-client-mock-jest": "^2.0.0" + "aws-sdk-client-mock": "^3.0.0", + "aws-sdk-client-mock-jest": "^3.0.0" }, "files": [ "dist", diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md index a23564adad..bf652b4170 100644 --- a/packages/integration-react/CHANGELOG.md +++ b/packages/integration-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/integration-react +## 1.1.21 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/config@1.1.1 + ## 1.1.21-next.1 ### Patch Changes diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json index 807ae468d0..23cfbcb589 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.21-next.1", + "version": "1.1.21", "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 bf500bc707..eac92f3009 100644 --- a/packages/integration/CHANGELOG.md +++ b/packages/integration/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/integration +## 1.7.2 + +### Patch Changes + +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + ## 1.7.2-next.0 ### Patch Changes diff --git a/packages/integration/api-report.md b/packages/integration/api-report.md index f64c06257e..634e03dbfc 100644 --- a/packages/integration/api-report.md +++ b/packages/integration/api-report.md @@ -419,12 +419,30 @@ export function getGerritRequestOptions(config: GerritIntegrationConfig): { headers?: Record; }; +// @public +export function getGiteaArchiveUrl( + config: GiteaIntegrationConfig, + url: string, +): string; + +// @public +export function getGiteaEditContentsUrl( + config: GiteaIntegrationConfig, + url: string, +): string; + // @public export function getGiteaFileContentsUrl( config: GiteaIntegrationConfig, url: string, ): string; +// @public +export function getGiteaLatestCommitUrl( + config: GiteaIntegrationConfig, + url: string, +): string; + // @public export function getGiteaRequestOptions(config: GiteaIntegrationConfig): { headers?: Record; @@ -658,6 +676,18 @@ export function parseGerritGitilesUrl( // @public export function parseGerritJsonResponse(response: Response): Promise; +// @public +export function parseGiteaUrl( + config: GiteaIntegrationConfig, + url: string, +): { + url: string; + owner: string; + name: string; + ref: string; + path: string; +}; + // @public export type PersonalAccessTokenCredential = AzureCredentialBase & { kind: 'PersonalAccessToken'; diff --git a/packages/integration/package.json b/packages/integration/package.json index 7e88ef8282..f7437bf094 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.7.2-next.0", + "version": "1.7.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,7 +37,7 @@ "@backstage/config": "workspace:^", "@octokit/auth-app": "^4.0.0", "@octokit/rest": "^19.0.3", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "git-url-parse": "^13.0.0", "lodash": "^4.17.21", "luxon": "^3.0.0" diff --git a/packages/integration/src/gitea/core.test.ts b/packages/integration/src/gitea/core.test.ts index 125f3077ef..fe6381d52e 100644 --- a/packages/integration/src/gitea/core.test.ts +++ b/packages/integration/src/gitea/core.test.ts @@ -18,9 +18,12 @@ import { setupServer } from 'msw/node'; import { setupRequestMockHandlers } from '../helpers'; import { GiteaIntegrationConfig } from './config'; import { + getGiteaArchiveUrl, getGiteaEditContentsUrl, getGiteaFileContentsUrl, + getGiteaLatestCommitUrl, getGiteaRequestOptions, + parseGiteaUrl, } from './core'; describe('gitea core', () => { @@ -59,6 +62,38 @@ describe('gitea core', () => { }); }); + describe('getGiteaArchiveUrl', () => { + it('can create an url from arguments', () => { + const config: GiteaIntegrationConfig = { + host: 'gitea.example.com', + }; + expect( + getGiteaArchiveUrl( + config, + 'https://gitea.example.com/owner/repo/src/branch/branch_name', + ), + ).toEqual( + 'https://gitea.example.com/api/v1/repos/owner/repo/archive/branch_name.tar.gz', + ); + }); + }); + + describe('getGiteaLatestCommitUrl', () => { + it('can create an url from arguments', () => { + const config: GiteaIntegrationConfig = { + host: 'gitea.example.com', + }; + expect( + getGiteaLatestCommitUrl( + config, + 'https://gitea.example.com/owner/repo/src/branch/branch_name/', + ), + ).toEqual( + 'https://gitea.example.com/api/v1/repos/owner/repo/git/commits/branch_name', + ); + }); + }); + describe('getGerritRequestOptions', () => { it('adds token header when only a password is specified', () => { const authRequest: GiteaIntegrationConfig = { @@ -90,4 +125,61 @@ describe('gitea core', () => { ).toEqual(basicAuthentication); }); }); + + describe('parseGiteaUrl', () => { + it('can fetch gitea url', () => { + const config: GiteaIntegrationConfig = { + host: 'gitea.example.com', + }; + expect( + parseGiteaUrl( + config, + 'https://gitea.example.com/owner/repo/src/branch/branch_name/', + ), + ).toEqual({ + url: 'https://gitea.example.com', + owner: 'owner', + name: 'repo', + ref: 'branch_name', + path: '', + }); + }); + + it('provide path without starting slash', () => { + const config: GiteaIntegrationConfig = { + host: 'gitea.example.com', + }; + expect( + parseGiteaUrl( + config, + 'https://gitea.example.com/owner/repo/src/branch/branch_name/simple/path', + ), + ).toEqual({ + url: 'https://gitea.example.com', + owner: 'owner', + name: 'repo', + ref: 'branch_name', + path: 'simple/path', + }); + }); + + it('use base url if provided', () => { + const config: GiteaIntegrationConfig = { + host: 'gitea.example.com', + baseUrl: 'https://base-gitea.example.com', + }; + expect( + parseGiteaUrl( + config, + 'https://base-gitea.example.com/owner/repo/src/branch/branch_name/', + ), + ).toEqual({ + url: 'https://base-gitea.example.com', + owner: 'owner', + name: 'repo', + ref: 'branch_name', + path: '', + }); + }); + }); }); diff --git a/packages/integration/src/gitea/core.ts b/packages/integration/src/gitea/core.ts index ee3fec12fc..95caa24c06 100644 --- a/packages/integration/src/gitea/core.ts +++ b/packages/integration/src/gitea/core.ts @@ -33,16 +33,8 @@ export function getGiteaEditContentsUrl( config: GiteaIntegrationConfig, url: string, ) { - try { - const baseUrl = config.baseUrl ?? `https://${config.host}`; - const [_blank, owner, name, _src, _branch, ref, ...path] = url - .replace(baseUrl, '') - .split('/'); - const pathWithoutSlash = path.join('/').replace(/^\//, ''); - return `${baseUrl}/${owner}/${name}/_edit/${ref}/${pathWithoutSlash}`; - } catch (e) { - throw new Error(`Incorrect URL: ${url}, ${e}`); - } + const giteaUrl = parseGiteaUrl(config, url); + return `${giteaUrl.url}/${giteaUrl.owner}/${giteaUrl.name}/_edit/${giteaUrl.ref}/${giteaUrl.path}`; } /** @@ -63,17 +55,52 @@ export function getGiteaFileContentsUrl( config: GiteaIntegrationConfig, url: string, ) { - try { - const baseUrl = config.baseUrl ?? `https://${config.host}`; - const [_blank, owner, name, _src, _branch, ref, ...path] = url - .replace(baseUrl, '') - .split('/'); - const pathWithoutSlash = path.join('/').replace(/^\//, ''); + const giteaUrl = parseGiteaUrl(config, url); + return `${giteaUrl.url}/api/v1/repos/${giteaUrl.owner}/${giteaUrl.name}/contents/${giteaUrl.path}?ref=${giteaUrl.ref}`; +} - return `${baseUrl}/api/v1/repos/${owner}/${name}/contents/${pathWithoutSlash}?ref=${ref}`; - } catch (e) { - throw new Error(`Incorrect URL: ${url}, ${e}`); - } +/** + * Given a URL pointing to a repository/path, returns a URL + * for archive contents of the repository. + * + * @remarks + * + * Converts + * from: https://gitea.com/a/b/src/branchname + * or: https://gitea.com/api/v1/repos/a/b/archive/branchname.tar.gz + * + * @param url - A URL pointing to a repository/path + * @param config - The relevant provider config + * @public + */ +export function getGiteaArchiveUrl( + config: GiteaIntegrationConfig, + url: string, +) { + const giteaUrl = parseGiteaUrl(config, url); + return `${giteaUrl.url}/api/v1/repos/${giteaUrl.owner}/${giteaUrl.name}/archive/${giteaUrl.ref}.tar.gz`; +} + +/** + * Given a URL pointing to a repository branch, returns a URL + * for latest commit information. + * + * @remarks + * + * Converts + * from: https://gitea.com/a/b/src/branchname + * or: https://gitea.com/api/v1/repos/a/b/git/commits/branchname + * + * @param url - A URL pointing to a repository branch + * @param config - The relevant provider config + * @public + */ +export function getGiteaLatestCommitUrl( + config: GiteaIntegrationConfig, + url: string, +) { + const giteaUrl = parseGiteaUrl(config, url); + return `${giteaUrl.url}/api/v1/repos/${giteaUrl.owner}/${giteaUrl.name}/git/commits/${giteaUrl.ref}`; } /** @@ -104,3 +131,39 @@ export function getGiteaRequestOptions(config: GiteaIntegrationConfig): { headers, }; } + +/** + * Return parsed git url properties. + * + * @param config - A Gitea provider config + * @param url - A URL pointing to a repository + * @public + */ +export function parseGiteaUrl( + config: GiteaIntegrationConfig, + url: string, +): { + url: string; + owner: string; + name: string; + ref: string; + path: string; +} { + const baseUrl = config.baseUrl ?? `https://${config.host}`; + try { + const [_blank, owner, name, _src, _branch, ref, ...path] = url + .replace(baseUrl, '') + .split('/'); + const pathWithoutSlash = path.join('/').replace(/^\//, ''); + + return { + url: baseUrl, + owner: owner, + name: name, + ref: ref, + path: pathWithoutSlash, + }; + } catch (e) { + throw new Error(`Incorrect URL: ${url}, ${e}`); + } +} diff --git a/packages/integration/src/gitea/index.ts b/packages/integration/src/gitea/index.ts index 6b951b1fb0..071509d699 100644 --- a/packages/integration/src/gitea/index.ts +++ b/packages/integration/src/gitea/index.ts @@ -14,6 +14,13 @@ * limitations under the License. */ export { GiteaIntegration } from './GiteaIntegration'; -export { getGiteaRequestOptions, getGiteaFileContentsUrl } from './core'; +export { + getGiteaEditContentsUrl, + getGiteaFileContentsUrl, + getGiteaArchiveUrl, + getGiteaLatestCommitUrl, + getGiteaRequestOptions, + parseGiteaUrl, +} from './core'; export { readGiteaConfig } from './config'; export type { GiteaIntegrationConfig } from './config'; diff --git a/packages/release-manifests/CHANGELOG.md b/packages/release-manifests/CHANGELOG.md index 001c7b2055..2176118ea2 100644 --- a/packages/release-manifests/CHANGELOG.md +++ b/packages/release-manifests/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/release-manifests +## 0.0.11 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. + ## 0.0.10 ### Patch Changes diff --git a/packages/release-manifests/package.json b/packages/release-manifests/package.json index 24003eeaa4..f9de4d6d2d 100644 --- a/packages/release-manifests/package.json +++ b/packages/release-manifests/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/release-manifests", "description": "Helper library for receiving release manifests", - "version": "0.0.10", + "version": "0.0.11", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -33,7 +33,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "cross-fetch": "^3.1.5" + "cross-fetch": "^4.0.0" }, "devDependencies": { "@backstage/cli": "workspace:^", diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md index 18ef451c79..b439c08fc6 100644 --- a/packages/repo-tools/CHANGELOG.md +++ b/packages/repo-tools/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/repo-tools +## 0.4.0 + +### Minor Changes + +- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`. +- 6694b369a3: Adds a new command `schema openapi test` that performs runtime validation of your OpenAPI specs using your test data. Under the hood, we're using Optic to perform this check, really cool work by them! + + To use this new command, you will have to run `yarn add @useoptic/optic` in the root of your repo. + +### Patch Changes + +- Updated dependencies + - @backstage/cli-node@0.2.0 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/errors@1.2.3 + ## 0.4.0-next.0 ### Minor Changes diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 663695a764..3bd76a6e60 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.4.0-next.0", + "version": "0.4.0", "publishConfig": { "access": "public" }, diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md index b635bbc871..75abfcc0b1 100644 --- a/packages/techdocs-cli-embedded-app/CHANGELOG.md +++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md @@ -1,5 +1,24 @@ # techdocs-cli-embedded-app +## 0.2.88 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.24.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/app-defaults@1.4.5 + - @backstage/core-app-api@1.11.1 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.2.88-next.2 ### Patch Changes diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json index 75000b552b..1e2b47c479 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.88-next.2", + "version": "0.2.88", "private": true, "backstage": { "role": "frontend" diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md index 792490abaf..c459fe6689 100644 --- a/packages/techdocs-cli/CHANGELOG.md +++ b/packages/techdocs-cli/CHANGELOG.md @@ -1,5 +1,20 @@ # @techdocs/cli +## 1.7.0 + +### Minor Changes + +- 8600b86820: validate Docker status before running mkdocs server + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-node@1.10.0 + - @backstage/backend-common@0.19.9 + - @backstage/catalog-model@1.4.3 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + ## 1.6.1-next.2 ### Patch Changes diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json index fc50468351..9719267c22 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.6.1-next.2", + "version": "1.7.0", "publishConfig": { "access": "public" }, diff --git a/packages/techdocs-cli/src/commands/serve/mkdocs.ts b/packages/techdocs-cli/src/commands/serve/mkdocs.ts index c061d4474f..00c5e5f0ed 100644 --- a/packages/techdocs-cli/src/commands/serve/mkdocs.ts +++ b/packages/techdocs-cli/src/commands/serve/mkdocs.ts @@ -21,6 +21,7 @@ import { runMkdocsServer } from '../../lib/mkdocsServer'; import { LogFunc, waitForSignal } from '../../lib/run'; import { getMkdocsYml } from '@backstage/plugin-techdocs-node'; import fs from 'fs-extra'; +import { checkIfDockerIsOperational } from './utils'; export default async function serveMkdocs(opts: OptionValues) { const logger = createLogger({ verbose: opts.verbose }); @@ -29,6 +30,13 @@ export default async function serveMkdocs(opts: OptionValues) { const localAddr = `http://127.0.0.1:${opts.port}`; const expectedDevAddr = opts.docker ? dockerAddr : localAddr; + if (opts.docker) { + const isDockerOperational = await checkIfDockerIsOperational(logger); + if (!isDockerOperational) { + return; + } + } + const { path: mkdocsYmlPath, configIsTemporary } = await getMkdocsYml( './', opts.siteName, diff --git a/packages/techdocs-cli/src/commands/serve/serve.ts b/packages/techdocs-cli/src/commands/serve/serve.ts index 5fcf1787d3..98c9982b21 100644 --- a/packages/techdocs-cli/src/commands/serve/serve.ts +++ b/packages/techdocs-cli/src/commands/serve/serve.ts @@ -24,6 +24,7 @@ import { LogFunc, waitForSignal } from '../../lib/run'; import { createLogger } from '../../lib/utility'; import { getMkdocsYml } from '@backstage/plugin-techdocs-node'; import fs from 'fs-extra'; +import { checkIfDockerIsOperational } from './utils'; function findPreviewBundlePath(): string { try { @@ -73,6 +74,14 @@ export default async function serve(opts: OptionValues) { mkdocsConfigFileName, }); + // Validate that Docker is up and running + if (opts.docker) { + const isDockerOperational = await checkIfDockerIsOperational(logger); + if (!isDockerOperational) { + return; + } + } + let mkdocsServerHasStarted = false; const mkdocsLogFunc: LogFunc = data => { // Sometimes the lines contain an unnecessary extra new line diff --git a/packages/techdocs-cli/src/commands/serve/utils.ts b/packages/techdocs-cli/src/commands/serve/utils.ts new file mode 100644 index 0000000000..2b19b0fbc0 --- /dev/null +++ b/packages/techdocs-cli/src/commands/serve/utils.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 { promisify } from 'util'; +import * as winston from 'winston'; +import { execFile } from 'child_process'; + +export async function checkIfDockerIsOperational( + logger: winston.Logger, +): Promise { + logger.info('Checking Docker status...'); + try { + const runCheck = promisify(execFile); + await runCheck('docker', ['info'], { shell: true }); + logger.info( + 'Docker is up and running. Proceed to starting up mkdocs server', + ); + return true; + } catch { + logger.error( + 'Docker is not running. Exiting. Please check status of Docker daemon with `docker info` before re-running', + ); + return false; + } +} diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md index 9580b4855f..70b2c70f6f 100644 --- a/packages/test-utils/CHANGELOG.md +++ b/packages/test-utils/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/test-utils +## 1.4.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 1.4.5-next.0 ### Patch Changes diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index 35a434dd8f..bce7e0ea5b 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.5-next.0", + "version": "1.4.5", "publishConfig": { "access": "public" }, @@ -56,7 +56,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "i18next": "^22.4.15", "zen-observable": "^0.10.0" }, diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md index b2583c299a..f734ed13da 100644 --- a/packages/theme/CHANGELOG.md +++ b/packages/theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/theme +## 0.4.4 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + ## 0.4.4-next.0 ### Patch Changes diff --git a/packages/theme/package.json b/packages/theme/package.json index 7aed800cbc..5f49b904a7 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.4.4-next.0", + "version": "0.4.4", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/version-bridge/CHANGELOG.md b/packages/version-bridge/CHANGELOG.md index 7e7a708be1..1ff0a048a2 100644 --- a/packages/version-bridge/CHANGELOG.md +++ b/packages/version-bridge/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/version-bridge +## 1.0.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + ## 1.0.7-next.0 ### Patch Changes diff --git a/packages/version-bridge/package.json b/packages/version-bridge/package.json index 4cb6119071..f40ef91d0c 100644 --- a/packages/version-bridge/package.json +++ b/packages/version-bridge/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/version-bridge", "description": "Utilities used by @backstage packages to support multiple concurrent versions", - "version": "1.0.7-next.0", + "version": "1.0.7", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md index b6e94e72c7..ee16741ca0 100644 --- a/plugins/adr-backend/CHANGELOG.md +++ b/plugins/adr-backend/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-adr-backend +## 0.4.4 + +### Patch Changes + +- 68f8a55622: Updated dependency `@types/marked` to `^5.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-adr-common@0.2.17 + - @backstage/plugin-search-common@1.2.8 + ## 0.4.4-next.2 ### Patch Changes diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json index 8c1a7d4714..2d1a7a742d 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.4-next.2", + "version": "0.4.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,7 +48,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@types/marked": "^4.0.0", + "@types/marked": "^5.0.0", "@types/supertest": "^2.0.8", "msw": "^1.0.0", "supertest": "^6.1.3" diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md index e9e1c68cf0..13f766e3fb 100644 --- a/plugins/adr-common/CHANGELOG.md +++ b/plugins/adr-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-adr-common +## 0.2.17 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.8 + ## 0.2.17-next.0 ### Patch Changes diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json index e737f1fcf9..be6e9c37bc 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.17-next.0", + "version": "0.2.17", "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 570878106a..f46d74f99a 100644 --- a/plugins/adr/CHANGELOG.md +++ b/plugins/adr/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-adr +## 0.6.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-adr-common@0.2.17 + - @backstage/plugin-search-common@1.2.8 + ## 0.6.9-next.2 ### Patch Changes diff --git a/plugins/adr/package.json b/plugins/adr/package.json index 2c5122b6a9..3cb1ce1999 100644 --- a/plugins/adr/package.json +++ b/plugins/adr/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-adr", - "version": "0.6.9-next.2", + "version": "0.6.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -76,7 +76,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/git-url-parse": "^9.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md index cdb9f53d53..c9e4c0ea32 100644 --- a/plugins/airbrake-backend/CHANGELOG.md +++ b/plugins/airbrake-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-airbrake-backend +## 0.3.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + ## 0.3.4-next.2 ### Patch Changes diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json index 434aef9372..763fa27192 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.4-next.2", + "version": "0.3.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md index a09ac986c6..3f9b700373 100644 --- a/plugins/airbrake/CHANGELOG.md +++ b/plugins/airbrake/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-airbrake +## 0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + - @backstage/dev-utils@1.0.23 + - @backstage/catalog-model@1.4.3 + ## 0.3.26-next.2 ### Patch Changes diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json index e5a872e1c6..2f92cadad7 100644 --- a/plugins/airbrake/package.json +++ b/plugins/airbrake/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-airbrake", - "version": "0.3.26-next.2", + "version": "0.3.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md index 207a3723c3..ec28c8bade 100644 --- a/plugins/allure/CHANGELOG.md +++ b/plugins/allure/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-allure +## 0.1.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.1.42-next.2 ### Patch Changes diff --git a/plugins/allure/package.json b/plugins/allure/package.json index 947acfa34f..43ce9c71bd 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.42-next.2", + "version": "0.1.42", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md index b38c520e15..a59b7a4401 100644 --- a/plugins/analytics-module-ga/CHANGELOG.md +++ b/plugins/analytics-module-ga/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-analytics-module-ga +## 0.1.35 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + ## 0.1.35-next.2 ### Patch Changes diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json index 402ac7d1d9..f4ad73af39 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.35-next.2", + "version": "0.1.35", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/analytics-module-ga4/CHANGELOG.md b/plugins/analytics-module-ga4/CHANGELOG.md index d5f6248fef..3d6368f301 100644 --- a/plugins/analytics-module-ga4/CHANGELOG.md +++ b/plugins/analytics-module-ga4/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-analytics-module-ga4 +## 0.1.6 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 504614d313: Updated dependency `@types/jest` to `^29.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + ## 0.1.6-next.2 ### Patch Changes diff --git a/plugins/analytics-module-ga4/package.json b/plugins/analytics-module-ga4/package.json index 9132d35208..54739172a4 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.6-next.2", + "version": "0.1.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,7 +50,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "@types/jest": "^28.1.3", + "@types/jest": "^29.0.0", "@types/react": "^16.13.1 || ^17.0.0", "msw": "^1.0.0" }, diff --git a/plugins/analytics-module-newrelic-browser/CHANGELOG.md b/plugins/analytics-module-newrelic-browser/CHANGELOG.md index 6bf3c52b29..96fc0f27d0 100644 --- a/plugins/analytics-module-newrelic-browser/CHANGELOG.md +++ b/plugins/analytics-module-newrelic-browser/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-analytics-module-newrelic-browser +## 0.0.4 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/config@1.1.1 + ## 0.0.4-next.2 ### Patch Changes diff --git a/plugins/analytics-module-newrelic-browser/package.json b/plugins/analytics-module-newrelic-browser/package.json index 8f6c8cb875..b332904e21 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.4-next.2", + "version": "0.0.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md index 29380e22e6..4add797c2c 100644 --- a/plugins/apache-airflow/CHANGELOG.md +++ b/plugins/apache-airflow/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-apache-airflow +## 0.2.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + ## 0.2.17-next.2 ### Patch Changes diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json index 2ce0806e61..b48955679e 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.17-next.2", + "version": "0.2.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,7 +35,7 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "qs": "^6.10.1", "react-use": "^17.2.4" }, diff --git a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md index b31c53f633..2c96409cab 100644 --- a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md +++ b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md @@ -1,5 +1,11 @@ # @backstage/plugin-api-docs-module-protoc-gen-doc +## 0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. + ## 0.1.5-next.0 ### Patch Changes diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json index 4f038aaaec..3adf16d6ff 100644 --- a/plugins/api-docs-module-protoc-gen-doc/package.json +++ b/plugins/api-docs-module-protoc-gen-doc/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-api-docs-module-protoc-gen-doc", "description": "Additional functionalities for the api-docs plugin that renders the output of the protoc-gen-doc", - "version": "0.1.5-next.0", + "version": "0.1.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md index 42bb23bf2c..abc662eff5 100644 --- a/plugins/api-docs/CHANGELOG.md +++ b/plugins/api-docs/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-api-docs +## 0.10.0 + +### Minor Changes + +- 0ac0e10822: Replace GraphiQL playground with DocExplorer +- 62310404b7: Define a default for oauth2RedirectUrl option of swagger-ui-react to match documentation + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 613a55911f: Updated dependency `graphiql` to `3.0.9`. +- 4ad15278e6: Updated dependency `@graphiql/react` to `^0.20.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.10.0-next.2 ### Minor Changes diff --git a/plugins/api-docs/README.md b/plugins/api-docs/README.md index 792a7fb0b7..79c4581e79 100644 --- a/plugins/api-docs/README.md +++ b/plugins/api-docs/README.md @@ -261,3 +261,5 @@ createApiFactory({ }, }) ``` + +In the same way as the `requestInterceptor` you can override any property of Swagger UI diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json index ecc1148b0b..493decc1dd 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.0-next.2", + "version": "0.10.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -33,19 +33,19 @@ "clean": "backstage-cli package clean" }, "dependencies": { - "@asyncapi/react-component": "1.0.0-next.48", + "@asyncapi/react-component": "1.1.0", "@backstage/catalog-model": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/theme": "workspace:^", - "@graphiql/react": "^0.19.4", + "@graphiql/react": "^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", - "graphiql": "3.0.6", + "graphiql": "3.0.9", "graphql": "^16.0.0", "graphql-ws": "^5.4.1", "isomorphic-form-data": "^2.0.0", @@ -67,7 +67,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/swagger-ui-react": "^4.18.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.test.tsx b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.test.tsx index c9f979edad..ed3a3e98ce 100644 --- a/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.test.tsx +++ b/plugins/api-docs/src/components/AsyncApiDefinitionWidget/AsyncApiDefinition.test.tsx @@ -54,7 +54,7 @@ components: expect(getByText(/Account Service/i)).toBeInTheDocument(); expect(getByText(/user\/signedup/i)).toBeInTheDocument(); - expect(getAllByText(/UserSignedUp/i)).toHaveLength(2); + expect(getAllByText(/UserSignedUp/i)).toHaveLength(4); expect(getAllByText(/displayName/i)).toHaveLength(3); }); }); diff --git a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.test.tsx b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.test.tsx index adbd069908..d150525b05 100644 --- a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.test.tsx +++ b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.test.tsx @@ -16,10 +16,15 @@ import { renderInTestApp } from '@backstage/test-utils'; import { waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; import React from 'react'; import { OpenApiDefinition } from './OpenApiDefinition'; describe('', () => { + beforeEach(() => { + window.open = jest.fn(); + }); + it('renders openapi spec', async () => { const definition = ` openapi: "3.0.0" @@ -35,7 +40,7 @@ paths: get: summary: List all artists responses: - "200": + "200": description: Success `; @@ -55,6 +60,86 @@ paths: }); }); + it('renders openapi spec with oauth2', async () => { + const user = userEvent.setup(); + + const definition = ` +openapi: "3.0.0" +info: + version: 1.0.0 + title: Artist API + license: + name: MIT +servers: + - url: http://artist.spotify.net/v1 +components: + securitySchemes: + oauth: + type: oauth2 + description: OAuth2 service + flows: + authorizationCode: + authorizationUrl: https://api.example.com/oauth2/authorize + tokenUrl: https://api.example.com/oauth2/token + scopes: + read_pets: read your pets + write_pets: modify pets in your account +security: + oauth: + - [read_pets, write_pets] +paths: + /artists: + get: + summary: List all artists + responses: + "200": + description: Success + `; + + const requestInterceptor = (req: any) => req; + + const { findByRole, getByRole, getByLabelText } = await renderInTestApp( + , + ); + + const authorizePopup = await findByRole('button', { name: /authorize/i }); + + await user.click(authorizePopup); + + const clientId = getByRole('textbox', { name: /client_id:/i }); + const clientSecret = getByLabelText(/client_secret:/i); + + const readPets = getByRole('checkbox', { + name: /read_pets read your pets/i, + }); + + await user.type(clientId, 'my-client-id'); + + expect(clientId).toHaveValue('my-client-id'); + + await user.type(clientSecret, 'my-client-secret'); + + expect(clientSecret).toHaveValue('my-client-secret'); + await user.click(readPets); + + expect(readPets).toBeChecked(); + + const authorizeButton = await findByRole('button', { + name: /apply given oauth2 credentials/i, + }); + + await user.click(authorizeButton); + + expect(window.open).toHaveBeenCalledWith( + expect.stringContaining( + 'https://api.example.com/oauth2/authorize?response_type=code&client_id=my-client-id&redirect_uri=http%3A%2F%2Flocalhost%2Foauth2-redirect.html&scope=read_pets&state=', + ), + ); + }); + it('renders error if definition is missing', async () => { const { getByText } = await renderInTestApp( , diff --git a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx index a2ebbbc7e3..ee23e75ff2 100644 --- a/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx +++ b/plugins/api-docs/src/components/OpenApiDefinitionWidget/OpenApiDefinition.tsx @@ -16,7 +16,7 @@ import { makeStyles } from '@material-ui/core/styles'; import React, { useEffect, useState } from 'react'; -import SwaggerUI from 'swagger-ui-react'; +import SwaggerUI, { SwaggerUIProps } from 'swagger-ui-react'; import 'swagger-ui-react/swagger-ui.css'; const useStyles = makeStyles(theme => ({ @@ -136,12 +136,11 @@ const useStyles = makeStyles(theme => ({ export type OpenApiDefinitionProps = { definition: string; - requestInterceptor?: (req: any) => any | Promise; -}; +} & Omit; export const OpenApiDefinition = ({ definition, - requestInterceptor, + ...swaggerUiProps }: OpenApiDefinitionProps) => { const classes = useStyles(); @@ -159,8 +158,9 @@ export const OpenApiDefinition = ({ ); diff --git a/plugins/apollo-explorer/CHANGELOG.md b/plugins/apollo-explorer/CHANGELOG.md index cde9841a47..4d4a9772e0 100644 --- a/plugins/apollo-explorer/CHANGELOG.md +++ b/plugins/apollo-explorer/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-apollo-explorer +## 0.1.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/apollo-explorer/package.json b/plugins/apollo-explorer/package.json index 1d5396f3d5..7f08c0d623 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md index f9e98e031e..6ef1c8f63f 100644 --- a/plugins/app-backend/CHANGELOG.md +++ b/plugins/app-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-app-backend +## 0.3.55 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-app-node@0.1.7 + ## 0.3.55-next.2 ### Patch Changes diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json index 1699ac7f31..b0a7ce6503 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.55-next.2", + "version": "0.3.55", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/app-node/CHANGELOG.md b/plugins/app-node/CHANGELOG.md index 13f0920921..96e16cee92 100644 --- a/plugins/app-node/CHANGELOG.md +++ b/plugins/app-node/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-app-node +## 0.1.7 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + ## 0.1.7-next.2 ### Patch Changes diff --git a/plugins/app-node/package.json b/plugins/app-node/package.json index f781002c6c..45e379f3a8 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.7-next.2", + "version": "0.1.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md index b4624b7614..c2cec39184 100644 --- a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-gcp-iap-provider +## 0.2.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + ## 0.2.1-next.2 ### 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 22cb9afc12..9c309d4e22 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.1-next.2", + "version": "0.2.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-github-provider/CHANGELOG.md b/plugins/auth-backend-module-github-provider/CHANGELOG.md index 0ff80a1600..f5e95fe98f 100644 --- a/plugins/auth-backend-module-github-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-github-provider/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-auth-backend-module-github-provider +## 0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.4-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-github-provider/package.json b/plugins/auth-backend-module-github-provider/package.json index e84723147a..c61542e3c5 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md index 29d6733090..d52e884e5e 100644 --- a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-auth-backend-module-gitlab-provider +## 0.1.4 + +### Patch Changes + +- a3236ad0ca: Fix link to the repository in `README.md`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.4-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-gitlab-provider/package.json b/plugins/auth-backend-module-gitlab-provider/package.json index 087cbcb3ce..4fb139587f 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-google-provider/CHANGELOG.md b/plugins/auth-backend-module-google-provider/CHANGELOG.md index 92ee0e10c9..05d70c2ce7 100644 --- a/plugins/auth-backend-module-google-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-google-provider/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-auth-backend-module-google-provider +## 0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.4-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-google-provider/package.json b/plugins/auth-backend-module-google-provider/package.json index f13b82ffc7..719e694e1a 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md b/plugins/auth-backend-module-microsoft-provider/CHANGELOG.md index 04fe350cf6..8a84f09e56 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.2 + +### Patch Changes + +- a3236ad0ca: Fix link to the repository in `README.md`. +- 3979524c74: Added support for specifying a domain hint on the Microsoft authentication provider configuration. +- fde212dd10: Re-add the missing profile photo + as well as access token retrieval for foreign scopes. + + Additionally, we switch from previously 48x48 to 96x96 + which is the size used at the profile card. + +- 5aeb14f035: Correctly mark the client secret in configuration as secret +- 2817115d09: Removed `prompt=consent` from start method to fix #20641 +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.2-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-microsoft-provider/package.json b/plugins/auth-backend-module-microsoft-provider/package.json index 4b94acbbbf..4978b50e8e 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.2-next.2", + "version": "0.1.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md index dc2863709d..d78003079e 100644 --- a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-auth-backend-module-oauth2-provider +## 0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.4-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-oauth2-provider/package.json b/plugins/auth-backend-module-oauth2-provider/package.json index 24aab9ea73..b8757a5b86 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md index c04460a935..14dfd67840 100644 --- a/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md +++ b/plugins/auth-backend-module-pinniped-provider/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-auth-backend-module-pinniped-provider +## 0.1.1 + +### Patch Changes + +- a8f6afda4a: Introduced metadata cache for the `pinniped` provider. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + ## 0.1.1-next.2 ### Patch Changes diff --git a/plugins/auth-backend-module-pinniped-provider/api-report.md b/plugins/auth-backend-module-pinniped-provider/api-report.md index b9b993bd1e..430099713e 100644 --- a/plugins/auth-backend-module-pinniped-provider/api-report.md +++ b/plugins/auth-backend-module-pinniped-provider/api-report.md @@ -5,6 +5,7 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; import { BaseClient } from 'openid-client'; +import { Config } from '@backstage/config'; import { OAuthAuthenticator } from '@backstage/plugin-auth-node'; import { Strategy } from 'openid-client'; import { TokenSet } from 'openid-client'; @@ -14,7 +15,15 @@ export const authModulePinnipedProvider: () => BackendFeature; // @public (undocumented) export const pinnipedAuthenticator: OAuthAuthenticator< - Promise<{ + PinnipedStrategyCache, + unknown +>; + +// @public (undocumented) +export class PinnipedStrategyCache { + constructor(callbackUrl: string, config: Config); + // (undocumented) + getStrategy(): Promise<{ providerStrategy: Strategy< { tokenset: TokenSet; @@ -22,7 +31,6 @@ export const pinnipedAuthenticator: OAuthAuthenticator< BaseClient >; client: BaseClient; - }>, - unknown ->; + }>; +} ``` diff --git a/plugins/auth-backend-module-pinniped-provider/package.json b/plugins/auth-backend-module-pinniped-provider/package.json index 087a90cdbb..b2153128e9 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.1-next.2", + "version": "0.1.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -25,14 +25,15 @@ "dependencies": { "@backstage/backend-common": "workspace:^", "@backstage/backend-plugin-api": "workspace:^", + "@backstage/config": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", + "luxon": "^3.4.3", "openid-client": "^5.4.3" }, "devDependencies": { "@backstage/backend-defaults": "workspace:^", "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", - "@backstage/config": "workspace:^", "@backstage/plugin-auth-backend": "workspace:^", "cookie-parser": "^1.4.6", "express": "^4.18.2", diff --git a/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts b/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts index f908c1ea13..2ecd54e80a 100644 --- a/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts +++ b/plugins/auth-backend-module-pinniped-provider/src/authenticator.test.ts @@ -28,9 +28,10 @@ import { ConfigReader } from '@backstage/config'; import { JWK, SignJWT, exportJWK, generateKeyPair } from 'jose'; import { rest } from 'msw'; import express from 'express'; +import { DateTime } from 'luxon'; describe('pinnipedAuthenticator', () => { - let implementation: any; + let authCtx: any; let oauthState: OAuthState; let idToken: string; let publicKey: JWK; @@ -85,6 +86,7 @@ describe('pinnipedAuthenticator', () => { beforeEach(() => { jest.clearAllMocks(); + jest.restoreAllMocks(); mswServer.use( rest.get( @@ -128,7 +130,7 @@ describe('pinnipedAuthenticator', () => { }), ); - implementation = pinnipedAuthenticator.initialize({ + authCtx = pinnipedAuthenticator.initialize({ callbackUrl: 'https://backstage.test/callback', config: new ConfigReader({ federationDomain: 'https://federationDomain.test', @@ -143,6 +145,17 @@ describe('pinnipedAuthenticator', () => { }; }); + describe('#initialize', () => { + it('always returns a PinnipedStrategyCache', async () => { + const { providerStrategy, client } = await authCtx.getStrategy(); + + expect(providerStrategy).toBeDefined(); + expect(client.issuer.authorization_endpoint).toMatch( + 'https://pinniped.test/oauth2/authorize', + ); + }); + }); + describe('#start', () => { let fakeSession: Record; let startRequest: OAuthAuthenticatorStartInput; @@ -162,7 +175,7 @@ describe('pinnipedAuthenticator', () => { it('redirects to authorization endpoint returned from OIDC metadata endpoint', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const url = new URL(startResponse.url); @@ -174,7 +187,7 @@ describe('pinnipedAuthenticator', () => { it('initiates authorization code grant', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); @@ -185,7 +198,7 @@ describe('pinnipedAuthenticator', () => { startRequest.req.query = { audience: 'test-cluster' }; const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); const stateParam = searchParams.get('state'); @@ -201,7 +214,7 @@ describe('pinnipedAuthenticator', () => { it('passes client ID from config', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); @@ -211,7 +224,7 @@ describe('pinnipedAuthenticator', () => { it('passes callback URL from config', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); @@ -223,7 +236,7 @@ describe('pinnipedAuthenticator', () => { it('generates PKCE challenge', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); @@ -232,14 +245,14 @@ describe('pinnipedAuthenticator', () => { }); it('stores PKCE verifier in session', async () => { - await pinnipedAuthenticator.start(startRequest, implementation); + await pinnipedAuthenticator.start(startRequest, authCtx); expect(fakeSession['oidc:pinniped.test'].code_verifier).toBeDefined(); }); it('requests sufficient scopes for token exchange by default', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); const scopes = searchParams.get('scope')?.split(' ') ?? []; @@ -257,7 +270,7 @@ describe('pinnipedAuthenticator', () => { it('encodes OAuth state in query param', async () => { const startResponse = await pinnipedAuthenticator.start( startRequest, - implementation, + authCtx, ); const { searchParams } = new URL(startResponse.url); const stateParam = searchParams.get('state'); @@ -276,10 +289,103 @@ describe('pinnipedAuthenticator', () => { url: 'test', }, } as unknown as OAuthAuthenticatorStartInput, - implementation, + authCtx, ), ).rejects.toThrow('authentication requires session support'); }); + + it('refreshes oidc metadata after a failed fetch', async () => { + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, _ctx) => res.networkError('Timeout'), + ), + ); + + const authCtxCreatedWhileSupervisorUnavailable = + pinnipedAuthenticator.initialize({ + callbackUrl: 'https://backstage.test/callback', + config: new ConfigReader({ + federationDomain: 'https://federationDomain.test', + clientId: 'clientId', + clientSecret: 'clientSecret', + }), + }); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => + res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ), + ), + ); + + const response = await pinnipedAuthenticator.start( + startRequest, + authCtxCreatedWhileSupervisorUnavailable, + ); + + expect(response.url).toMatch('https://pinniped.test/oauth2/authorize'); + }); + + it('caches oidc metadata after a success', async () => { + // we start with 1 because the supervisor was called once already when we initialize. + let supervisorCalls: number = 1; + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + await pinnipedAuthenticator.start(startRequest, authCtx); + await pinnipedAuthenticator.start(startRequest, authCtx); + + expect(supervisorCalls).toEqual(1); + }); + + it('refreshes oidc metadata when current one in cache expires', async () => { + // we start with 1 because the supervisor was called once already when we initialize. + let supervisorCalls: number = 1; + const fixedTime = DateTime.local(); + jest.spyOn(DateTime, 'local').mockImplementation(() => fixedTime); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + await pinnipedAuthenticator.start(startRequest, authCtx); + + jest + .spyOn(DateTime, 'local') + .mockImplementation(() => fixedTime.plus({ seconds: 60000 })); + + await pinnipedAuthenticator.start(startRequest, authCtx); + + expect(supervisorCalls).toEqual(2); + }); }); describe('#authenticate', () => { @@ -304,7 +410,7 @@ describe('pinnipedAuthenticator', () => { it('exchanges authorization code for access token', async () => { const handlerResponse = await pinnipedAuthenticator.authenticate( handlerRequest, - implementation, + authCtx, ); const accessToken = handlerResponse.session.accessToken; @@ -314,7 +420,7 @@ describe('pinnipedAuthenticator', () => { it('exchanges authorization code for refresh token', async () => { const handlerResponse = await pinnipedAuthenticator.authenticate( handlerRequest, - implementation, + authCtx, ); const refreshToken = handlerResponse.session.refreshToken; @@ -324,7 +430,7 @@ describe('pinnipedAuthenticator', () => { it('returns granted scope', async () => { const handlerResponse = await pinnipedAuthenticator.authenticate( handlerRequest, - implementation, + authCtx, ); const responseScope = handlerResponse.session.scope; @@ -349,7 +455,7 @@ describe('pinnipedAuthenticator', () => { const handlerResponse = await pinnipedAuthenticator.authenticate( handlerRequest, - implementation, + authCtx, ); expect(handlerResponse.session.idToken).toEqual(clusterScopedIdToken); @@ -413,7 +519,7 @@ describe('pinnipedAuthenticator', () => { }; await expect( - pinnipedAuthenticator.authenticate(handlerRequest, implementation), + pinnipedAuthenticator.authenticate(handlerRequest, authCtx), ).rejects.toThrow( `Failed to get cluster specific ID token for "test_cluster": Error: RFC8693 token exchange failed with error: NetworkError: Connection timed out`, ); @@ -422,7 +528,7 @@ describe('pinnipedAuthenticator', () => { it('fails without authorization code', async () => { handlerRequest.req.url = 'https://test.com'; return expect( - pinnipedAuthenticator.authenticate(handlerRequest, implementation), + pinnipedAuthenticator.authenticate(handlerRequest, authCtx), ).rejects.toThrow('Unexpected redirect'); }); @@ -440,7 +546,7 @@ describe('pinnipedAuthenticator', () => { }, } as unknown as express.Request, }, - implementation, + authCtx, ), ).rejects.toThrow( 'Authentication rejected, state missing from the response', @@ -456,10 +562,140 @@ describe('pinnipedAuthenticator', () => { url: 'https://test.com', } as unknown as express.Request, }, - implementation, + authCtx, ), ).rejects.toThrow('authentication requires session support'); }); + + it('refreshes oidc metadata after a failed fetch', async () => { + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, _ctx) => res.networkError('Timeout'), + ), + ); + + const authCtxCreatedWhileSupervisorUnavailable = + pinnipedAuthenticator.initialize({ + callbackUrl: 'https://backstage.test/callback', + config: new ConfigReader({ + federationDomain: 'https://federationDomain.test', + clientId: 'clientId', + clientSecret: 'clientSecret', + }), + }); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => + res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ), + ), + ); + + const response = await pinnipedAuthenticator.authenticate( + handlerRequest, + authCtxCreatedWhileSupervisorUnavailable, + ); + expect(response.session.accessToken).toEqual('accessToken'); + }); + + it('caches oidc metadata after a success', async () => { + let supervisorCalls: number = 1; + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + await pinnipedAuthenticator.authenticate(handlerRequest, authCtx); + + await pinnipedAuthenticator.authenticate( + { + req: { + method: 'GET', + url: `https://test?code=authorization_code&state=${encodeOAuthState( + oauthState, + )}`, + session: { + 'oidc:pinniped.test': { + state: encodeOAuthState(oauthState), + }, + }, + } as unknown as express.Request, + }, + authCtx, + ); + + expect(supervisorCalls).toEqual(1); + }); + + it('refreshes oidc metadata when current one in cache expires', async () => { + let supervisorCalls: number = 0; + const fixedTime = DateTime.local(); + jest.spyOn(DateTime, 'local').mockImplementation(() => fixedTime); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + authCtx = pinnipedAuthenticator.initialize({ + callbackUrl: 'https://backstage.test/callback', + config: new ConfigReader({ + federationDomain: 'https://federationDomain.test', + clientId: 'clientId', + clientSecret: 'clientSecret', + }), + }); + + await pinnipedAuthenticator.authenticate(handlerRequest, authCtx); + + jest + .spyOn(DateTime, 'local') + .mockImplementation(() => fixedTime.plus({ seconds: 60000 })); + + await pinnipedAuthenticator.authenticate( + { + req: { + method: 'GET', + url: `https://test?code=authorization_code&state=${encodeOAuthState( + oauthState, + )}`, + session: { + 'oidc:pinniped.test': { + state: encodeOAuthState(oauthState), + }, + }, + } as unknown as express.Request, + }, + authCtx, + ); + + expect(supervisorCalls).toEqual(2); + }); }); describe('#refresh', () => { @@ -476,7 +712,7 @@ describe('pinnipedAuthenticator', () => { it('gets new refresh token', async () => { const refreshResponse = await pinnipedAuthenticator.refresh( refreshRequest, - implementation, + authCtx, ); expect(refreshResponse.session.refreshToken).toBe('refreshToken'); @@ -485,7 +721,7 @@ describe('pinnipedAuthenticator', () => { it('gets access token', async () => { const refreshResponse = await pinnipedAuthenticator.refresh( refreshRequest, - implementation, + authCtx, ); expect(refreshResponse.session.accessToken).toBe('accessToken'); @@ -494,10 +730,100 @@ describe('pinnipedAuthenticator', () => { it('gets id token', async () => { const refreshResponse = await pinnipedAuthenticator.refresh( refreshRequest, - implementation, + authCtx, ); expect(refreshResponse.session.idToken).toBe(idToken); }); + + it('refreshes oidc metadata after a failed fetch', async () => { + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, _ctx) => res.networkError('Timeout'), + ), + ); + + const authCtxCreatedWhileSupervisorUnavailable = + pinnipedAuthenticator.initialize({ + callbackUrl: 'https://backstage.test/callback', + config: new ConfigReader({ + federationDomain: 'https://federationDomain.test', + clientId: 'clientId', + clientSecret: 'clientSecret', + }), + }); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => + res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ), + ), + ); + + const response = await pinnipedAuthenticator.refresh( + refreshRequest, + authCtxCreatedWhileSupervisorUnavailable, + ); + expect(response.session.accessToken).toEqual('accessToken'); + }); + + it('caches oidc metadata after a success', async () => { + let supervisorCalls: number = 1; + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + await pinnipedAuthenticator.refresh(refreshRequest, authCtx); + await pinnipedAuthenticator.refresh(refreshRequest, authCtx); + + expect(supervisorCalls).toEqual(1); + }); + + it('refreshes oidc metadata when current one in cache expires', async () => { + let supervisorCalls: number = 1; + const fixedTime = DateTime.local(); + jest.spyOn(DateTime, 'local').mockImplementation(() => fixedTime); + + mswServer.use( + rest.get( + 'https://federationDomain.test/.well-known/openid-configuration', + (_req, res, ctx) => { + supervisorCalls += 1; + return res( + ctx.status(200), + ctx.set('Content-Type', 'application/json'), + ctx.json(issuerMetadata), + ); + }, + ), + ); + + await pinnipedAuthenticator.refresh(refreshRequest, authCtx); + + jest + .spyOn(DateTime, 'local') + .mockImplementation(() => fixedTime.plus({ seconds: 60000 })); + + await pinnipedAuthenticator.refresh(refreshRequest, authCtx); + + expect(supervisorCalls).toEqual(2); + }); }); }); diff --git a/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts b/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts index 83c4204ad0..e07eaba759 100644 --- a/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts +++ b/plugins/auth-backend-module-pinniped-provider/src/authenticator.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { Config } from '@backstage/config'; import { PassportDoneCallback } from '@backstage/plugin-auth-node'; import { createOAuthAuthenticator, @@ -24,7 +25,9 @@ import { Issuer, TokenSet, Strategy as OidcStrategy, + BaseClient, } from 'openid-client'; +import { DateTime } from 'luxon'; const rfc8693TokenExchange = async ({ subject_token, @@ -53,22 +56,78 @@ const rfc8693TokenExchange = async ({ }); }; +const OIDC_METADATA_TTL_SECONDS = 3600; + /** @public */ -export const pinnipedAuthenticator = createOAuthAuthenticator({ - defaultProfileTransform: async (_r, _c) => ({ profile: {} }), - async initialize({ callbackUrl, config }) { +export class PinnipedStrategyCache { + private readonly callbackUrl: string; + private readonly config: Config; + private strategyPromise: Promise<{ + providerStrategy: OidcStrategy<{ tokenset: TokenSet }, BaseClient>; + client: BaseClient; + }>; + + private cachedPromise?: Promise<{ + providerStrategy: OidcStrategy<{ tokenset: TokenSet }, BaseClient>; + client: BaseClient; + }>; + private cachedPromiseExpiry?: Date; + + constructor(callbackUrl: string, config: Config) { + this.callbackUrl = callbackUrl; + this.config = config; + this.strategyPromise = this.buildStrategy(); + } + + public async getStrategy(): Promise<{ + providerStrategy: OidcStrategy<{ tokenset: TokenSet }, BaseClient>; + client: BaseClient; + }> { + if (this.cachedPromise) { + if ( + this.cachedPromiseExpiry && + DateTime.fromJSDate(this.cachedPromiseExpiry) > DateTime.local() + ) { + return this.cachedPromise; + } + // cachedPromise has expired, remove promise from cache and regenerate strategy + this.strategyPromise = this.buildStrategy(); + delete this.cachedPromise; + } + + try { + // if strategy is generated successfully, save it to cache + await this.strategyPromise; + this.cachedPromise = this.strategyPromise; + this.cachedPromiseExpiry = DateTime.utc() + .plus({ seconds: OIDC_METADATA_TTL_SECONDS }) + .toJSDate(); + } catch (error) { + // if we fail to generate a strategy, retry and overwrite strategy + this.strategyPromise = this.buildStrategy(); + delete this.cachedPromise; + delete this.cachedPromiseExpiry; + } + + return this.strategyPromise; + } + + private async buildStrategy(): Promise<{ + providerStrategy: OidcStrategy<{ tokenset: TokenSet }, BaseClient>; + client: BaseClient; + }> { const issuer = await Issuer.discover( - `${config.getString( + `${this.config.getString( 'federationDomain', )}/.well-known/openid-configuration`, ); const client = new issuer.Client({ - access_type: 'offline', // this option must be passed to provider to receive a refresh token - client_id: config.getString('clientId'), - client_secret: config.getString('clientSecret'), - redirect_uris: [callbackUrl], + access_type: 'offline', + client_id: this.config.getString('clientId'), + client_secret: this.config.getString('clientSecret'), + redirect_uris: [this.callbackUrl], response_types: ['code'], - scope: config.getOptionalString('scope') || '', + scope: this.config.getOptionalString('scope') || '', id_token_signed_response_alg: 'ES256', }); const providerStrategy = new OidcStrategy( @@ -88,12 +147,18 @@ export const pinnipedAuthenticator = createOAuthAuthenticator({ done(undefined, { tokenset }, {}); }, ); - return { providerStrategy, client }; - }, + } +} - async start(input, ctx) { - const { providerStrategy } = await ctx; +/** @public */ +export const pinnipedAuthenticator = createOAuthAuthenticator({ + defaultProfileTransform: async (_r, _c) => ({ profile: {} }), + initialize({ callbackUrl, config }) { + return new PinnipedStrategyCache(callbackUrl, config); + }, + async start(input, ctx): Promise<{ url: string; status?: number }> { + const { providerStrategy } = await ctx.getStrategy(); const stringifiedAudience = input.req.query?.audience as string; const decodedState = decodeOAuthState(input.state); const state = { ...decodedState, audience: stringifiedAudience }; @@ -117,7 +182,7 @@ export const pinnipedAuthenticator = createOAuthAuthenticator({ }, async authenticate(input, ctx) { - const { providerStrategy } = await ctx; + const { providerStrategy } = await ctx.getStrategy(); const { req } = input; const { searchParams } = new URL(req.url, 'https://pinniped.com'); const stateParam = searchParams.get('state'); @@ -132,7 +197,7 @@ export const pinnipedAuthenticator = createOAuthAuthenticator({ ? rfc8693TokenExchange({ subject_token: user.tokenset.access_token, target_audience: audience, - ctx, + ctx: ctx.getStrategy(), }).catch(err => reject( new Error( @@ -172,7 +237,7 @@ export const pinnipedAuthenticator = createOAuthAuthenticator({ }, async refresh(input, ctx) { - const { client } = await ctx; + const { client } = await ctx.getStrategy(); const tokenset = await client.refresh(input.refreshToken); return new Promise((resolve, reject) => { diff --git a/plugins/auth-backend-module-pinniped-provider/src/index.ts b/plugins/auth-backend-module-pinniped-provider/src/index.ts index 9a2ca6727e..df4cd58603 100644 --- a/plugins/auth-backend-module-pinniped-provider/src/index.ts +++ b/plugins/auth-backend-module-pinniped-provider/src/index.ts @@ -20,5 +20,5 @@ * @packageDocumentation */ -export { pinnipedAuthenticator } from './authenticator'; +export { pinnipedAuthenticator, PinnipedStrategyCache } from './authenticator'; export { authModulePinnipedProvider } from './module'; diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md index 57c9c1aac2..b3c45ca591 100644 --- a/plugins/auth-backend/CHANGELOG.md +++ b/plugins/auth-backend/CHANGELOG.md @@ -1,5 +1,33 @@ # @backstage/plugin-auth-backend +## 0.20.0 + +### Minor Changes + +- bdf08ad04a: Adds the StaticTokenIssuer and StaticKeyStore, an alternative token issuer that can be used to sign the Authorization header using a predefined public/private key pair. + +### Patch Changes + +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- f2fc5acca6: Added an optional `additionalScopes` configuration parameter to `okta` providers, that lets you add additional scopes on top of the default ones. +- 96c4f54bf6: Reverted the Microsoft auth provider to the previous implementation. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.4 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @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-google-provider@0.1.4 + - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.4 + - @backstage/plugin-auth-node@0.4.1 + ## 0.20.0-next.2 ### Patch Changes diff --git a/plugins/auth-backend/config.d.ts b/plugins/auth-backend/config.d.ts index 54fad12939..c13c46664c 100644 --- a/plugins/auth-backend/config.d.ts +++ b/plugins/auth-backend/config.d.ts @@ -146,6 +146,7 @@ export interface Config { authServerId?: string; idp?: string; callbackUrl?: string; + additionalScopes?: string; }; }; /** @visibility frontend */ diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json index 08336ae6fe..5ef46964ea 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.0-next.2", + "version": "0.20.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/auth-backend/src/providers/okta/provider.test.ts b/plugins/auth-backend/src/providers/okta/provider.test.ts index bc27129300..588b00be02 100644 --- a/plugins/auth-backend/src/providers/okta/provider.test.ts +++ b/plugins/auth-backend/src/providers/okta/provider.test.ts @@ -17,13 +17,14 @@ import { OktaAuthProvider } from './provider'; import * as helpers from '../../lib/passport/PassportStrategyHelper'; import { OAuthResult } from '../../lib/oauth'; -import { AuthResolverContext } from '../types'; +import { AuthResolverContext, OAuthStartResponse } from '../types'; jest.mock('../../lib/passport/PassportStrategyHelper', () => { return { executeFrameHandlerStrategy: jest.fn(), executeRefreshTokenStrategy: jest.fn(), executeFetchUserProfileStrategy: jest.fn(), + executeRedirectStrategy: jest.fn(), }; }); @@ -34,6 +35,11 @@ const mockFrameHandler = jest.spyOn( () => Promise<{ result: OAuthResult; privateInfo: any }> >; +const mockRedirectStrategy = jest.spyOn( + helpers, + 'executeRedirectStrategy', +) as unknown as jest.MockedFunction<() => Promise>; + describe('createOktaProvider', () => { it('should auth', async () => { const provider = new OktaAuthProvider({ @@ -97,4 +103,41 @@ describe('createOktaProvider', () => { }, }); }); + + it('should pass a custom scope to start and refresh requests', async () => { + const additionalScopes = 'groups'; + const reqScope = 'openid profile email offline_access'; + const combinedScope = `${reqScope} ${additionalScopes}`; + const provider = new OktaAuthProvider({ + resolverContext: {} as AuthResolverContext, + authHandler: async ({ fullProfile }) => ({ + profile: { + email: fullProfile.emails![0]!.value, + displayName: fullProfile.displayName, + }, + }), + audience: 'http://example.com', + clientId: 'mock', + clientSecret: 'mock', + callbackUrl: 'mock', + additionalScopes, + }); + + mockRedirectStrategy.mockResolvedValueOnce({ + url: 'http://example.com/', + }); + + const req: any = { + state: { + nonce: 'nonce', + env: 'development', + }, + scope: reqScope, + }; + + await provider.start(req); + const mockCallScope = (mockRedirectStrategy.mock.calls[0] as any)?.[2] + ?.scope; + expect(mockCallScope).toBe(combinedScope); + }); }); diff --git a/plugins/auth-backend/src/providers/okta/provider.ts b/plugins/auth-backend/src/providers/okta/provider.ts index 05e0451bdb..6b27fbb612 100644 --- a/plugins/auth-backend/src/providers/okta/provider.ts +++ b/plugins/auth-backend/src/providers/okta/provider.ts @@ -60,6 +60,7 @@ export type OktaAuthProviderOptions = OAuthProviderOptions & { signInResolver?: SignInResolver; authHandler: AuthHandler; resolverContext: AuthResolverContext; + additionalScopes?: string; }; export class OktaAuthProvider implements OAuthHandlers { @@ -67,6 +68,7 @@ export class OktaAuthProvider implements OAuthHandlers { private readonly signInResolver?: SignInResolver; private readonly authHandler: AuthHandler; private readonly resolverContext: AuthResolverContext; + private readonly additionalScopes: string; /** * Due to passport-okta-oauth forcing options.state = true, @@ -89,6 +91,7 @@ export class OktaAuthProvider implements OAuthHandlers { this.signInResolver = options.signInResolver; this.authHandler = options.authHandler; this.resolverContext = options.resolverContext; + this.additionalScopes = options.additionalScopes || ''; this.strategy = new OktaStrategy( { @@ -125,11 +128,19 @@ export class OktaAuthProvider implements OAuthHandlers { ); } + private combineScopeStrings(scopesA: string, scopesB: string) { + const scopesAArray = scopesA.split(' '); + const scopesBArray = scopesB.split(' '); + const combinedScopes = new Set([...scopesAArray, ...scopesBArray]); + return Array.from(combinedScopes).join(' '); + } + async start(req: OAuthStartRequest): Promise { + const scope = this.combineScopeStrings(req.scope, this.additionalScopes); return await executeRedirectStrategy(req, this.strategy, { accessType: 'offline', prompt: 'consent', - scope: req.scope, + scope: scope, state: encodeState(req.state), }); } @@ -147,12 +158,9 @@ export class OktaAuthProvider implements OAuthHandlers { } async refresh(req: OAuthRefreshRequest) { + const scope = this.combineScopeStrings(req.scope, this.additionalScopes); const { accessToken, refreshToken, params } = - await executeRefreshTokenStrategy( - this.strategy, - req.refreshToken, - req.scope, - ); + await executeRefreshTokenStrategy(this.strategy, req.refreshToken, scope); const fullProfile = await executeFetchUserProfileStrategy( this.strategy, @@ -230,6 +238,8 @@ export const okta = createAuthProviderIntegration({ const callbackUrl = customCallbackUrl || `${globalConfig.baseUrl}/${providerId}/handler/frame`; + const additionalScopes = + envConfig.getOptionalString('additionalScopes'); // This is a safe assumption as `passport-okta-oauth` uses the audience // as the base for building the authorization, token, and user info URLs. @@ -254,6 +264,7 @@ export const okta = createAuthProviderIntegration({ authHandler, signInResolver: options?.signIn?.resolver, resolverContext, + additionalScopes, }); return OAuthAdapter.fromConfig(globalConfig, provider, { diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md index 65fe3b962e..35a361c0c5 100644 --- a/plugins/auth-node/CHANGELOG.md +++ b/plugins/auth-node/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-auth-node +## 0.4.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.4.1-next.2 ### Patch Changes diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json index ebabd6903d..a111140e57 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.1-next.2", + "version": "0.4.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md index c5de0432ec..cda909cf9f 100644 --- a/plugins/azure-devops-backend/CHANGELOG.md +++ b/plugins/azure-devops-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-azure-devops-backend +## 0.4.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-devops-common@0.3.1 + ## 0.4.4-next.2 ### Patch Changes diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json index e675ec316f..030ac45088 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.4.4-next.2", + "version": "0.4.4", "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 beb0f0478e..dfe161831b 100644 --- a/plugins/azure-devops/CHANGELOG.md +++ b/plugins/azure-devops/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-azure-devops +## 0.3.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- ce9e59cbb3: Refactored the error handling for some of the hooks +- 361bb34d8e: Consolidated getting the annotation values into a single function to help with future changes +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-azure-devops-common@0.3.1 + ## 0.3.8-next.2 ### Patch Changes diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json index fbc049a860..94b4d6486f 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.8-next.2", + "version": "0.3.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-devops/src/components/EntityPageAzurePipelines/EntityPageAzurePipelines.tsx b/plugins/azure-devops/src/components/EntityPageAzurePipelines/EntityPageAzurePipelines.tsx index 02a61a9a9a..c33d849c24 100644 --- a/plugins/azure-devops/src/components/EntityPageAzurePipelines/EntityPageAzurePipelines.tsx +++ b/plugins/azure-devops/src/components/EntityPageAzurePipelines/EntityPageAzurePipelines.tsx @@ -16,21 +16,13 @@ import { BuildTable } from '../BuildTable/BuildTable'; import React from 'react'; -import { getAnnotationValuesFromEntity } from '../../utils/getAnnotationValuesFromEntity'; -import { useBuildRuns } from '../../hooks/useBuildRuns'; +import { useBuildRuns } from '../../hooks'; import { useEntity } from '@backstage/plugin-catalog-react'; export const EntityPageAzurePipelines = (props: { defaultLimit?: number }) => { const { entity } = useEntity(); - const { project, repo, definition } = getAnnotationValuesFromEntity(entity); - - const { items, loading, error } = useBuildRuns( - project, - props.defaultLimit, - repo, - definition, - ); + const { items, loading, error } = useBuildRuns(entity, props.defaultLimit); return ; }; diff --git a/plugins/azure-devops/src/hooks/index.ts b/plugins/azure-devops/src/hooks/index.ts index ab1a3c9998..82ca86d055 100644 --- a/plugins/azure-devops/src/hooks/index.ts +++ b/plugins/azure-devops/src/hooks/index.ts @@ -17,7 +17,7 @@ export * from './useAllTeams'; export * from './useDashboardPullRequests'; export * from './usePullRequests'; -export * from './useRepoBuilds'; export * from './useUserEmail'; export * from './useUserTeamIds'; export * from './useReadme'; +export * from './useBuildRuns'; diff --git a/plugins/azure-devops/src/hooks/useRepoBuilds.test.tsx b/plugins/azure-devops/src/hooks/useBuildRuns.test.tsx similarity index 84% rename from plugins/azure-devops/src/hooks/useRepoBuilds.test.tsx rename to plugins/azure-devops/src/hooks/useBuildRuns.test.tsx index 99eaeb1ce3..409602eec4 100644 --- a/plugins/azure-devops/src/hooks/useRepoBuilds.test.tsx +++ b/plugins/azure-devops/src/hooks/useBuildRuns.test.tsx @@ -17,14 +17,14 @@ import React from 'react'; import { renderHook, waitFor } from '@testing-library/react'; import { Entity } from '@backstage/catalog-model'; -import { RepoBuild } from '@backstage/plugin-azure-devops-common'; +import { BuildRun } from '@backstage/plugin-azure-devops-common'; import { TestApiProvider } from '@backstage/test-utils'; import { AzureDevOpsApi, azureDevOpsApiRef } from '../api'; -import { useRepoBuilds } from './useRepoBuilds'; +import { useBuildRuns } from './useBuildRuns'; -describe('useRepoBuilds', () => { +describe('useBuildRuns', () => { const azureDevOpsApiMock = { - getRepoBuilds: jest.fn(), + getBuildRuns: jest.fn(), }; const azureDevOpsApi = azureDevOpsApiMock as Partial as AzureDevOpsApi; @@ -35,7 +35,7 @@ describe('useRepoBuilds', () => { ); - it('should provide an array of RepoBuild', async () => { + it('should provide an array of BuildRun', async () => { const entity: Entity = { apiVersion: 'backstage.io/v1alpha1', kind: 'Component', @@ -47,7 +47,7 @@ describe('useRepoBuilds', () => { }, }, }; - const repoBuilds: RepoBuild[] = [ + const buildRuns: BuildRun[] = [ { id: 1, title: 'title-1', @@ -67,10 +67,10 @@ describe('useRepoBuilds', () => { link: 'https://dev.azure.com/org/project/repo', }, ]; - azureDevOpsApiMock.getRepoBuilds.mockResolvedValue({ - items: repoBuilds, + azureDevOpsApiMock.getBuildRuns.mockResolvedValue({ + items: buildRuns, }); - const { result } = renderHook(() => useRepoBuilds(entity), { + const { result } = renderHook(() => useBuildRuns(entity), { wrapper: Wrapper, }); @@ -79,7 +79,7 @@ describe('useRepoBuilds', () => { await waitFor(() => { expect(result.current).toEqual({ error: undefined, - items: repoBuilds, + items: buildRuns, loading: false, }); }); @@ -96,7 +96,7 @@ describe('useRepoBuilds', () => { }; expect(() => - renderHook(() => useRepoBuilds(entity), { + renderHook(() => useBuildRuns(entity), { wrapper: Wrapper, }), ).toThrow('Value for annotation "dev.azure.com/project" was not found'); @@ -116,7 +116,7 @@ describe('useRepoBuilds', () => { }; expect(() => - renderHook(() => useRepoBuilds(entity), { + renderHook(() => useBuildRuns(entity), { wrapper: Wrapper, }), ).toThrow( diff --git a/plugins/azure-devops/src/hooks/useBuildRuns.ts b/plugins/azure-devops/src/hooks/useBuildRuns.ts index ae0273de44..2b70ea63a5 100644 --- a/plugins/azure-devops/src/hooks/useBuildRuns.ts +++ b/plugins/azure-devops/src/hooks/useBuildRuns.ts @@ -23,12 +23,12 @@ import { AZURE_DEVOPS_DEFAULT_TOP } from '../constants'; import { azureDevOpsApiRef } from '../api'; import { useApi } from '@backstage/core-plugin-api'; import useAsync from 'react-use/lib/useAsync'; +import { getAnnotationValuesFromEntity } from '../utils'; +import { Entity } from '@backstage/catalog-model'; export function useBuildRuns( - projectName: string, + entity: Entity, defaultLimit?: number, - repoName?: string, - definitionName?: string, ): { items?: BuildRun[]; loading: boolean; @@ -42,8 +42,9 @@ export function useBuildRuns( const api = useApi(azureDevOpsApiRef); const { value, loading, error } = useAsync(() => { - return api.getBuildRuns(projectName, repoName, definitionName, options); - }, [api, projectName, repoName, definitionName]); + const { project, repo, definition } = getAnnotationValuesFromEntity(entity); + return api.getBuildRuns(project, repo, definition, options); + }, [api]); return { items: value?.items, diff --git a/plugins/azure-devops/src/hooks/useGitTags.ts b/plugins/azure-devops/src/hooks/useGitTags.ts index 13c7118934..8a2fb2825d 100644 --- a/plugins/azure-devops/src/hooks/useGitTags.ts +++ b/plugins/azure-devops/src/hooks/useGitTags.ts @@ -28,11 +28,11 @@ export function useGitTags(entity: Entity): { error?: Error; } { const api = useApi(azureDevOpsApiRef); - const { project, repo } = getAnnotationValuesFromEntity(entity); - const { value, loading, error } = useAsync(async () => { - return await api.getGitTags(project, repo as string); - }, [api, project, repo]); + const { value, loading, error } = useAsync(() => { + const { project, repo } = getAnnotationValuesFromEntity(entity); + return api.getGitTags(project, repo as string); + }, [api]); return { items: value?.items, diff --git a/plugins/azure-devops/src/hooks/usePullRequests.ts b/plugins/azure-devops/src/hooks/usePullRequests.ts index c4223871f2..de886919eb 100644 --- a/plugins/azure-devops/src/hooks/usePullRequests.ts +++ b/plugins/azure-devops/src/hooks/usePullRequests.ts @@ -44,11 +44,11 @@ export function usePullRequests( }; const api = useApi(azureDevOpsApiRef); - const { project, repo } = getAnnotationValuesFromEntity(entity); - const { value, loading, error } = useAsync(async () => { - return await api.getPullRequests(project, repo as string, options); - }, [api, project, repo, top, status]); + const { value, loading, error } = useAsync(() => { + const { project, repo } = getAnnotationValuesFromEntity(entity); + return api.getPullRequests(project, repo as string, options); + }, [api, top, status]); return { items: value?.items, diff --git a/plugins/azure-devops/src/hooks/useReadme.ts b/plugins/azure-devops/src/hooks/useReadme.ts index 60b2e21990..67d3c5dfd0 100644 --- a/plugins/azure-devops/src/hooks/useReadme.ts +++ b/plugins/azure-devops/src/hooks/useReadme.ts @@ -28,11 +28,11 @@ export function useReadme(entity: Entity): { error?: Error; } { const api = useApi(azureDevOpsApiRef); - const { project, repo } = getAnnotationValuesFromEntity(entity); - const { value, loading, error } = useAsync(async () => { - return await api.getReadme({ project, repo: repo as string }); - }, [api, project, repo]); + const { value, loading, error } = useAsync(() => { + const { project, repo } = getAnnotationValuesFromEntity(entity); + return api.getReadme({ project, repo: repo as string }); + }, [api]); return { item: value, diff --git a/plugins/azure-devops/src/hooks/useRepoBuilds.ts b/plugins/azure-devops/src/hooks/useRepoBuilds.ts deleted file mode 100644 index 9292a6e035..0000000000 --- a/plugins/azure-devops/src/hooks/useRepoBuilds.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - RepoBuild, - RepoBuildOptions, -} from '@backstage/plugin-azure-devops-common'; - -import { AZURE_DEVOPS_DEFAULT_TOP } from '../constants'; -import { Entity } from '@backstage/catalog-model'; -import { azureDevOpsApiRef } from '../api'; -import { useApi } from '@backstage/core-plugin-api'; -import useAsync from 'react-use/lib/useAsync'; -import { getAnnotationValuesFromEntity } from '../utils'; - -export function useRepoBuilds( - entity: Entity, - defaultLimit?: number, -): { - items?: RepoBuild[]; - loading: boolean; - error?: Error; -} { - const top = defaultLimit ?? AZURE_DEVOPS_DEFAULT_TOP; - const options: RepoBuildOptions = { - top: top, - }; - - const api = useApi(azureDevOpsApiRef); - const { project, repo } = getAnnotationValuesFromEntity(entity); - - const { value, loading, error } = useAsync(async () => { - return await api.getRepoBuilds(project, repo as string, options); - }, [api, project, repo, entity]); - - return { - items: value?.items, - loading, - error, - }; -} diff --git a/plugins/azure-sites-backend/CHANGELOG.md b/plugins/azure-sites-backend/CHANGELOG.md index b981cb0b66..b86436939d 100644 --- a/plugins/azure-sites-backend/CHANGELOG.md +++ b/plugins/azure-sites-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-azure-sites-backend +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/plugin-azure-sites-common@0.1.1 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/azure-sites-backend/package.json b/plugins/azure-sites-backend/package.json index 975ad2fee2..f08485055b 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/azure-sites/CHANGELOG.md b/plugins/azure-sites/CHANGELOG.md index 5c6cf6529f..3432c026c9 100644 --- a/plugins/azure-sites/CHANGELOG.md +++ b/plugins/azure-sites/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-azure-sites +## 0.1.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-azure-sites-common@0.1.1 + ## 0.1.15-next.2 ### Patch Changes diff --git a/plugins/azure-sites/package.json b/plugins/azure-sites/package.json index 3be71efd11..7822e0d3e0 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.15-next.2", + "version": "0.1.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md index bbb536b028..6d4fb37b15 100644 --- a/plugins/badges-backend/CHANGELOG.md +++ b/plugins/badges-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-badges-backend +## 0.3.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + ## 0.3.4-next.2 ### Patch Changes diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json index 3dd6b9e916..e7f13cf414 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.4-next.2", + "version": "0.3.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,7 @@ "@backstage/backend-test-utils": "workspace:^", "@backstage/catalog-client": "workspace:^", "@backstage/cli": "workspace:^", - "cross-fetch": "^3.1.5" + "cross-fetch": "^4.0.0" }, "files": [ "dist", diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md index b7df261971..58bc0f1e0d 100644 --- a/plugins/badges/CHANGELOG.md +++ b/plugins/badges/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-badges +## 0.2.50 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.50-next.2 ### Patch Changes diff --git a/plugins/badges/package.json b/plugins/badges/package.json index fc407675c7..681f5e5189 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.50-next.2", + "version": "0.2.50", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bazaar-backend/CHANGELOG.md b/plugins/bazaar-backend/CHANGELOG.md index 825e3f42ba..f2fdf4a195 100644 --- a/plugins/bazaar-backend/CHANGELOG.md +++ b/plugins/bazaar-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-bazaar-backend +## 0.3.5 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + ## 0.3.5-next.2 ### Patch Changes diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json index 82ce689cab..74bc9b5f0a 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.5-next.2", + "version": "0.3.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md index 8bb4cad655..c170e0a638 100644 --- a/plugins/bazaar/CHANGELOG.md +++ b/plugins/bazaar/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-bazaar +## 0.2.18 + +### Patch Changes + +- c6e7940ccf: Updated Readme document in bazaar plugin +- 4e66e37bd1: Added alert popup for link and unlink entity in bazaar project +- c5aad900e3: Adding descending sort in a bazaar plugin +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- b3acba9091: Added alert popup in the bazaar plugin +- 1a40159acb: Removed unnecessary dependency on `@backstage/cli`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.18-next.2 ### Patch Changes diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json index bb21e6303e..c43db667fa 100644 --- a/plugins/bazaar/package.json +++ b/plugins/bazaar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-bazaar", - "version": "0.2.18-next.2", + "version": "0.2.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx b/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx index 782b7d3c67..c361098273 100644 --- a/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx +++ b/plugins/bazaar/src/components/HomePageBazaarInfoCard/HomePageBazaarInfoCard.tsx @@ -41,6 +41,7 @@ import { useApi, identityApiRef, useRouteRef, + alertApiRef, } from '@backstage/core-plugin-api'; import { Member, BazaarProject } from '../../types'; import { bazaarApiRef } from '../../api'; @@ -86,6 +87,7 @@ export const HomePageBazaarInfoCard = ({ const entityLink = useRouteRef(entityRouteRef); const bazaarApi = useApi(bazaarApiRef); const identity = useApi(identityApiRef); + const alertApi = useApi(alertApiRef); const catalogApi = useApi(catalogApiRef); const [openEdit, setOpenEdit] = useState(false); const [openProjectSelector, setOpenProjectSelector] = useState(false); @@ -216,6 +218,13 @@ export const HomePageBazaarInfoCard = ({ if (updateResponse.status === 'ok') { setOpenUnlink(false); fetchBazaarProject(); + alertApi.post({ + message: `Unlinked entity '${ + parseEntityRef(bazaarProject.value?.entityRef!).name + }' from the project ${bazaarProject.value?.title}`, + severity: 'success', + display: 'transient', + }); } }; diff --git a/plugins/bazaar/src/components/InputSelector/InputSelector.tsx b/plugins/bazaar/src/components/InputSelector/InputSelector.tsx index b7e9ecd96a..69907f9b3e 100644 --- a/plugins/bazaar/src/components/InputSelector/InputSelector.tsx +++ b/plugins/bazaar/src/components/InputSelector/InputSelector.tsx @@ -60,7 +60,7 @@ export const InputSelector = ({ name, options, control, error }: Props) => { > {options.map(option => { return ( - + {option} ); diff --git a/plugins/bazaar/src/components/LinkProjectDialog/LinkProjectDialog.tsx b/plugins/bazaar/src/components/LinkProjectDialog/LinkProjectDialog.tsx index 92a7344dac..e1ef1e217f 100644 --- a/plugins/bazaar/src/components/LinkProjectDialog/LinkProjectDialog.tsx +++ b/plugins/bazaar/src/components/LinkProjectDialog/LinkProjectDialog.tsx @@ -27,7 +27,7 @@ import { CustomDialogTitle } from '../CustomDialogTitle'; import { Entity, stringifyEntityRef } from '@backstage/catalog-model'; import { bazaarApiRef } from '../../api'; -import { useApi } from '@backstage/core-plugin-api'; +import { useApi, alertApiRef } from '@backstage/core-plugin-api'; import { BazaarProject } from '../../types'; @@ -54,9 +54,12 @@ export const LinkProjectDialog = ({ }: Props) => { const classes = useStyles(); const bazaarApi = useApi(bazaarApiRef); + const alertApi = useApi(alertApiRef); const [selectedEntity, setSelectedEntity] = useState(initEntity); + const [selectedEntityName, setSelectedEntityName] = useState(''); const handleEntityClick = (entity: Entity) => { setSelectedEntity(entity); + setSelectedEntityName(entity.metadata.name); }; const handleSubmit = async () => { @@ -66,7 +69,14 @@ export const LinkProjectDialog = ({ ...bazaarProject, entityRef: stringifyEntityRef(selectedEntity!), }); - if (updateResponse.status === 'ok') fetchBazaarProject(); + if (updateResponse.status === 'ok') { + fetchBazaarProject(); + alertApi.post({ + message: `linked entity '${selectedEntityName}' to the project ${bazaarProject.title}`, + severity: 'success', + display: 'transient', + }); + } }; return ( diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md index cbe27eeda7..347b8c8977 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.14 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + ## 0.2.14-next.0 ### Patch Changes diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json index d5987758dc..fe4f51c957 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.14-next.0", + "version": "0.2.14", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -35,13 +35,13 @@ }, "dependencies": { "@backstage/integration": "workspace:^", - "cross-fetch": "^3.1.5" + "cross-fetch": "^4.0.0" }, "devDependencies": { "@backstage/cli": "workspace:^", "@openapitools/openapi-generator-cli": "^2.4.26", "msw": "^1.0.0", - "ts-morph": "^17.0.0" + "ts-morph": "^20.0.0" }, "files": [ "dist" diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md index ace0b27c13..9e0b617eee 100644 --- a/plugins/bitrise/CHANGELOG.md +++ b/plugins/bitrise/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-bitrise +## 0.1.53 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.1.53-next.2 ### Patch Changes diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json index b3b7f771b3..7617a2b9b1 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.53-next.2", + "version": "0.1.53", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md index b7c33a1823..157d9ac2e8 100644 --- a/plugins/catalog-backend-module-aws/CHANGELOG.md +++ b/plugins/catalog-backend-module-aws/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-catalog-backend-module-aws +## 0.3.1 + +### Patch Changes + +- 20d97d28a3: Updated dependency `aws-sdk-client-mock-jest` to `^3.0.0`. +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/integration-aws-node@0.1.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.18 + ## 0.3.1-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json index b58dd78bd2..8a7d792a12 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.1-next.2", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -73,8 +73,8 @@ "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@types/lodash": "^4.14.151", - "aws-sdk-client-mock": "^2.0.0", - "aws-sdk-client-mock-jest": "^2.0.0", + "aws-sdk-client-mock": "^3.0.0", + "aws-sdk-client-mock-jest": "^3.0.0", "luxon": "^3.0.0", "yaml": "^2.0.0" }, diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md index 280325be31..1cd4019d69 100644 --- a/plugins/catalog-backend-module-azure/CHANGELOG.md +++ b/plugins/catalog-backend-module-azure/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-backend-module-azure +## 0.1.26 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @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.18 + ## 0.1.26-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json index 590a4edab1..93abf22151 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.26-next.2", + "version": "0.1.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md index d18925cdd4..31ebb1edb0 100644 --- a/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-backstage-openapi/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-catalog-backend-module-backstage-openapi +## 0.1.0 + +### Minor Changes + +- 785fb1ea75: Adds a new catalog module for ingesting Backstage plugin OpenAPI specs into the catalog for display as an API entity. + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.0-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-backstage-openapi/package.json b/plugins/catalog-backend-module-backstage-openapi/package.json index 488f9bc30f..ad6c2d01b5 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.0-next.2", + "version": "0.1.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -30,7 +30,7 @@ "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "express": "^4.17.1", "express-promise-router": "^4.1.0", "lodash": "^4.17.21", diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md index 0fea22581e..75da10526b 100644 --- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-backend-module-bitbucket-cloud +## 0.1.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-bitbucket-cloud-common@0.2.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.22-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json index 3e446c3ef3..5d296a3f4f 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.22-next.2", + "version": "0.1.22", "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 4a388c5d25..b09d8db65c 100644 --- a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-bitbucket-server +## 0.1.20 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.20-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json index a593ce88ff..d671ea8da0 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.20-next.2", + "version": "0.1.20", "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 4b621af6bc..96983f5347 100644 --- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md +++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-bitbucket +## 0.2.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-bitbucket-cloud-common@0.2.14 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.22-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json index 178f3d3e4d..186b2aa111 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.22-next.2", + "version": "0.2.22", "deprecated": true, "main": "src/index.ts", "types": "src/index.ts", diff --git a/plugins/catalog-backend-module-gcp/CHANGELOG.md b/plugins/catalog-backend-module-gcp/CHANGELOG.md index f94c653b04..e11852f811 100644 --- a/plugins/catalog-backend-module-gcp/CHANGELOG.md +++ b/plugins/catalog-backend-module-gcp/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-gcp +## 0.1.7 + +### Patch Changes + +- 62180df4ee: Allow integration with kubernetes dashboard +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.1.7-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gcp/package.json b/plugins/catalog-backend-module-gcp/package.json index 7c0c4ff0b5..4a66efe77d 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.7-next.2", + "version": "0.1.7", "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 5e8d10ce5a..f6b06b1907 100644 --- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md +++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-gerrit +## 0.1.23 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.23-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json index 1dc5e7ecfe..21aac3b4eb 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.23-next.2", + "version": "0.1.23", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-github-org/CHANGELOG.md b/plugins/catalog-backend-module-github-org/CHANGELOG.md index 364093e236..cb5d4d244f 100644 --- a/plugins/catalog-backend-module-github-org/CHANGELOG.md +++ b/plugins/catalog-backend-module-github-org/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-backend-module-github-org +## 0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-catalog-backend-module-github@0.4.5 + - @backstage/config@1.1.1 + ## 0.1.1-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-github-org/package.json b/plugins/catalog-backend-module-github-org/package.json index b2a24d483a..974c9ab88b 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.1-next.2", + "version": "0.1.1", "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 f9b466604b..4c7499adf4 100644 --- a/plugins/catalog-backend-module-github/CHANGELOG.md +++ b/plugins/catalog-backend-module-github/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-catalog-backend-module-github +## 0.4.5 + +### Patch Changes + +- 88b673aa76: Import `AnalyzeOptions` and `ScmLocationAnalyzer` types from `@backstage/plugin-catalog-node` +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + ## 0.4.5-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json index 0d1e1bd7fc..4b0041b4b3 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.5-next.2", + "version": "0.4.5", "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 22e01f5ea7..0ac72ea311 100644 --- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md +++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-gitlab +## 0.3.4 + +### Patch Changes + +- d732f17610: Added try catch around fetching gitlab group users to prevent refresh from failing completely while only a select number of groups might not be able to load correctly. +- 0873a43ac1: Resolved a bug affecting the retrieval of users from group members. By appending '/all' to the API call, we now include members from all inherited groups, as per Gitlab's API specifications. This change is reflected in the listSaaSUsers function. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.3.4-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json index 071e408322..64de0c743e 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.4-next.2", + "version": "0.3.4", "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 cfc689a57b..32e02759c8 100644 --- a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md +++ b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-catalog-backend-module-incremental-ingestion +## 0.4.11 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-events-node@0.2.16 + ## 0.4.11-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json index cd0a4dd0d4..60294ed1e8 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.11-next.2", + "version": "0.4.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md index 66377e8eeb..fa8edc3237 100644 --- a/plugins/catalog-backend-module-ldap/CHANGELOG.md +++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-catalog-backend-module-ldap +## 0.5.22 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-tasks@0.5.12 + - @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.18 + ## 0.5.22-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json index 5bf7ede085..5bbff95359 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.22-next.2", + "version": "0.5.22", "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 cec1263ea7..987868a96e 100644 --- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md +++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-catalog-backend-module-msgraph +## 0.5.14 + +### Patch Changes + +- 224aa6f64c: export the function to read ms graph provider config +- 243c655a68: JSDoc and Error message updates to handle `Azure Active Directory` re-brand to `Entra ID` +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.5.14-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json index 00ff5da3b8..97e17d73c1 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.14-next.2", + "version": "0.5.14", "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 df5ecf9aa5..750e55e315 100644 --- a/plugins/catalog-backend-module-openapi/CHANGELOG.md +++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-openapi +## 0.1.24 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.1.24-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json index 1a9dcd8cde..22e42ee9ea 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.24-next.2", + "version": "0.1.24", "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 d50f4e10ae..d0d5aa5b86 100644 --- a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md +++ b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-catalog-backend-module-puppetdb +## 0.1.12 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.1.12-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-puppetdb/package.json b/plugins/catalog-backend-module-puppetdb/package.json index eb398bebc4..423d92017f 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.12-next.2", + "version": "0.1.12", "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 2ba8c5973c..351f161f0e 100644 --- a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md +++ b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-catalog-backend-module-scaffolder-entity-model +## 0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.1.4-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/package.json b/plugins/catalog-backend-module-scaffolder-entity-model/package.json index 7a6aa74799..99116282bf 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md index ce2f89a953..e4ecafebb8 100644 --- a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md +++ b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-backend-module-unprocessed +## 0.3.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-auth-node@0.4.1 + ## 0.3.4-next.2 ### Patch Changes diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json index c32c4fb144..fd1bad3bfa 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.4-next.2", + "version": "0.3.4", "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 45d54108d9..3b8d814181 100644 --- a/plugins/catalog-backend/CHANGELOG.md +++ b/plugins/catalog-backend/CHANGELOG.md @@ -1,5 +1,46 @@ # @backstage/plugin-catalog-backend +## 1.15.0 + +### Minor Changes + +- e5bf3749ad: Support adding location analyzers in new catalog analysis extension point and move `AnalyzeOptions` and `ScmLocationAnalyzer` types to `@backstage/plugin-catalog-node` +- 8d756968f9: Introduce a new optional config parameter `catalog.stitchingStrategy.mode`, + which can have the values `'immediate'` (default) and `'deferred'`. The default + is for stitching to work as it did before this change, which means that it + happens "in-band" (blocking) immediately when each processing task finishes. + When set to `'deferred'`, stitching is instead deferred to happen on a separate + asynchronous worker queue just like processing. + + Deferred stitching should make performance smoother when ingesting large amounts + of entities, and reduce p99 processing times and repeated over-stitching of + hot spot entities when fan-out/fan-in in terms of relations is very large. It + does however also come with some performance cost due to the queuing with how + much wall-clock time some types of task take. + +### Patch Changes + +- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`. +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/plugin-search-backend-module-catalog@0.1.11 + - @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.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-events-node@0.2.16 + - @backstage/plugin-permission-node@0.7.18 + ## 1.15.0-next.2 ### Patch Changes diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json index f02f865618..9c46bb2b2a 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.15.0-next.2", + "version": "1.15.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md index 3dbde65433..15582a68fc 100644 --- a/plugins/catalog-common/CHANGELOG.md +++ b/plugins/catalog-common/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-catalog-common +## 1.0.18 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/plugin-search-common@1.2.8 + ## 1.0.17 ### Patch Changes diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json index 68ab60e7c3..45720ee32a 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.17", + "version": "1.0.18", "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 d172e599aa..a7fe02e56c 100644 --- a/plugins/catalog-graph/CHANGELOG.md +++ b/plugins/catalog-graph/CHANGELOG.md @@ -1,5 +1,35 @@ # @backstage/plugin-catalog-graph +## 0.3.0 + +### Minor Changes + +- a604623324: Add the entire `Entity` to `EntityNodeData` and deprecate `name`, `kind`, `title`, `namespace` and `spec`. + + To get the deprecated properties in your custom component you can use: + + ```typescript + import { DEFAULT_NAMESPACE } from '@backstage/catalog-model'; + + const { + kind, + metadata: { name, namespace = DEFAULT_NAMESPACE, title }, + } = entity; + ``` + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + ## 0.2.38-next.2 ### Patch Changes diff --git a/plugins/catalog-graph/README.md b/plugins/catalog-graph/README.md index f723523716..010a129b0f 100644 --- a/plugins/catalog-graph/README.md +++ b/plugins/catalog-graph/README.md @@ -85,6 +85,55 @@ To use the catalog graph plugin, you have to add some things to your Backstage a ``` +### Customization + +Copy the default implementation `DefaultRenderNode.tsx` and add more classes to the styles: + +```typescript +const useStyles = makeStyles( + theme => ({ + node: { + … + '&.system': { + fill: '#F5DC70', + stroke: '#F2CE34', + }, + '&.domain': { + fill: '#F5DC70', + stroke: '#F2CE34', + }, + … +); +``` + +Now you can use the new classes in your component with `className={classNames(classes.node, kind?.toLowerCase(), type?.toLowerCase())}` + +```tsx +return ( + + + + {displayTitle} + + +); +``` + ## Development Run `yarn` in the root of this plugin to install all dependencies and then `yarn start` to run a [development version](./dev/index.tsx) of this plugin. diff --git a/plugins/catalog-graph/api-report.md b/plugins/catalog-graph/api-report.md index 98a68d8aa2..ba75943843 100644 --- a/plugins/catalog-graph/api-report.md +++ b/plugins/catalog-graph/api-report.md @@ -8,6 +8,7 @@ import { BackstagePlugin } from '@backstage/core-plugin-api'; import { CompoundEntityRef } from '@backstage/catalog-model'; import { DependencyGraphTypes } from '@backstage/core-components'; +import { Entity } from '@backstage/catalog-model'; import { ExternalRouteRef } from '@backstage/core-plugin-api'; import { InfoCardVariants } from '@backstage/core-components'; import { JsonObject } from '@backstage/types'; @@ -90,14 +91,15 @@ export type EntityNode = DependencyGraphTypes.DependencyNode; // @public export type EntityNodeData = { + entity: Entity; + focused?: boolean; + color?: 'primary' | 'secondary' | 'default'; + onClick?: MouseEventHandler; name: string; kind?: string; title?: string; namespace: string; spec?: JsonObject; - focused?: boolean; - color?: 'primary' | 'secondary' | 'default'; - onClick?: MouseEventHandler; }; // @public diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json index ab45ef6ea2..4d3cbf4c3a 100644 --- a/plugins/catalog-graph/package.json +++ b/plugins/catalog-graph/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-catalog-graph", - "version": "0.2.38-next.2", + "version": "0.3.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx index 7976fa66bb..99942b9a5c 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphCard/CatalogGraphCard.tsx @@ -37,7 +37,7 @@ import { EntityNode, EntityRelationsGraph, } from '../EntityRelationsGraph'; -import { EntityRelationsGraphProps } from '../EntityRelationsGraph/EntityRelationsGraph'; +import { EntityRelationsGraphProps } from '../EntityRelationsGraph'; const useStyles = makeStyles( { @@ -97,7 +97,7 @@ export const CatalogGraphCard = ( }); analytics.captureEvent( 'click', - node.title ?? humanizeEntityRef(nodeEntityName), + node.entity.metadata.title ?? humanizeEntityRef(nodeEntityName), { attributes: { to: path } }, ); navigate(path); diff --git a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx index 92da650359..73d79978e9 100644 --- a/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx +++ b/plugins/catalog-graph/src/components/CatalogGraphPage/CatalogGraphPage.tsx @@ -157,14 +157,14 @@ export const CatalogGraphPage = ( analytics.captureEvent( 'click', - node.title ?? humanizeEntityRef(nodeEntityName), + node.entity.metadata.title ?? humanizeEntityRef(nodeEntityName), { attributes: { to: path } }, ); navigate(path); } else { analytics.captureEvent( 'click', - node.title ?? humanizeEntityRef(nodeEntityName), + node.entity.metadata.title ?? humanizeEntityRef(nodeEntityName), ); setRootEntityNames([nodeEntityName]); } diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomLabel.test.tsx b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderLabel.test.tsx similarity index 93% rename from plugins/catalog-graph/src/components/EntityRelationsGraph/CustomLabel.test.tsx rename to plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderLabel.test.tsx index ab280aea81..14692f1a7b 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomLabel.test.tsx +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderLabel.test.tsx @@ -20,13 +20,13 @@ import { } from '@backstage/catalog-model'; import { render, screen } from '@testing-library/react'; import React from 'react'; -import { CustomLabel } from './CustomLabel'; +import { DefaultRenderLabel } from './DefaultRenderLabel'; describe('', () => { test('renders label', () => { render( - ', () => { test('renders label with multiple relations', () => { render( - ) { const classes = useStyles(); diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.test.tsx b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.test.tsx similarity index 70% rename from plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.test.tsx rename to plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.test.tsx index 7a34bbf688..1f3d77e1ae 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.test.tsx +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.test.tsx @@ -17,21 +17,30 @@ import { renderInTestApp } from '@backstage/test-utils'; import { screen } from '@testing-library/react'; import React from 'react'; -import { CustomNode } from './CustomNode'; +import { DefaultRenderNode } from './DefaultRenderNode'; import userEvent from '@testing-library/user-event'; describe('', () => { test('renders node', async () => { await renderInTestApp( - , @@ -43,13 +52,22 @@ describe('', () => { test('renders node, skips default namespace', async () => { await renderInTestApp( - , @@ -62,14 +80,23 @@ describe('', () => { const onClick = jest.fn(); await renderInTestApp( - , @@ -83,14 +110,24 @@ describe('', () => { test('renders title if entity has one', async () => { await renderInTestApp( - , diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.tsx b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.tsx similarity index 94% rename from plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.tsx rename to plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.tsx index 1229ad28f9..88de8df686 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/CustomNode.tsx +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/DefaultRenderNode.tsx @@ -20,6 +20,7 @@ import classNames from 'classnames'; import React, { useLayoutEffect, useRef, useState } from 'react'; import { EntityKindIcon } from './EntityKindIcon'; import { EntityNodeData } from './types'; +import { DEFAULT_NAMESPACE } from '@backstage/catalog-model'; const useStyles = makeStyles( theme => ({ @@ -56,17 +57,8 @@ const useStyles = makeStyles( { name: 'PluginCatalogGraphCustomNode' }, ); -export function CustomNode({ - node: { - id, - kind, - namespace, - name, - color = 'default', - focused, - title, - onClick, - }, +export function DefaultRenderNode({ + node: { id, entity, color = 'default', focused, onClick }, }: DependencyGraphTypes.RenderNodeProps) { const classes = useStyles(); const [width, setWidth] = useState(0); @@ -88,6 +80,11 @@ export function CustomNode({ } }, [width, height]); + const { + kind, + metadata: { name, namespace = DEFAULT_NAMESPACE, title }, + } = entity; + const padding = 10; const iconSize = height; const paddedIconWidth = kind ? iconSize + padding : 0; diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.tsx b/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.tsx index 2451f4913a..654aaff969 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.tsx +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.tsx @@ -26,8 +26,8 @@ import { errorApiRef, useApi } from '@backstage/core-plugin-api'; import { CircularProgress, makeStyles, useTheme } from '@material-ui/core'; import classNames from 'classnames'; import React, { MouseEvent, useEffect, useMemo } from 'react'; -import { CustomLabel } from './CustomLabel'; -import { CustomNode } from './CustomNode'; +import { DefaultRenderLabel } from './DefaultRenderLabel'; +import { DefaultRenderNode } from './DefaultRenderNode'; import { ALL_RELATION_PAIRS, RelationPairs } from './relations'; import { Direction, EntityEdge, EntityNode } from './types'; import { useEntityRelationNodesAndEdges } from './useEntityRelationNodesAndEdges'; @@ -51,7 +51,7 @@ const useStyles = makeStyles( width: '100%', flex: 1, // Right now there is no good way to style edges between nodes, we have to - // fallback to these hacks: + // fall back to these hacks: '& path[marker-end]': { transition: 'filter 0.1s ease-in-out', }, @@ -144,8 +144,8 @@ export const EntityRelationsGraph = (props: EntityRelationsGraphProps) => { ; */ export type EntityNodeData = { /** - * Name of the entity. + * The Entity */ - name: string; - /** - * Optional kind of the entity. - */ - kind?: string; - /** - * Optional title of the entity. - */ - title?: string; - /** - * Namespace of the entity. - */ - namespace: string; - /** - * Optional spec of the entity. - */ - spec?: JsonObject; + entity: Entity; /** * Whether the entity is focused, optional, defaults to false. Focused * entities are highlighted in the graph. @@ -81,6 +66,33 @@ export type EntityNodeData = { * Optional click handler. */ onClick?: MouseEventHandler; + + /** + * Name of the entity. + * @deprecated use {@link EntityNodeData#entity} instead + */ + name: string; + /** + * Optional kind of the entity. + * @deprecated use {@link EntityNodeData#entity} instead + */ + kind?: string; + /** + * Optional title of the entity. + * @deprecated use {@link EntityNodeData#entity} instead + */ + title?: string; + /** + * Namespace of the entity. + * @deprecated use {@link EntityNodeData#entity} instead + * The Entity + */ + namespace: string; + /** + * Optional spec of the entity. + * @deprecated use {@link EntityNodeData#entity} instead + */ + spec?: JsonObject; }; /** diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.test.ts b/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.test.ts index d17e8b1c9d..8c7b59b9c4 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.test.ts +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.test.ts @@ -14,6 +14,7 @@ * limitations under the License. */ import { + DEFAULT_NAMESPACE, Entity, RELATION_HAS_PART, RELATION_OWNED_BY, @@ -25,6 +26,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import { filter, keyBy } from 'lodash'; import { useEntityRelationGraph as useEntityRelationGraphMocked } from './useEntityRelationGraph'; import { useEntityRelationNodesAndEdges } from './useEntityRelationNodesAndEdges'; +import { EntityNode } from './types'; jest.mock('./useEntityRelationGraph'); @@ -32,83 +34,92 @@ const useEntityRelationGraph = useEntityRelationGraphMocked as jest.Mock< ReturnType >; +const entities: { [ref: string]: Entity } = { + 'b:d/c': { + apiVersion: 'a', + kind: 'b', + metadata: { + name: 'c', + namespace: 'd', + }, + relations: [ + { + targetRef: 'k:d/a1', + type: RELATION_OWNER_OF, + }, + { + targetRef: 'b:d/c1', + type: RELATION_HAS_PART, + }, + ], + }, + 'k:d/a1': { + apiVersion: 'a', + kind: 'k', + metadata: { + name: 'a1', + namespace: 'd', + }, + relations: [ + { + targetRef: 'b:d/c', + type: RELATION_OWNED_BY, + }, + { + targetRef: 'b:d/c1', + type: RELATION_OWNED_BY, + }, + ], + }, + 'b:d/c1': { + apiVersion: 'a', + kind: 'b', + metadata: { + name: 'c1', + namespace: 'd', + }, + relations: [ + { + targetRef: 'b:d/c', + type: RELATION_PART_OF, + }, + { + targetRef: 'k:d/a1', + type: RELATION_OWNER_OF, + }, + { + targetRef: 'b:d/c2', + type: RELATION_HAS_PART, + }, + ], + }, + 'b:d/c2': { + apiVersion: 'a', + kind: 'b', + metadata: { + name: 'c2', + namespace: 'd', + }, + relations: [ + { + targetRef: 'b:d/c1', + type: RELATION_PART_OF, + }, + ], + }, +}; + +function deprecatedProperties(entity: Entity): Partial { + return { + kind: entity.kind, + name: entity.metadata.name, + namespace: entity.metadata.namespace || DEFAULT_NAMESPACE, + title: entity.metadata.title, + }; +} + describe('useEntityRelationNodesAndEdges', () => { beforeEach(() => { - const entities: { [ref: string]: Entity } = { - 'b:d/c': { - apiVersion: 'a', - kind: 'b', - metadata: { - name: 'c', - namespace: 'd', - }, - relations: [ - { - targetRef: 'k:d/a1', - type: RELATION_OWNER_OF, - }, - { - targetRef: 'b:d/c1', - type: RELATION_HAS_PART, - }, - ], - }, - 'k:d/a1': { - apiVersion: 'a', - kind: 'k', - metadata: { - name: 'a1', - namespace: 'd', - }, - relations: [ - { - targetRef: 'b:d/c', - type: RELATION_OWNED_BY, - }, - { - targetRef: 'b:d/c1', - type: RELATION_OWNED_BY, - }, - ], - }, - 'b:d/c1': { - apiVersion: 'a', - kind: 'b', - metadata: { - name: 'c1', - namespace: 'd', - }, - relations: [ - { - targetRef: 'b:d/c', - type: RELATION_PART_OF, - }, - { - targetRef: 'k:d/a1', - type: RELATION_OWNER_OF, - }, - { - targetRef: 'b:d/c2', - type: RELATION_HAS_PART, - }, - ], - }, - 'b:d/c2': { - apiVersion: 'a', - kind: 'b', - metadata: { - name: 'c2', - namespace: 'd', - }, - relations: [ - { - targetRef: 'b:d/c1', - type: RELATION_PART_OF, - }, - ], - }, - }; - useEntityRelationGraph.mockImplementation(({ filter: { kinds } }) => ({ loading: false, entities: keyBy( @@ -184,33 +195,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -257,33 +264,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -330,33 +333,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -433,33 +432,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -534,33 +529,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'secondary', focused: true, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -606,33 +597,29 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'k:d/a1', - kind: 'k', - name: 'a1', - namespace: 'd', + entity: entities['k:d/a1'], + ...deprecatedProperties(entities['k:d/a1']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ @@ -658,6 +645,7 @@ describe('useEntityRelationNodesAndEdges', () => { }); const { nodes, edges, loading, error } = result.current; + // nodes?.sort((a, b) => a.id.localeCompare(b.id)); expect(loading).toBe(false); expect(error).toBeUndefined(); @@ -666,25 +654,22 @@ describe('useEntityRelationNodesAndEdges', () => { color: 'secondary', focused: true, id: 'b:d/c', - kind: 'b', - name: 'c', - namespace: 'd', + entity: entities['b:d/c'], + ...deprecatedProperties(entities['b:d/c']), }, { color: 'primary', focused: false, id: 'b:d/c1', - kind: 'b', - name: 'c1', - namespace: 'd', + entity: entities['b:d/c1'], + ...deprecatedProperties(entities['b:d/c1']), }, { color: 'primary', focused: false, id: 'b:d/c2', - kind: 'b', - name: 'c2', - namespace: 'd', + entity: entities['b:d/c2'], + ...deprecatedProperties(entities['b:d/c2']), }, ]); expect(edges).toEqual([ diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.ts b/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.ts index 2e177e2b75..4302957d5b 100644 --- a/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.ts +++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/useEntityRelationNodesAndEdges.ts @@ -13,12 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { DEFAULT_NAMESPACE } from '@backstage/catalog-model'; import { MouseEvent, useState } from 'react'; import useDebounce from 'react-use/lib/useDebounce'; import { RelationPairs, ALL_RELATION_PAIRS } from './relations'; import { EntityEdge, EntityNode } from './types'; import { useEntityRelationGraph } from './useEntityRelationGraph'; +import { DEFAULT_NAMESPACE } from '@backstage/catalog-model'; /** * Generate nodes and edges to render the entity graph. @@ -71,13 +71,15 @@ export function useEntityRelationNodesAndEdges({ const focused = rootEntityRefs.includes(entityRef); const node: EntityNode = { id: entityRef, - title: entity.metadata?.title ?? undefined, - kind: entity.kind, - name: entity.metadata.name, - namespace: entity.metadata.namespace ?? DEFAULT_NAMESPACE, - spec: entity.spec ?? undefined, + entity, focused, color: focused ? 'secondary' : 'primary', + // @deprecated + kind: entity.kind, + name: entity.metadata.name, + namespace: entity.metadata.namespace || DEFAULT_NAMESPACE, + title: entity.metadata.title, + spec: entity.spec, }; if (onNodeClick) { diff --git a/plugins/catalog-graphql/CHANGELOG.md b/plugins/catalog-graphql/CHANGELOG.md index 0a8a24b828..6c0ef16769 100644 --- a/plugins/catalog-graphql/CHANGELOG.md +++ b/plugins/catalog-graphql/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-catalog-graphql +## 0.4.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.4.1-next.0 ### Patch Changes diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json index de493b16f4..aa4200ccae 100644 --- a/plugins/catalog-graphql/package.json +++ b/plugins/catalog-graphql/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-catalog-graphql", "description": "Deprecated, consider using @frontside/backstage-plugin-graphql-backend instead", - "version": "0.4.1-next.0", + "version": "0.4.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md index 5d99d9cd83..b5471762f4 100644 --- a/plugins/catalog-import/CHANGELOG.md +++ b/plugins/catalog-import/CHANGELOG.md @@ -1,5 +1,26 @@ # @backstage/plugin-catalog-import +## 0.10.2 + +### Patch Changes + +- 6db75b900a: Create an experimental plugin that is compatible with the declarative integration system, it is exported from the `/alpha` subpath. +- 6c2b872153: Add official support for React 18. +- dee1f39fcc: Fix missing children key warning on the default catalog import page. +- 71c97e7d73: The `app.title` configuration is now properly required to be a string. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.10.2-next.2 ### Patch Changes diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json index b528ae0ac1..6cb369cf47 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.2-next.2", + "version": "0.10.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,6 +49,7 @@ "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", diff --git a/plugins/catalog-import/src/alpha.tsx b/plugins/catalog-import/src/alpha.tsx index bde1048f13..18ddda2ceb 100644 --- a/plugins/catalog-import/src/alpha.tsx +++ b/plugins/catalog-import/src/alpha.tsx @@ -20,7 +20,7 @@ import { discoveryApiRef, identityApiRef, } from '@backstage/core-plugin-api'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { createApiExtension, createPageExtension, diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md index 228dd31789..c93baeb66d 100644 --- a/plugins/catalog-node/CHANGELOG.md +++ b/plugins/catalog-node/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-catalog-node +## 1.5.0 + +### Minor Changes + +- e5bf3749ad: Support adding location analyzers in new catalog analysis extension point and move `AnalyzeOptions` and `ScmLocationAnalyzer` types to `@backstage/plugin-catalog-node` + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + ## 1.5.0-next.2 ### Patch Changes diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json index 27277b5381..0d5b56cbe6 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.5.0-next.2", + "version": "1.5.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md index 24a21d1e71..9d656e6438 100644 --- a/plugins/catalog-react/CHANGELOG.md +++ b/plugins/catalog-react/CHANGELOG.md @@ -1,5 +1,55 @@ # @backstage/plugin-catalog-react +## 1.9.0 + +### Minor Changes + +- 1e5b7d993a: Added an `EntityPresentationApi` and associated `entityPresentationApiRef`. This + API lets you control how references to entities (e.g. in links, headings, + iconography etc) are represented in the user interface. + + Usage of this API is initially added to the `EntityRefLink` and `EntityRefLinks` + components, so that they can render richer, more correct representation of + entity refs. There's also a new `EntityDisplayName` component, which works just like + the `EntityRefLink` but without the link. + + Along with that change, the `fetchEntities` and `getTitle` props of + `EntityRefLinksProps` are deprecated and no longer used, since the same need + instead is fulfilled (and by default always enabled) by the + `entityPresentationApiRef`. + +- 1fd53fa0c6: The `UserListPicker` component has undergone improvements to enhance its performance. + + The previous implementation inferred the number of owned and starred entities based on the entities available in the `EntityListContext`. The updated version no longer relies on the `EntityListContext` for inference, allowing for better decoupling. + + The component now loads the entities' count asynchronously, resulting in improved performance and responsiveness. For this purpose, some of the exported filters such as `EntityTagFilter`, `EntityOwnerFilter`, `EntityLifecycleFilter` and `EntityNamespaceFilter` have now the `getCatalogFilters` method implemented. + +### Patch Changes + +- 2ad1bacef7: Add EntityRef to Entity Inspector UI +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- 0bf6ebda88: Added new APIs at the `/alpha` subpath for creating entity page cards and content for the new frontend system. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- 71c97e7d73: The `spec.type` field in entities will now always be rendered as a string. +- 69c14904b6: Move the `EntityRefLink` icon to the left hand side as per Material-UI guidelines +- 000dcd01af: Removed unnecessary `@backstage/integration` dependency, replaced by `@backstage/integration-react`. +- 6c357184e2: Export `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + ## 1.9.0-next.2 ### Patch Changes diff --git a/plugins/catalog-react/api-report.md b/plugins/catalog-react/api-report.md index 5ebc9de8d6..e84fa9815c 100644 --- a/plugins/catalog-react/api-report.md +++ b/plugins/catalog-react/api-report.md @@ -196,8 +196,8 @@ export const EntityDisplayName: (props: EntityDisplayNameProps) => JSX.Element; // @public export type EntityDisplayNameProps = { entityRef: Entity | CompoundEntityRef | string; - noIcon?: boolean; - noTooltip?: boolean; + hideIcon?: boolean; + disableTooltip?: boolean; defaultKind?: string; defaultNamespace?: string; }; @@ -399,6 +399,7 @@ export type EntityRefLinkProps = { defaultNamespace?: string; title?: string; children?: React_2.ReactNode; + hideIcon?: boolean; } & Omit; // @public @@ -412,6 +413,7 @@ export type EntityRefLinksProps< > = { defaultKind?: string; entityRefs: TRef[]; + hideIcons?: boolean; fetchEntities?: boolean; getTitle?(entity: TRef): string | undefined; } & Omit; diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json index abefaeadb9..c35710187d 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.0-next.2", + "version": "1.9.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog-react/src/components/EntityAutocompletePicker/EntityAutocompletePicker.tsx b/plugins/catalog-react/src/components/EntityAutocompletePicker/EntityAutocompletePicker.tsx index 3eaba51909..98e680aa12 100644 --- a/plugins/catalog-react/src/components/EntityAutocompletePicker/EntityAutocompletePicker.tsx +++ b/plugins/catalog-react/src/components/EntityAutocompletePicker/EntityAutocompletePicker.tsx @@ -130,7 +130,7 @@ export function EntityAutocompletePicker< {label} - multiple disableCloseOnSelect options={availableOptions} diff --git a/plugins/catalog-react/src/components/EntityDisplayName/EntityDisplayName.tsx b/plugins/catalog-react/src/components/EntityDisplayName/EntityDisplayName.tsx index 6bdbe83a84..de55f46391 100644 --- a/plugins/catalog-react/src/components/EntityDisplayName/EntityDisplayName.tsx +++ b/plugins/catalog-react/src/components/EntityDisplayName/EntityDisplayName.tsx @@ -34,7 +34,7 @@ const useStyles = makeStyles( alignItems: 'center', }, icon: { - marginLeft: theme.spacing(0.5), + marginRight: theme.spacing(0.5), color: theme.palette.text.secondary, lineHeight: 0, }, @@ -49,8 +49,8 @@ const useStyles = makeStyles( */ export type EntityDisplayNameProps = { entityRef: Entity | CompoundEntityRef | string; - noIcon?: boolean; - noTooltip?: boolean; + hideIcon?: boolean; + disableTooltip?: boolean; defaultKind?: string; defaultNamespace?: string; }; @@ -63,7 +63,8 @@ export type EntityDisplayNameProps = { export const EntityDisplayName = ( props: EntityDisplayNameProps, ): JSX.Element => { - const { entityRef, noIcon, noTooltip, defaultKind, defaultNamespace } = props; + const { entityRef, hideIcon, disableTooltip, defaultKind, defaultNamespace } = + props; const classes = useStyles(); const { primaryTitle, secondaryTitle, Icon } = useEntityPresentation( @@ -77,17 +78,17 @@ export const EntityDisplayName = ( // Optionally an icon, and wrapper around them both content = ( - {content} - {Icon && !noIcon ? ( + {Icon && !hideIcon ? ( ) : null} + {content} ); // Optionally, a tooltip as the outermost layer - if (secondaryTitle && !noTooltip) { + if (secondaryTitle && !disableTooltip) { content = ( {content} diff --git a/plugins/catalog-react/src/components/EntityPeekAheadPopover/EntityPeekAheadPopover.test.tsx b/plugins/catalog-react/src/components/EntityPeekAheadPopover/EntityPeekAheadPopover.test.tsx index 85a477801a..d8bd8f11a6 100644 --- a/plugins/catalog-react/src/components/EntityPeekAheadPopover/EntityPeekAheadPopover.test.tsx +++ b/plugins/catalog-react/src/components/EntityPeekAheadPopover/EntityPeekAheadPopover.test.tsx @@ -66,12 +66,12 @@ describe('', () => { ); expect(screen.getByText('s1')).toBeInTheDocument(); expect(screen.queryByText('service1')).toBeNull(); - user.hover(screen.getByTestId('popover1')); + await user.hover(screen.getByTestId('popover1')); expect(await screen.findByText('service1')).toBeInTheDocument(); expect(screen.getByText('s2')).toBeInTheDocument(); expect(screen.queryByText('service2')).toBeNull(); - user.hover(screen.getByTestId('popover2')); + await user.hover(screen.getByTestId('popover2')); expect( await screen.findByText('Error: component:default/service2 not found'), ).toBeInTheDocument(); diff --git a/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx index 01a6e0188d..7b8a35d162 100644 --- a/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx +++ b/plugins/catalog-react/src/components/EntityProcessingStatusPicker/EntityProcessingStatusPicker.tsx @@ -72,7 +72,7 @@ export const EntityProcessingStatusPicker = () => { Processing Status - multiple disableCloseOnSelect options={availableAdvancedItems} diff --git a/plugins/catalog-react/src/components/EntityRefLink/EntityRefLink.tsx b/plugins/catalog-react/src/components/EntityRefLink/EntityRefLink.tsx index 32627fccb2..c5af47e870 100644 --- a/plugins/catalog-react/src/components/EntityRefLink/EntityRefLink.tsx +++ b/plugins/catalog-react/src/components/EntityRefLink/EntityRefLink.tsx @@ -38,6 +38,7 @@ export type EntityRefLinkProps = { /** @deprecated This option should no longer be used; presentation is requested through the {@link entityPresentationApiRef} instead */ title?: string; children?: React.ReactNode; + hideIcon?: boolean; } & Omit; /** @@ -53,6 +54,7 @@ export const EntityRefLink = forwardRef( defaultNamespace, title, children, + hideIcon, ...linkProps } = props; const entityRoute = useEntityRoute(props.entityRef); @@ -62,6 +64,7 @@ export const EntityRefLink = forwardRef( entityRef={entityRef} defaultKind={defaultKind} defaultNamespace={defaultNamespace} + hideIcon={hideIcon} /> ); diff --git a/plugins/catalog-react/src/components/EntityRefLink/EntityRefLinks.tsx b/plugins/catalog-react/src/components/EntityRefLink/EntityRefLinks.tsx index 929b3f9376..a9370af471 100644 --- a/plugins/catalog-react/src/components/EntityRefLink/EntityRefLinks.tsx +++ b/plugins/catalog-react/src/components/EntityRefLink/EntityRefLinks.tsx @@ -32,6 +32,7 @@ export type EntityRefLinksProps< > = { defaultKind?: string; entityRefs: TRef[]; + hideIcons?: boolean; /** @deprecated This option is no longer used; presentation is handled by entityPresentationApiRef instead */ fetchEntities?: boolean; /** @deprecated This option is no longer used; presentation is handled by entityPresentationApiRef instead */ @@ -46,7 +47,7 @@ export type EntityRefLinksProps< export function EntityRefLinks< TRef extends string | CompoundEntityRef | Entity, >(props: EntityRefLinksProps) { - const { entityRefs, ...linkProps } = props; + const { entityRefs, hideIcons, ...linkProps } = props; return ( <> @@ -56,7 +57,7 @@ export function EntityRefLinks< return ( {i > 0 && ', '} - + ); })} diff --git a/plugins/catalog-react/src/components/InspectEntityDialog/components/OverviewPage.tsx b/plugins/catalog-react/src/components/InspectEntityDialog/components/OverviewPage.tsx index d2eb6d4266..8b3b69a55a 100644 --- a/plugins/catalog-react/src/components/InspectEntityDialog/components/OverviewPage.tsx +++ b/plugins/catalog-react/src/components/InspectEntityDialog/components/OverviewPage.tsx @@ -21,6 +21,7 @@ import { List, ListItem, ListItemIcon, + ListItemSecondaryAction, makeStyles, Typography, } from '@material-ui/core'; @@ -36,6 +37,8 @@ import { ListSubheader, } from './common'; import { EntityKindIcon } from './EntityKindIcon'; +import { stringifyEntityRef } from '@backstage/catalog-model'; +import { CopyTextButton } from '@backstage/core-components'; const useStyles = makeStyles({ root: { @@ -60,6 +63,7 @@ export function OverviewPage(props: { entity: AlphaEntity }) { 'type', ); + const entityRef = stringifyEntityRef(props.entity); return ( <> Overview @@ -83,13 +87,25 @@ export function OverviewPage(props: { entity: AlphaEntity }) { {metadata.uid && ( + + + )} {metadata.etag && ( + + + )} + + + + + + diff --git a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx index 854a1cb1b7..d9b32289ae 100644 --- a/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx +++ b/plugins/catalog-react/src/components/UserListPicker/UserListPicker.tsx @@ -243,7 +243,6 @@ export const UserListPicker = (props: UserListPickerProps) => { setSelectedUserFilter(item.id)} selected={item.id === filters.user?.value} diff --git a/plugins/catalog-unprocessed-entities/CHANGELOG.md b/plugins/catalog-unprocessed-entities/CHANGELOG.md index 97184a50cd..13bb7f0731 100644 --- a/plugins/catalog-unprocessed-entities/CHANGELOG.md +++ b/plugins/catalog-unprocessed-entities/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-catalog-unprocessed-entities +## 0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- a11cdb9200: Added filtering and sorting to unprocessed entities tables. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json index 50a27c05c6..e5730512c2 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.5-next.2", + "version": "0.1.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md index 7d1b4820bc..9dbcedb3a9 100644 --- a/plugins/catalog/CHANGELOG.md +++ b/plugins/catalog/CHANGELOG.md @@ -1,5 +1,48 @@ # @backstage/plugin-catalog +## 1.15.0 + +### Minor Changes + +- 1e5b7d993a: Added the `DefaultEntityPresentationApi`, which is an implementation of the + `EntityPresentationApi` that `@backstage/plugin-catalog-react` exposes through + its `entityPresentationApiRef`. This implementation is also by default made + available automatically by the catalog plugin, unless you replace it with a + custom one. It batch fetches and caches data from the catalog as needed for + display, and is customizable by adopters to add their own rendering functions. + +### Patch Changes + +- eb817ee6d4: Fix spacing inconsistency with links and labels in headers +- 8a8445663b: Migrate catalog entity cards to new frontend system extension format. +- e964c17db9: Use default extensions boundary and suspense on the alpha declarative `createCatalogFilterExtension` extension factory. +- 71c97e7d73: The `spec.lifecycle' field in entities will now always be rendered as a string. +- 6c2b872153: Add official support for React 18. +- 0bf6ebda88: Initial entity page implementation for new frontend system at `/alpha`, with an overview page enabled by default and the about card available as an optional card. +- bb98953cb9: Create declarative extensions for the `Catalog` plugin; this initial plugin preset contains sidebar item, index page and filter extensions, all distributed via `/alpha` subpath. + + The `EntityPage` will be migrated in a follow-up patch. + +- 7c265b9758: Fix type error on `CatalogTable` when using Material UI v5 +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons +- 62b5922916: Internal theme type updates +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + ## 1.15.0-next.2 ### Patch Changes diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 7d5220e2fb..150f5362f3 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.15.0-next.2", + "version": "1.15.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,6 +48,7 @@ "dependencies": { "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", @@ -63,6 +64,7 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", + "@mui/utils": "^5.14.15", "@types/react": "^16.13.1 || ^17.0.0", "dataloader": "^2.0.0", "expiry-map": "^2.0.0", diff --git a/plugins/catalog/src/alpha/navItems.tsx b/plugins/catalog/src/alpha/navItems.tsx index b6481fd764..77ea394a97 100644 --- a/plugins/catalog/src/alpha/navItems.tsx +++ b/plugins/catalog/src/alpha/navItems.tsx @@ -15,7 +15,7 @@ */ import HomeIcon from '@material-ui/icons/Home'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { createNavItemExtension } from '@backstage/frontend-plugin-api'; import { rootRouteRef } from '../routes'; diff --git a/plugins/catalog/src/alpha/pages.tsx b/plugins/catalog/src/alpha/pages.tsx index 6270ae777d..6324f53083 100644 --- a/plugins/catalog/src/alpha/pages.tsx +++ b/plugins/catalog/src/alpha/pages.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { createPageExtension, coreExtensionData, diff --git a/plugins/catalog/src/alpha/plugin.tsx b/plugins/catalog/src/alpha/plugin.tsx index 2f019ca33e..9b8494f1b0 100644 --- a/plugins/catalog/src/alpha/plugin.tsx +++ b/plugins/catalog/src/alpha/plugin.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { createPlugin } from '@backstage/frontend-plugin-api'; import { entityRouteRef } from '@backstage/plugin-catalog-react'; diff --git a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx index f75791481f..4cbdf64a88 100644 --- a/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx +++ b/plugins/catalog/src/components/CatalogTable/CatalogTable.tsx @@ -35,17 +35,18 @@ import { useEntityList, useStarredEntities, } from '@backstage/plugin-catalog-react'; -import { Typography } from '@material-ui/core'; +import Typography from '@material-ui/core/Typography'; import { withStyles } from '@material-ui/core/styles'; +import { visuallyHidden } from '@mui/utils'; import Edit from '@material-ui/icons/Edit'; import OpenInNew from '@material-ui/icons/OpenInNew'; import Star from '@material-ui/icons/Star'; import StarBorder from '@material-ui/icons/StarBorder'; import { capitalize, isFunction } from 'lodash'; +import pluralize from 'pluralize'; import React, { ReactNode, useMemo } from 'react'; import { columnFactories } from './columns'; import { CatalogTableRow } from './types'; -import pluralize from 'pluralize'; /** * Typed columns function to dynamically render columns based on entity list context. @@ -161,7 +162,7 @@ export const CatalogTable = (props: CatalogTableProps) => { return { icon: () => ( <> - {title} + {title} ), @@ -180,7 +181,7 @@ export const CatalogTable = (props: CatalogTableProps) => { return { icon: () => ( <> - {title} + {title} ), @@ -200,7 +201,7 @@ export const CatalogTable = (props: CatalogTableProps) => { cellStyle: { paddingLeft: '1em' }, icon: () => ( <> - {title} + {title} {isStarred ? : } ), diff --git a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx index fb6da04f1a..f9999f26e9 100644 --- a/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx +++ b/plugins/catalog/src/components/EntityLayout/EntityLayout.tsx @@ -79,7 +79,7 @@ function EntityLayoutTitle(props: { whiteSpace="nowrap" overflow="hidden" > - {entity ? : title} + {entity ? : title} {entity && } diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md index c107239384..7a62334c54 100644 --- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md +++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-cicd-statistics-module-gitlab +## 0.1.22 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-cicd-statistics@0.1.28 + - @backstage/catalog-model@1.4.3 + ## 0.1.22-next.2 ### Patch Changes diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json index 8b5403d084..7575dd2971 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.22-next.2", + "version": "0.1.22", "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 75c87a0e29..200d4ca231 100644 --- a/plugins/cicd-statistics/CHANGELOG.md +++ b/plugins/cicd-statistics/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-cicd-statistics +## 0.1.28 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.28-next.2 ### Patch Changes diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json index 51cc3ec539..64689b4e26 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.28-next.2", + "version": "0.1.28", "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 6fbb26f3f2..6bb03a723f 100644 --- a/plugins/circleci/CHANGELOG.md +++ b/plugins/circleci/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-circleci +## 0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.3.26-next.2 ### Patch Changes diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 7fbef0c907..8564afedf7 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.26-next.2", + "version": "0.3.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -64,7 +64,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/humanize-duration": "^3.25.1", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md index 152953b6d8..673fd20ad8 100644 --- a/plugins/cloudbuild/CHANGELOG.md +++ b/plugins/cloudbuild/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-cloudbuild +## 0.3.26 + +### Patch Changes + +- 8ae07cab4c: Added Installation Steps so that it is clear what is needed to install and use the Google Cloud Plugin. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.3.26-next.2 ### Patch Changes diff --git a/plugins/cloudbuild/README.md b/plugins/cloudbuild/README.md index 5f1f6519dc..07999c85a1 100644 --- a/plugins/cloudbuild/README.md +++ b/plugins/cloudbuild/README.md @@ -1,13 +1,81 @@ # Google Cloud Build -Welcome to the Google Cloud Build plugin! +### Welcome to the Google Cloud Build plugin! -_This plugin was created through the Backstage CLI_ +This plugin allows you to include Google Cloud Build history in your backstage CI/CD page. -## Getting started + -Your plugin has been added to the example app in this repository, meaning you'll be able to access it by running `yarn start` in the root directory, and then navigating to [/cloudbuild](http://localhost:3000/cloudbuild). +## Installation Steps -You can also serve the plugin in isolation by running `yarn start` in the plugin directory. -This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads. -It is only meant for local development, and the setup for it can be found inside the [/dev](./dev) directory. +### Install the plugin into backstage + +```bash +cd packages/app +yarn add @backstage/plugin-cloudbuild +``` + +### Modify EntityPage.tsx + +packages/app/src/components/catalog/EntityPage.tsx + +#### Add the Plugin import to the list of imports + +```diff +// packages/app/src/components/catalog/EntityPage.tsx +import { TechDocsAddons } from '@backstage/plugin-techdocs-react'; + +import { ReportIssue } from '@backstage/plugin-techdocs-module-addons-contrib'; + ++import { EntityCloudbuildContent, isCloudbuildAvailable } from '@backstage/plugin-cloudbuild'; +``` + +#### In your `cicdContent` constant, add the following switch case + +```diff +// packages/app/src/components/catalog/EntityPage.tsx +const cicdContent = ( + ++ ++ ++ + + + + +``` + +##### OPTIONAL + +If you don't use GitHub Actions, or don't want to show it on your CI/CD page, then you can remove the switch case for it + +```diff +// packages/app/src/components/catalog/EntityPage.tsx +const cicdContent = ( + ++ ++ ++ + +- +- +- +``` + +### Add annotation to your component-info.yaml file. + +Any component, that you would like the Cloud Build Plugin to populate for, should include the following annotation: + +```diff +// component-info.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: backstage + description: Backstage application. ++ annotations: ++ google.com/cloudbuild-project-slug: your-project-name +spec: + type: website + lifecycle: development +``` diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json index 3343f8dd66..8c8ce0f251 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.26-next.2", + "version": "0.3.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -61,7 +61,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md index 3474d8150f..cc10575866 100644 --- a/plugins/code-climate/CHANGELOG.md +++ b/plugins/code-climate/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-code-climate +## 0.1.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.1.26-next.2 ### Patch Changes diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json index 7a1ad81bd3..3f0ea38a5c 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.26-next.2", + "version": "0.1.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md index bb640d02bc..6b951615b6 100644 --- a/plugins/code-coverage-backend/CHANGELOG.md +++ b/plugins/code-coverage-backend/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-code-coverage-backend +## 0.2.21 + +### Patch Changes + +- 11f671eaa9: Added support for new backend system +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + ## 0.2.21-next.2 ### Patch Changes diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json index 0b20b1fcaa..26bc8d8562 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.21-next.2", + "version": "0.2.21", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md index bd28b8c0fd..8e44f4b3c3 100644 --- a/plugins/code-coverage/CHANGELOG.md +++ b/plugins/code-coverage/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-code-coverage +## 0.2.19 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 71c97e7d73: The warning for missing code coverage will now render the entity as a reference. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.19-next.2 ### Patch Changes diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json index 12d2b501c1..27c9a05240 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.19-next.2", + "version": "0.2.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md index a82096cabf..6e0d3ae6fc 100644 --- a/plugins/codescene/CHANGELOG.md +++ b/plugins/codescene/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-codescene +## 0.1.19 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.19-next.2 ### Patch Changes diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json index ced314c7ce..b4ff1063cb 100644 --- a/plugins/codescene/package.json +++ b/plugins/codescene/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-codescene", - "version": "0.1.19-next.2", + "version": "0.1.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md index 1137a9207b..51b911edfe 100644 --- a/plugins/config-schema/CHANGELOG.md +++ b/plugins/config-schema/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-config-schema +## 0.1.47 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.1.47-next.2 ### Patch Changes diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json index 230639106c..32702c0cb0 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.47-next.2", + "version": "0.1.47", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md index 1f343ab3ee..90eb389a51 100644 --- a/plugins/cost-insights/CHANGELOG.md +++ b/plugins/cost-insights/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-cost-insights +## 0.12.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- d49cffaf6a: Updated dependency `@types/pluralize` to `^0.0.33`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 7da799d5b7: Updated dependency `@types/pluralize` to `^0.0.32`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-cost-insights-common@0.1.2 + ## 0.12.15-next.2 ### Patch Changes diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json index 2c383e35ec..bac6840839 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.15-next.2", + "version": "0.12.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -70,12 +70,12 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "@types/pluralize": "^0.0.32", + "@types/pluralize": "^0.0.33", "@types/recharts": "^1.8.14", "@types/regression": "^2.0.0", "@types/yup": "^0.29.13", "canvas": "^2.10.2", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx index 507016f391..0bdfed3855 100644 --- a/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx +++ b/plugins/cost-insights/src/components/CostInsightsNavigation/CostInsightsNavigation.tsx @@ -44,7 +44,6 @@ const NavigationMenuItem = ({ navigation, icon, title }: NavigationItem) => { const [, setScroll] = useScroll(); return ( setScroll(navigation)} diff --git a/plugins/devtools-backend/CHANGELOG.md b/plugins/devtools-backend/CHANGELOG.md index 6cc2983ba7..7bd16724d8 100644 --- a/plugins/devtools-backend/CHANGELOG.md +++ b/plugins/devtools-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-devtools-backend +## 0.2.4 + +### Patch Changes + +- Updated dependencies + - @backstage/config-loader@1.5.3 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/cli-common@0.1.13 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-devtools-common@0.1.6 + - @backstage/plugin-permission-node@0.7.18 + ## 0.2.4-next.2 ### Patch Changes diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json index 43a4bab569..d9763095b4 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.4-next.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/devtools-common/CHANGELOG.md b/plugins/devtools-common/CHANGELOG.md index 4a95434b3d..adcc675218 100644 --- a/plugins/devtools-common/CHANGELOG.md +++ b/plugins/devtools-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-devtools-common +## 0.1.6 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/types@1.1.1 + ## 0.1.5 ### Patch Changes diff --git a/plugins/devtools-common/package.json b/plugins/devtools-common/package.json index 703ad2a5e3..6cf7f36cbc 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.5", + "version": "0.1.6", "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 87c2de069b..5b8a39d4dd 100644 --- a/plugins/devtools/CHANGELOG.md +++ b/plugins/devtools/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-devtools +## 0.1.6 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-devtools-common@0.1.6 + ## 0.1.6-next.2 ### Patch Changes diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json index 11a36d6db0..d342645e2b 100644 --- a/plugins/devtools/package.json +++ b/plugins/devtools/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-devtools", - "version": "0.1.6-next.2", + "version": "0.1.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md index a664369aa4..f9e13ac855 100644 --- a/plugins/dynatrace/CHANGELOG.md +++ b/plugins/dynatrace/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-dynatrace +## 8.0.0 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 8.0.0-next.2 ### Patch Changes diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json index 51c62a94da..433dab8087 100644 --- a/plugins/dynatrace/package.json +++ b/plugins/dynatrace/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-dynatrace", - "version": "8.0.0-next.2", + "version": "8.0.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/entity-feedback-backend/CHANGELOG.md b/plugins/entity-feedback-backend/CHANGELOG.md index 11714d4fa0..222588decc 100644 --- a/plugins/entity-feedback-backend/CHANGELOG.md +++ b/plugins/entity-feedback-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-entity-feedback-backend +## 0.2.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-entity-feedback-common@0.1.3 + ## 0.2.4-next.2 ### Patch Changes diff --git a/plugins/entity-feedback-backend/package.json b/plugins/entity-feedback-backend/package.json index c19bf4b0c4..7f4474a39a 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.4-next.2", + "version": "0.2.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/entity-feedback/CHANGELOG.md b/plugins/entity-feedback/CHANGELOG.md index 218acbb296..dfa555eb19 100644 --- a/plugins/entity-feedback/CHANGELOG.md +++ b/plugins/entity-feedback/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-entity-feedback +## 0.2.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-entity-feedback-common@0.1.3 + ## 0.2.9-next.2 ### Patch Changes diff --git a/plugins/entity-feedback/package.json b/plugins/entity-feedback/package.json index 5c0317d19a..090c715bcc 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.9-next.2", + "version": "0.2.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/entity-validation/CHANGELOG.md b/plugins/entity-validation/CHANGELOG.md index 50b1f294da..c58ade3930 100644 --- a/plugins/entity-validation/CHANGELOG.md +++ b/plugins/entity-validation/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-entity-validation +## 0.1.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.1.11-next.2 ### Patch Changes diff --git a/plugins/entity-validation/package.json b/plugins/entity-validation/package.json index ead1a14221..86480cf972 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.11-next.2", + "version": "0.1.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-aws-sqs/CHANGELOG.md b/plugins/events-backend-module-aws-sqs/CHANGELOG.md index c005cdb894..06cebde4ad 100644 --- a/plugins/events-backend-module-aws-sqs/CHANGELOG.md +++ b/plugins/events-backend-module-aws-sqs/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-events-backend-module-aws-sqs +## 0.2.10 + +### Patch Changes + +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-events-node@0.2.16 + ## 0.2.10-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json index c8e4745984..0bc34c7df9 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.10-next.2", + "version": "0.2.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -57,7 +57,7 @@ "@backstage/backend-test-utils": "workspace:^", "@backstage/cli": "workspace:^", "@backstage/plugin-events-backend-test-utils": "workspace:^", - "aws-sdk-client-mock": "^2.0.0" + "aws-sdk-client-mock": "^3.0.0" }, "files": [ "config.d.ts", diff --git a/plugins/events-backend-module-azure/CHANGELOG.md b/plugins/events-backend-module-azure/CHANGELOG.md index 1a0bedecf9..cfaf0e5949 100644 --- a/plugins/events-backend-module-azure/CHANGELOG.md +++ b/plugins/events-backend-module-azure/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-azure +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json index fa03b1f6d1..12c2ce7cc1 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md index 4f727bc887..c9bb1d25f5 100644 --- a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md +++ b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-bitbucket-cloud +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json index 2642cda904..83aabe7ac6 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-gerrit/CHANGELOG.md b/plugins/events-backend-module-gerrit/CHANGELOG.md index edcdba1470..81bf072e4a 100644 --- a/plugins/events-backend-module-gerrit/CHANGELOG.md +++ b/plugins/events-backend-module-gerrit/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-events-backend-module-gerrit +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json index 5c69c1522c..c771792179 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-github/CHANGELOG.md b/plugins/events-backend-module-github/CHANGELOG.md index ea5e24bbcf..3112949e98 100644 --- a/plugins/events-backend-module-github/CHANGELOG.md +++ b/plugins/events-backend-module-github/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-events-backend-module-github +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json index 3d26afa7ef..dfd3e12b6e 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-module-gitlab/CHANGELOG.md b/plugins/events-backend-module-gitlab/CHANGELOG.md index e7f390c518..dd1a112dde 100644 --- a/plugins/events-backend-module-gitlab/CHANGELOG.md +++ b/plugins/events-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-events-backend-module-gitlab +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json index 7743604b31..3afa25a017 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.17-next.2", + "version": "0.1.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/events-backend-test-utils/CHANGELOG.md b/plugins/events-backend-test-utils/CHANGELOG.md index 0eb3531587..f9e12dcbe3 100644 --- a/plugins/events-backend-test-utils/CHANGELOG.md +++ b/plugins/events-backend-test-utils/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-events-backend-test-utils +## 0.1.17 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.16 + ## 0.1.17-next.2 ### Patch Changes diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json index bba8cf31ef..c189dc9ec4 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.17-next.2", + "version": "0.1.17", "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 7904ab40cb..626457814a 100644 --- a/plugins/events-backend/CHANGELOG.md +++ b/plugins/events-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-events-backend +## 0.2.16 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/plugin-events-node@0.2.16 + ## 0.2.16-next.2 ### Patch Changes diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json index 5314726051..f986f42651 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.16-next.2", + "version": "0.2.16", "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 38276d2484..7bc8152b5a 100644 --- a/plugins/events-node/CHANGELOG.md +++ b/plugins/events-node/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-events-node +## 0.2.16 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + ## 0.2.16-next.2 ### Patch Changes diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json index 8505950cd6..2ce27f7ca6 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.16-next.2", + "version": "0.2.16", "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 bb757870fd..0e4bab1de3 100644 --- a/plugins/example-todo-list-backend/CHANGELOG.md +++ b/plugins/example-todo-list-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @internal/plugin-todo-list-backend +## 1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + ## 1.0.19-next.2 ### Patch Changes diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json index 01e3aa75b2..7ede62f19b 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.19-next.2", + "version": "1.0.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/example-todo-list-common/CHANGELOG.md b/plugins/example-todo-list-common/CHANGELOG.md index 8deaa18374..c4d964b881 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.15 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + ## 1.0.14 ### Patch Changes diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json index 57e6a9dbdf..33ec099414 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.14", + "version": "1.0.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -37,7 +37,7 @@ "@backstage/core-app-api": "workspace:^", "@backstage/dev-utils": "workspace:^", "@backstage/test-utils": "workspace:^", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md index b7d90099a8..95f0f62ffb 100644 --- a/plugins/example-todo-list/CHANGELOG.md +++ b/plugins/example-todo-list/CHANGELOG.md @@ -1,5 +1,14 @@ # @internal/plugin-todo-list +## 1.0.19 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 1.0.19-next.2 ### Patch Changes diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json index adcdb1e3c8..c7dfef7744 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.19-next.2", + "version": "1.0.19", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/explore-backend/CHANGELOG.md b/plugins/explore-backend/CHANGELOG.md index 2d2d88d678..0c1d8f6b31 100644 --- a/plugins/explore-backend/CHANGELOG.md +++ b/plugins/explore-backend/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-explore-backend +## 0.0.17 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-backend-module-explore@0.1.11 + - @backstage/plugin-search-common@1.2.8 + ## 0.0.17-next.2 ### Patch Changes diff --git a/plugins/explore-backend/package.json b/plugins/explore-backend/package.json index d8ab7f3f5f..c13df1a1b9 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.17-next.2", + "version": "0.0.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md index 006d3cf7e9..2aff4fce99 100644 --- a/plugins/explore-react/CHANGELOG.md +++ b/plugins/explore-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-explore-react +## 0.0.33 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-explore-common@0.0.2 + ## 0.0.33-next.0 ### Patch Changes diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json index ce9f6af869..e67280c2ff 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.33-next.0", + "version": "0.0.33", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,7 +50,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md index aebd60fb4f..6ef2d598c7 100644 --- a/plugins/explore/CHANGELOG.md +++ b/plugins/explore/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-explore +## 0.4.12 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-explore-react@0.0.33 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-explore-common@0.0.2 + - @backstage/plugin-search-common@1.2.8 + ## 0.4.12-next.2 ### Patch Changes diff --git a/plugins/explore/package.json b/plugins/explore/package.json index d3e6ee0de9..7fe669e74c 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.12-next.2", + "version": "0.4.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -80,7 +80,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md index 1f9b202642..3594528343 100644 --- a/plugins/firehydrant/CHANGELOG.md +++ b/plugins/firehydrant/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-firehydrant +## 0.2.10 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.2.10-next.2 ### Patch Changes diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json index 6c514bfae3..61e9909fea 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.10-next.2", + "version": "0.2.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md index fa67b4b78b..dcfec7fdb2 100644 --- a/plugins/fossa/CHANGELOG.md +++ b/plugins/fossa/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-fossa +## 0.2.58 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.58-next.2 ### Patch Changes diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json index dd21e351f9..c87bd3b6cb 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.58-next.2", + "version": "0.2.58", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,7 +44,7 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "luxon": "^3.0.0", "p-limit": "^3.0.2", "react-use": "^17.2.4" diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md index 54b342f86c..fd16a9bf60 100644 --- a/plugins/gcalendar/CHANGELOG.md +++ b/plugins/gcalendar/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-gcalendar +## 0.3.20 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + ## 0.3.20-next.2 ### Patch Changes diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json index fa2d23473a..64504f14e8 100644 --- a/plugins/gcalendar/package.json +++ b/plugins/gcalendar/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-gcalendar", - "version": "0.3.20-next.2", + "version": "0.3.20", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -40,7 +40,7 @@ "@tanstack/react-query": "^4.1.3", "@types/react": "^16.13.1 || ^17.0.0", "classnames": "^2.3.1", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "dompurify": "^2.3.6", "lodash": "^4.17.21", "luxon": "^3.0.0", diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md index 7b0dd8c033..c2cbe56a29 100644 --- a/plugins/gcp-projects/CHANGELOG.md +++ b/plugins/gcp-projects/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-gcp-projects +## 0.3.43 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.3.43-next.2 ### Patch Changes diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json index 9477e23c7b..7cf04c03eb 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.43-next.2", + "version": "0.3.43", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -57,7 +57,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md index 7fd41d38bf..4cc38f3a5d 100644 --- a/plugins/git-release-manager/CHANGELOG.md +++ b/plugins/git-release-manager/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-git-release-manager +## 0.3.39 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.3.39-next.2 ### Patch Changes diff --git a/plugins/git-release-manager/api-report.md b/plugins/git-release-manager/api-report.md index 3e4c0847a7..d2dd7e909f 100644 --- a/plugins/git-release-manager/api-report.md +++ b/plugins/git-release-manager/api-report.md @@ -317,42 +317,42 @@ function LinearProgressWithLabel(props: { // Warning: (ae-missing-release-tag) "MOCK_RELEASE_BRANCH_NAME_CALVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_BRANCH_NAME_CALVER: string; +const MOCK_RELEASE_BRANCH_NAME_CALVER = 'rc/2020.01.01_1'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_BRANCH_NAME_SEMVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_BRANCH_NAME_SEMVER: string; +const MOCK_RELEASE_BRANCH_NAME_SEMVER = 'rc/1.2.3'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_CANDIDATE_TAG_NAME_CALVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_CANDIDATE_TAG_NAME_CALVER: string; +const MOCK_RELEASE_CANDIDATE_TAG_NAME_CALVER = 'rc-2020.01.01_1'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_CANDIDATE_TAG_NAME_SEMVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_CANDIDATE_TAG_NAME_SEMVER: string; +const MOCK_RELEASE_CANDIDATE_TAG_NAME_SEMVER = 'rc-1.2.3'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_NAME_CALVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_NAME_CALVER: string; +const MOCK_RELEASE_NAME_CALVER = 'Version 2020.01.01_1'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_NAME_SEMVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_NAME_SEMVER: string; +const MOCK_RELEASE_NAME_SEMVER = 'Version 1.2.3'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_VERSION_TAG_NAME_CALVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_VERSION_TAG_NAME_CALVER: string; +const MOCK_RELEASE_VERSION_TAG_NAME_CALVER = 'version-2020.01.01_1'; // Warning: (ae-missing-release-tag) "MOCK_RELEASE_VERSION_TAG_NAME_SEMVER" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -const MOCK_RELEASE_VERSION_TAG_NAME_SEMVER: string; +const MOCK_RELEASE_VERSION_TAG_NAME_SEMVER = 'version-1.2.3'; // Warning: (ae-missing-release-tag) "mockBumpedTag" is part of the package's API, but it is missing a release tag (@alpha, @beta, @public, or @internal) // diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json index 6dfe7587fb..4c45244552 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.39-next.2", + "version": "0.3.39", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md index 9662d0554f..7cb205acc5 100644 --- a/plugins/github-actions/CHANGELOG.md +++ b/plugins/github-actions/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-github-actions +## 0.6.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- ee0c44ce62: Fixed an issue that was preventing the sorting of workflow runs by their status. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.6.7-next.2 ### Patch Changes diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index e79a6b8cb5..6f783ca9a5 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.7-next.2", + "version": "0.6.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -65,7 +65,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md index cbc4bb9664..32739b5817 100644 --- a/plugins/github-deployments/CHANGELOG.md +++ b/plugins/github-deployments/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-github-deployments +## 0.1.57 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.57-next.2 ### Patch Changes diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json index 33725f44ff..4717ad590a 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.57-next.2", + "version": "0.1.57", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-issues/CHANGELOG.md b/plugins/github-issues/CHANGELOG.md index e257a8f7e8..2384b17bf4 100644 --- a/plugins/github-issues/CHANGELOG.md +++ b/plugins/github-issues/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-github-issues +## 0.2.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.15-next.2 ### Patch Changes diff --git a/plugins/github-issues/package.json b/plugins/github-issues/package.json index fb2001630a..255599b266 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.15-next.2", + "version": "0.2.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md index 9a5c5af99e..350623935e 100644 --- a/plugins/github-pull-requests-board/CHANGELOG.md +++ b/plugins/github-pull-requests-board/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-github-pull-requests-board +## 0.1.20 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.1.20-next.2 ### Patch Changes diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json index 34a2abfea2..09b64e6a48 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.20-next.2", + "version": "0.1.20", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md index cabd28e242..4f8b0ec59c 100644 --- a/plugins/gitops-profiles/CHANGELOG.md +++ b/plugins/gitops-profiles/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-gitops-profiles +## 0.3.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + ## 0.3.42-next.2 ### Patch Changes diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index ff658ea36b..99d3257265 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.42-next.2", + "version": "0.3.42", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -58,7 +58,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md index 925bd3bae1..4d418eb187 100644 --- a/plugins/gocd/CHANGELOG.md +++ b/plugins/gocd/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-gocd +## 0.1.32 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.32-next.2 ### Patch Changes diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json index fc441891b3..105294962c 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.32-next.2", + "version": "0.1.32", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md index 8bf0f7557a..c8ba623ff4 100644 --- a/plugins/graphiql/CHANGELOG.md +++ b/plugins/graphiql/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-graphiql +## 0.3.0 + +### Minor Changes + +- 57fda44b90: Upgrade to GraphiQL to 3.0.6 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 77f009b35d: Internal updates to match changes in the experimental `@backstage/frontend-plugin-api`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.3.0-next.2 ### Patch Changes diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index 164b4b3386..bd8de81087 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.0-next.2", + "version": "0.3.0", "publishConfig": { "access": "public" }, @@ -46,6 +46,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", @@ -74,7 +75,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/codemirror": "^5.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/graphiql/src/alpha.tsx b/plugins/graphiql/src/alpha.tsx index 8b2b962355..760bc77d8e 100644 --- a/plugins/graphiql/src/alpha.tsx +++ b/plugins/graphiql/src/alpha.tsx @@ -34,7 +34,7 @@ import { } from '@backstage/plugin-graphiql'; import { createApiFactory, IconComponent } from '@backstage/core-plugin-api'; import { graphiQLRouteRef } from './route-refs'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; /** @alpha */ export const GraphiqlPage = createPageExtension({ diff --git a/plugins/graphql-backend/CHANGELOG.md b/plugins/graphql-backend/CHANGELOG.md index 85418706c1..851f7b6d7f 100644 --- a/plugins/graphql-backend/CHANGELOG.md +++ b/plugins/graphql-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-graphql-backend +## 0.2.1 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/plugin-catalog-graphql@0.4.1 + - @backstage/config@1.1.1 + ## 0.2.1-next.2 ### Patch Changes diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json index 9d849bf9f2..1660e7154b 100644 --- a/plugins/graphql-backend/package.json +++ b/plugins/graphql-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-graphql-backend", "description": "Deprecated, consider using @frontside/backstage-plugin-graphql-backend instead", - "version": "0.2.1-next.2", + "version": "0.2.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/graphql-voyager/CHANGELOG.md b/plugins/graphql-voyager/CHANGELOG.md index 2ef077cf11..4cd233102c 100644 --- a/plugins/graphql-voyager/CHANGELOG.md +++ b/plugins/graphql-voyager/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-graphql-voyager +## 0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.1.9-next.2 ### Patch Changes diff --git a/plugins/graphql-voyager/package.json b/plugins/graphql-voyager/package.json index 44c0ec551f..b50e8b6dd5 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.9-next.2", + "version": "0.1.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/home-react/CHANGELOG.md b/plugins/home-react/CHANGELOG.md index b3dfb1bf11..2a95a64f47 100644 --- a/plugins/home-react/CHANGELOG.md +++ b/plugins/home-react/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-home-react +## 0.1.5 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + ## 0.1.5-next.2 ### Patch Changes diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json index 6ce09f978a..6289959ee8 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.5-next.2", + "version": "0.1.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,7 @@ "@backstage/core-plugin-api": "workspace:^", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", - "@rjsf/utils": "5.13.0", + "@rjsf/utils": "5.13.6", "@types/react": "^16.13.1 || ^17.0.0" }, "peerDependencies": { @@ -56,7 +56,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/react-grid-layout": "^1.3.2", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md index 2d4074bab6..a6c8636dbf 100644 --- a/plugins/home/CHANGELOG.md +++ b/plugins/home/CHANGELOG.md @@ -1,5 +1,50 @@ # @backstage/plugin-home +## 0.5.10 + +### Patch Changes + +- d86b2acec4: Fix bug where `retrieveAll` method wasn't fetching visits +- 3fdffbb699: Remove the duplicate versions of `@rjsf/*` as they're no longer needed +- 6c2b872153: Add official support for React 18. +- 5b364984bf: Added experimental support for declarative integration via the `/alpha` subpath. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- cc0e8d0b51: Temporarily pin the `react-grid-layout` sub-dependency to version `1.3.4` while the horizontal resizing of the latest version is not fixed. For more details, see [#20712](https://github.com/backstage/backstage/issues/20712). +- 302316d231: Added a new Featured Docs component to `plugin-home`, which can display any entity given a filter. + + ``` + import { FeaturedDocsCard } from '@backstage/plugin-home'; + + + ``` + + See the [storybook examples](https://backstage.io/storybook/?path=/story/plugins-home-components-featureddocs--default) + +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.5.10-next.2 ### Patch Changes diff --git a/plugins/home/api-report.md b/plugins/home/api-report.md index 14f685cfc1..18049cae84 100644 --- a/plugins/home/api-report.md +++ b/plugins/home/api-report.md @@ -14,6 +14,7 @@ import { CardSettings as CardSettings_2 } from '@backstage/plugin-home-react'; import { ComponentParts as ComponentParts_2 } from '@backstage/plugin-home-react'; import { ComponentRenderer as ComponentRenderer_2 } from '@backstage/plugin-home-react'; import { createCardExtension as createCardExtension_2 } from '@backstage/plugin-home-react'; +import { EntityFilterQuery } from '@backstage/catalog-client'; import { ErrorApi } from '@backstage/core-plugin-api'; import { IdentityApi } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; @@ -101,6 +102,20 @@ export type CustomHomepageGridProps = { preventCollision?: boolean; }; +// @public +export const FeaturedDocsCard: ( + props: CardExtensionProps_2, +) => JSX_2.Element; + +// @public +export type FeaturedDocsCardProps = { + filter: EntityFilterQuery; + emptyState?: React_2.JSX.Element; + linkDestination?: string; + responseLimit?: number; + subLinkText?: string; +}; + // @public export const HeaderWorldClock: (props: { clockConfigs: ClockConfig[]; diff --git a/plugins/home/package.json b/plugins/home/package.json index b61619042c..71d5cf28c6 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.5.10-next.2", + "version": "0.5.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -47,6 +47,7 @@ "clean": "backstage-cli package clean" }, "dependencies": { + "@backstage/catalog-client": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", "@backstage/core-app-api": "workspace:^", @@ -60,10 +61,10 @@ "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", - "@rjsf/core": "5.13.0", - "@rjsf/material-ui": "5.13.0", - "@rjsf/utils": "5.13.0", - "@rjsf/validator-ajv8": "5.13.0", + "@rjsf/core": "5.13.6", + "@rjsf/material-ui": "5.13.6", + "@rjsf/utils": "5.13.6", + "@rjsf/validator-ajv8": "5.13.6", "@types/react": "^16.13.1 || ^17.0.0", "lodash": "^4.17.21", "luxon": "^3.4.3", diff --git a/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.test.tsx b/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.test.tsx new file mode 100644 index 0000000000..427a1484d5 --- /dev/null +++ b/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.test.tsx @@ -0,0 +1,73 @@ +/* + * 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 { Content } from './Content'; +import React from 'react'; +import { catalogApiRef, entityRouteRef } from '@backstage/plugin-catalog-react'; +import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; + +const docsEntities = [ + { + apiVersion: '1', + kind: 'Location', + metadata: { + name: 'getting-started-with-idp', + title: 'Getting Started Docs', + }, + spec: { + type: 'documentation', + }, + }, +]; + +describe('', () => { + const mockCatalogApi = { + getEntities: jest + .fn() + .mockImplementation(async () => ({ items: docsEntities })), + }; + let Wrapper: React.ComponentType>; + + beforeAll(() => { + Wrapper = ({ children }: { children?: React.ReactNode }) => ( + + {children} + + ); + }); + it('should show expected featured doc and title', async () => { + const { getByTestId, getByText } = await renderInTestApp( + + + , + { + mountedRoutes: { + '/home': entityRouteRef, + }, + }, + ); + const docsCardContent = getByTestId('docs-card-content'); + const docsEntity = getByText('Getting Started Docs'); + + expect(docsCardContent).toContainElement(docsEntity); + }); +}); diff --git a/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.tsx b/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.tsx new file mode 100644 index 0000000000..dfa83ce074 --- /dev/null +++ b/plugins/home/src/homePageComponents/FeaturedDocsCard/Content.tsx @@ -0,0 +1,158 @@ +/* + * 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 useAsync from 'react-use/lib/useAsync'; +import { + LinkButton, + EmptyState, + Link, + Progress, + ErrorPanel, +} from '@backstage/core-components'; +import { catalogApiRef, CatalogApi } from '@backstage/plugin-catalog-react'; +import { useApi } from '@backstage/core-plugin-api'; +import { EntityFilterQuery } from '@backstage/catalog-client'; + +import { makeStyles, Theme, Typography } from '@material-ui/core'; + +/** + * Props customizing the component. + * + * @public + */ +export type FeaturedDocsCardProps = { + /** The entity filter used to display only the intended item/s */ + filter: EntityFilterQuery; + /** An optional ReactNode for empty states */ + emptyState?: React.JSX.Element; + /** An optional linkDestination to set for the Featured Doc */ + linkDestination?: string; + /** An optional limit to set for link destination */ + responseLimit?: number; + /** An optional string to customize sublink text */ + subLinkText?: string; +}; + +const useStyles = makeStyles( + theme => ({ + docDescription: { + fontSize: theme.typography.body1.fontSize, + fontWeight: theme.typography.body1.fontWeight, + marginBottom: theme.spacing(2), + marginTop: theme.spacing(2), + }, + docSubLink: { + fontSize: theme.typography.subtitle1.fontSize, + fontWeight: theme.typography.subtitle1.fontWeight, + lineHeight: theme.typography.subtitle1.lineHeight, + }, + docsTitleLink: { + fontSize: theme.typography.h6.fontSize, + fontWeight: theme.typography.h6.fontWeight, + lineHeight: theme.typography.h6.lineHeight, + }, + }), + { name: 'HomeFeaturedDocsCard' }, +); + +/** + * A component to display specific Featured Docs. + * + * @public + */ +export const Content = (props: FeaturedDocsCardProps): JSX.Element => { + const { emptyState, filter, linkDestination, responseLimit, subLinkText } = + props; + const linkText = subLinkText || 'LEARN MORE'; + const styles = useStyles(); + const catalogApi: CatalogApi = useApi(catalogApiRef); + const { + value: entities, + loading, + error, + } = useAsync(async () => { + const response = await catalogApi.getEntities({ + filter: filter, + limit: responseLimit || 10, + }); + return response.items; + }); + + if (loading) { + return ; + } + if (error) { + return ; + } + + return entities?.length ? ( + <> + {entities.map(d => ( +
+ + {d.metadata.title} + + {d.metadata.description && ( + + {d.metadata.description} + + )} + + {linkText} + +
+ ))} + + ) : ( + emptyState || ( + + DOCS + + } + /> + ) + ); +}; diff --git a/plugins/home/src/homePageComponents/FeaturedDocsCard/FeaturedDocsCard.stories.tsx b/plugins/home/src/homePageComponents/FeaturedDocsCard/FeaturedDocsCard.stories.tsx new file mode 100644 index 0000000000..91f0dbf27e --- /dev/null +++ b/plugins/home/src/homePageComponents/FeaturedDocsCard/FeaturedDocsCard.stories.tsx @@ -0,0 +1,71 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { FeaturedDocsCard } from '../../plugin'; +import React, { ComponentType, PropsWithChildren } from 'react'; +import { wrapInTestApp, TestApiProvider } from '@backstage/test-utils'; +import { catalogApiRef, entityRouteRef } from '@backstage/plugin-catalog-react'; +import { Grid } from '@material-ui/core'; + +const docsEntities = [ + { + apiVersion: '1', + kind: 'Location', + metadata: { + name: 'getting-started-with-backstage', + title: 'Getting Started Docs', + description: + 'An awesome doc you want to feature to help out your customers. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pretium magna ut molestie lacinia. Nullam eget bibendum est, vitae finibus neque.', + }, + spec: { + type: 'documentation', + }, + }, +]; + +const mockCatalogApi = { + getEntities: async () => ({ items: docsEntities }), +}; + +export default { + title: 'Plugins/Home/Components/FeaturedDocsCard', + decorators: [ + (Story: ComponentType>) => + wrapInTestApp( + + + , + { + mountedRoutes: { + '/catalog/:namespace/:kind/:name': entityRouteRef, + }, + }, + ), + ], +}; + +export const Default = () => { + return ( + + + + ); +}; diff --git a/plugins/playlist/src/components/Router/index.ts b/plugins/home/src/homePageComponents/FeaturedDocsCard/index.ts similarity index 86% rename from plugins/playlist/src/components/Router/index.ts rename to plugins/home/src/homePageComponents/FeaturedDocsCard/index.ts index 6606629fee..5151fa370c 100644 --- a/plugins/playlist/src/components/Router/index.ts +++ b/plugins/home/src/homePageComponents/FeaturedDocsCard/index.ts @@ -14,4 +14,5 @@ * limitations under the License. */ -export * from './Router'; +export { Content } from './Content'; +export type { FeaturedDocsCardProps } from './Content'; diff --git a/plugins/home/src/homePageComponents/index.ts b/plugins/home/src/homePageComponents/index.ts index 9149afa295..dc611291fb 100644 --- a/plugins/home/src/homePageComponents/index.ts +++ b/plugins/home/src/homePageComponents/index.ts @@ -18,3 +18,4 @@ export type { ToolkitContentProps, Tool } from './Toolkit'; export type { ClockConfig } from './HeaderWorldClock'; export type { WelcomeTitleLanguageProps } from './WelcomeTitle'; export type { VisitedByTypeProps, VisitedByTypeKind } from './VisitedByType'; +export type { FeaturedDocsCardProps } from './FeaturedDocsCard'; diff --git a/plugins/home/src/index.ts b/plugins/home/src/index.ts index a80f8bd93d..154186f169 100644 --- a/plugins/home/src/index.ts +++ b/plugins/home/src/index.ts @@ -34,6 +34,7 @@ export { HeaderWorldClock, HomePageTopVisited, HomePageRecentlyVisited, + FeaturedDocsCard, } from './plugin'; export * from './components'; export * from './assets'; diff --git a/plugins/home/src/plugin.ts b/plugins/home/src/plugin.ts index ab8c46baa1..5361ecd9c0 100644 --- a/plugins/home/src/plugin.ts +++ b/plugins/home/src/plugin.ts @@ -23,7 +23,11 @@ import { storageApiRef, } from '@backstage/core-plugin-api'; import { createCardExtension } from '@backstage/plugin-home-react'; -import { ToolkitContentProps, VisitedByTypeProps } from './homePageComponents'; +import { + ToolkitContentProps, + VisitedByTypeProps, + FeaturedDocsCardProps, +} from './homePageComponents'; import { rootRouteRef } from './routes'; import { VisitsStorageApi, visitsApiRef } from './api'; @@ -210,3 +214,16 @@ export const HomePageRecentlyVisited = homePlugin.provide( import('./homePageComponents/VisitedByType/RecentlyVisited'), }), ); + +/** + * A component to display specific Featured Docs. + * + * @public + */ +export const FeaturedDocsCard = homePlugin.provide( + createCardExtension({ + name: 'FeaturedDocsCard', + title: 'Featured Docs', + components: () => import('./homePageComponents/FeaturedDocsCard'), + }), +); diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md index 8346c31b23..546b906426 100644 --- a/plugins/ilert/CHANGELOG.md +++ b/plugins/ilert/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-ilert +## 0.2.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.15-next.2 ### Patch Changes diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json index c852ca5652..957d72cfb5 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.15-next.2", + "version": "0.2.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md index b47d26f6fb..4576695e50 100644 --- a/plugins/jenkins-backend/CHANGELOG.md +++ b/plugins/jenkins-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-jenkins-backend +## 0.3.1 + +### Patch Changes + +- 4bfb878807: Updated dependency `@types/jenkins` to `^1.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-jenkins-common@0.1.21 + - @backstage/plugin-permission-node@0.7.18 + ## 0.3.1-next.2 ### Patch Changes diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 66779e6870..da4e95694a 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.1-next.2", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -51,7 +51,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "@types/jenkins": "^0.23.1", + "@types/jenkins": "^1.0.0", "@types/supertest": "^2.0.8", "msw": "^1.0.0", "supertest": "^6.1.6" diff --git a/plugins/jenkins-common/CHANGELOG.md b/plugins/jenkins-common/CHANGELOG.md index f91ea5074c..47d90761b5 100644 --- a/plugins/jenkins-common/CHANGELOG.md +++ b/plugins/jenkins-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-jenkins-common +## 0.1.21 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-catalog-common@1.0.18 + ## 0.1.20 ### Patch Changes diff --git a/plugins/jenkins-common/package.json b/plugins/jenkins-common/package.json index 0856d27ad0..7b6a333c3b 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.20", + "version": "0.1.21", "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 f47d2c12c5..35cd02e23e 100644 --- a/plugins/jenkins/CHANGELOG.md +++ b/plugins/jenkins/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-jenkins +## 0.9.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-jenkins-common@0.1.21 + ## 0.9.1-next.2 ### Patch Changes diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json index 636c73adf3..e91e5b8ef0 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.1-next.2", + "version": "0.9.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -63,7 +63,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/testing-library__jest-dom": "^5.9.1", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/kafka-backend/CHANGELOG.md b/plugins/kafka-backend/CHANGELOG.md index 0fb9b6c92d..6cc0673ce8 100644 --- a/plugins/kafka-backend/CHANGELOG.md +++ b/plugins/kafka-backend/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-kafka-backend +## 0.3.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.5-next.2 ### Patch Changes diff --git a/plugins/kafka-backend/package.json b/plugins/kafka-backend/package.json index 17237a69e7..399f898792 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.5-next.2", + "version": "0.3.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md index 527d244872..83bc3f5b97 100644 --- a/plugins/kafka/CHANGELOG.md +++ b/plugins/kafka/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-kafka +## 0.3.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.3.26-next.2 ### Patch Changes diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json index 2c2afada94..fba1f1ccb9 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.26-next.2", + "version": "0.3.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md index a419085051..e936ec5ee1 100644 --- a/plugins/kubernetes-backend/CHANGELOG.md +++ b/plugins/kubernetes-backend/CHANGELOG.md @@ -1,5 +1,27 @@ # @backstage/plugin-kubernetes-backend +## 0.13.1 + +### Patch Changes + +- 62180df4ee: Allow storing dashboard parameters for kubernetes in catalog +- df40b067e1: Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @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.1 + - @backstage/plugin-kubernetes-node@0.1.1 + - @backstage/plugin-permission-node@0.7.18 + ## 0.13.1-next.2 ### Patch Changes diff --git a/plugins/kubernetes-backend/api-report.md b/plugins/kubernetes-backend/api-report.md index 0ed5a31d9d..f79b14ede0 100644 --- a/plugins/kubernetes-backend/api-report.md +++ b/plugins/kubernetes-backend/api-report.md @@ -210,6 +210,10 @@ export class KubernetesBuilder { clusterSupplier: KubernetesClustersSupplier, ): KubernetesServiceLocator; // (undocumented) + protected buildSingleTenantServiceLocator( + clusterSupplier: KubernetesClustersSupplier, + ): KubernetesServiceLocator; + // (undocumented) static createBuilder(env: KubernetesEnvironment): KubernetesBuilder; // (undocumented) protected readonly env: KubernetesEnvironment; @@ -452,7 +456,7 @@ export class ServiceAccountStrategy implements AuthenticationStrategy { } // @public (undocumented) -export type ServiceLocatorMethod = 'multiTenant' | 'http'; +export type ServiceLocatorMethod = 'multiTenant' | 'singleTenant' | 'http'; // @public (undocumented) export interface ServiceLocatorRequestContext { diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json index b653cd347e..9b8ec309da 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.13.1-next.2", + "version": "0.13.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.test.ts b/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.test.ts new file mode 100644 index 0000000000..7e66ab96ea --- /dev/null +++ b/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.test.ts @@ -0,0 +1,151 @@ +/* + * 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 '@backstage/backend-common'; +import { Entity } from '@backstage/catalog-model'; +import { ServiceLocatorRequestContext } from '../types/types'; +import { SingleTenantServiceLocator } from './SingleTenantServiceLocator'; + +describe('SingleTenantConfigClusterLocator', () => { + it('empty clusters returns empty cluster details', async () => { + const sut = new SingleTenantServiceLocator({ + getClusters: async () => [], + }); + + const result = await sut.getClustersByEntity( + {} as Entity, + {} as ServiceLocatorRequestContext, + ); + + expect(result).toStrictEqual({ clusters: [] }); + }); + + it('one cluster return from two clusters', async () => { + const sut = new SingleTenantServiceLocator({ + getClusters: async () => { + return [ + { + name: 'cluster1', + url: 'http://localhost:8080', + authMetadata: {}, + }, + { + name: 'cluster2', + url: 'http://localhost:8081', + authMetadata: {}, + }, + ]; + }, + }); + + const testEntity = { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { + namespace: 'default', + name: 'testEntity', + annotations: { + 'backstage.io/kubernetes-cluster': 'cluster1', + }, + }, + }; + + const result = await sut.getClustersByEntity( + testEntity as Entity, + {} as ServiceLocatorRequestContext, + ); + + expect(result).toStrictEqual({ + clusters: [ + { + name: 'cluster1', + url: 'http://localhost:8080', + authMetadata: {}, + }, + ], + }); + }); + + it('no annotation return all cluster', async () => { + const definedClusters = [ + { + name: 'cluster1', + url: 'http://localhost:8080', + authMetadata: {}, + }, + { + name: 'cluster2', + url: 'http://localhost:8081', + authMetadata: {}, + }, + ]; + + const sut = new SingleTenantServiceLocator({ + getClusters: async () => { + return definedClusters; + }, + }); + + const result = await sut.getClustersByEntity( + {} as Entity, + {} as ServiceLocatorRequestContext, + ); + + expect(result).toStrictEqual({ + clusters: definedClusters, + }); + }); + + it('wrong annotation returns empty cluster', async () => { + const sut = new SingleTenantServiceLocator({ + getClusters: async () => { + return [ + { + name: 'cluster1', + url: 'http://localhost:8080', + authMetadata: {}, + }, + { + name: 'cluster2', + url: 'http://localhost:8081', + authMetadata: {}, + }, + ]; + }, + }); + + const testEntity = { + apiVersion: 'backstage.io/v1alpha1', + kind: 'Component', + metadata: { + namespace: 'default', + name: 'testEntity', + annotations: { + 'backstage.io/kubernetes-cluster': 'cluster3', + }, + }, + }; + + const result = await sut.getClustersByEntity( + testEntity as Entity, + {} as ServiceLocatorRequestContext, + ); + + expect(result).toStrictEqual({ + clusters: [], + }); + }); +}); diff --git a/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.ts b/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.ts new file mode 100644 index 0000000000..e94d95776c --- /dev/null +++ b/plugins/kubernetes-backend/src/service-locator/SingleTenantServiceLocator.ts @@ -0,0 +1,54 @@ +/* + * 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 { Entity } from '@backstage/catalog-model'; +import { + ClusterDetails, + KubernetesClustersSupplier, + KubernetesServiceLocator, + ServiceLocatorRequestContext, +} from '../types/types'; + +// This locator assumes that service is located on one cluster +// Therefore it will always return specified cluster provided in backstage.io/kubernetes-cluster annotation +// If backstage.io/kubernetes-cluster annotation not provided will always return all cluster provided +export class SingleTenantServiceLocator implements KubernetesServiceLocator { + private readonly clusterSupplier: KubernetesClustersSupplier; + + constructor(clusterSupplier: KubernetesClustersSupplier) { + this.clusterSupplier = clusterSupplier; + } + + // As this implementation always returns all clusters serviceId is ignored here + getClustersByEntity( + _entity: Entity, + _requestContext: ServiceLocatorRequestContext, + ): Promise<{ clusters: ClusterDetails[] }> { + return this.clusterSupplier.getClusters().then(clusters => { + if (_entity.metadata?.annotations?.['backstage.io/kubernetes-cluster']) { + return { + clusters: clusters.filter( + c => + c.name === + _entity.metadata?.annotations?.[ + 'backstage.io/kubernetes-cluster' + ], + ), + }; + } + return { clusters }; + }); + } +} diff --git a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts index b05db36398..3bc7402179 100644 --- a/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts +++ b/plugins/kubernetes-backend/src/service/KubernetesBuilder.ts @@ -43,6 +43,7 @@ import { import { addResourceRoutesToRouter } from '../routes/resourcesRoutes'; import { MultiTenantServiceLocator } from '../service-locator/MultiTenantServiceLocator'; +import { SingleTenantServiceLocator } from '../service-locator/SingleTenantServiceLocator'; import { CustomResource, KubernetesClustersSupplier, @@ -276,6 +277,10 @@ export class KubernetesBuilder { this.serviceLocator = this.buildMultiTenantServiceLocator(clusterSupplier); break; + case 'singleTenant': + this.serviceLocator = + this.buildSingleTenantServiceLocator(clusterSupplier); + break; case 'http': this.serviceLocator = this.buildHttpServiceLocator(clusterSupplier); break; @@ -294,6 +299,12 @@ export class KubernetesBuilder { return new MultiTenantServiceLocator(clusterSupplier); } + protected buildSingleTenantServiceLocator( + clusterSupplier: KubernetesClustersSupplier, + ): KubernetesServiceLocator { + return new SingleTenantServiceLocator(clusterSupplier); + } + protected buildHttpServiceLocator( _clusterSupplier: KubernetesClustersSupplier, ): KubernetesServiceLocator { diff --git a/plugins/kubernetes-backend/src/types/types.ts b/plugins/kubernetes-backend/src/types/types.ts index 597984591f..6781dc1161 100644 --- a/plugins/kubernetes-backend/src/types/types.ts +++ b/plugins/kubernetes-backend/src/types/types.ts @@ -144,7 +144,7 @@ export interface KubernetesServiceLocator { * * @public */ -export type ServiceLocatorMethod = 'multiTenant' | 'http'; // TODO implement http +export type ServiceLocatorMethod = 'multiTenant' | 'singleTenant' | 'http'; // TODO implement http /** * Provider-specific authentication configuration diff --git a/plugins/kubernetes-cluster/CHANGELOG.md b/plugins/kubernetes-cluster/CHANGELOG.md index 0f700d4768..ac466a8920 100644 --- a/plugins/kubernetes-cluster/CHANGELOG.md +++ b/plugins/kubernetes-cluster/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-kubernetes-cluster +## 0.0.2 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/plugin-kubernetes-react@0.1.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.0.2-next.2 ### Patch Changes diff --git a/plugins/kubernetes-cluster/package.json b/plugins/kubernetes-cluster/package.json index 18f47b47af..82ebf1b316 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.2-next.2", + "version": "0.0.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md index ec818f3d00..69655e50fb 100644 --- a/plugins/kubernetes-common/CHANGELOG.md +++ b/plugins/kubernetes-common/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-kubernetes-common +## 0.7.1 + +### Patch Changes + +- 62180df4ee: Allow storing dashboard parameters for kubernetes in catalog +- df40b067e1: Fixed the lack of `resourcequotas` as part of the Default Objects to fetch from the kubernetes api +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.1-next.1 ### Patch Changes diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json index d63265ddea..de265ec69b 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.1-next.1", + "version": "0.7.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-node/CHANGELOG.md b/plugins/kubernetes-node/CHANGELOG.md index e10683b110..7ae9d5ab51 100644 --- a/plugins/kubernetes-node/CHANGELOG.md +++ b/plugins/kubernetes-node/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-kubernetes-node +## 0.1.1 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + ## 0.1.1-next.2 ### Patch Changes diff --git a/plugins/kubernetes-node/package.json b/plugins/kubernetes-node/package.json index 993eb3b574..608953fe5c 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.1-next.2", + "version": "0.1.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/kubernetes-react/CHANGELOG.md b/plugins/kubernetes-react/CHANGELOG.md index 11cff887ec..1c7ca5bad6 100644 --- a/plugins/kubernetes-react/CHANGELOG.md +++ b/plugins/kubernetes-react/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-kubernetes-react +## 0.1.1 + +### Patch Changes + +- 0f4cad6da0: Internal refactor to avoid a null pointer problem +- 6c2b872153: Add official support for React 18. +- b52f576f48: Make sure types exported by other `kubernetes` plugins in the past are exported again after the creation + of the react package. + + Some types have been moved to this new package but the export was missing, so they were not available anymore for developers. + +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.1.1-next.2 ### Patch Changes diff --git a/plugins/kubernetes-react/package.json b/plugins/kubernetes-react/package.json index bddd793b97..20d88e222d 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.1.1-next.2", + "version": "0.1.1", "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 644af82b5a..1e10e287d3 100644 --- a/plugins/kubernetes/CHANGELOG.md +++ b/plugins/kubernetes/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-kubernetes +## 0.11.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-kubernetes-common@0.7.1 + - @backstage/plugin-kubernetes-react@0.1.1 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.11.1-next.2 ### Patch Changes diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json index 1ae47b383c..37dde1127e 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.1-next.2", + "version": "0.11.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/lighthouse-backend/CHANGELOG.md b/plugins/lighthouse-backend/CHANGELOG.md index 7aeebf7d9d..eab0f0a228 100644 --- a/plugins/lighthouse-backend/CHANGELOG.md +++ b/plugins/lighthouse-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-lighthouse-backend +## 0.3.4 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + ## 0.3.4-next.2 ### Patch Changes diff --git a/plugins/lighthouse-backend/package.json b/plugins/lighthouse-backend/package.json index d0828439f6..1be19e1252 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.3.4-next.2", + "version": "0.3.4", "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 bb711423da..511426709f 100644 --- a/plugins/lighthouse/CHANGELOG.md +++ b/plugins/lighthouse/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-lighthouse +## 0.4.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/plugin-lighthouse-common@0.1.4 + ## 0.4.11-next.2 ### Patch Changes diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index e14a58252b..a54573df7c 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.11-next.2", + "version": "0.4.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/linguist-backend/CHANGELOG.md b/plugins/linguist-backend/CHANGELOG.md index 65ad934f6c..1b7606681f 100644 --- a/plugins/linguist-backend/CHANGELOG.md +++ b/plugins/linguist-backend/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-linguist-backend +## 0.5.4 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @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.1 + - @backstage/plugin-linguist-common@0.1.2 + ## 0.5.4-next.2 ### Patch Changes diff --git a/plugins/linguist-backend/package.json b/plugins/linguist-backend/package.json index a70f8f2e98..c30c666566 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.4-next.2", + "version": "0.5.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/linguist/CHANGELOG.md b/plugins/linguist/CHANGELOG.md index 455f329b82..9cbf383dcb 100644 --- a/plugins/linguist/CHANGELOG.md +++ b/plugins/linguist/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-linguist +## 0.1.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-linguist-common@0.1.2 + ## 0.1.11-next.2 ### Patch Changes diff --git a/plugins/linguist/package.json b/plugins/linguist/package.json index d47d695a49..de5c5139f6 100644 --- a/plugins/linguist/package.json +++ b/plugins/linguist/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-linguist", - "version": "0.1.11-next.2", + "version": "0.1.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/microsoft-calendar/CHANGELOG.md b/plugins/microsoft-calendar/CHANGELOG.md index f1a6abe709..1ba5917853 100644 --- a/plugins/microsoft-calendar/CHANGELOG.md +++ b/plugins/microsoft-calendar/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-microsoft-calendar +## 0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + ## 0.1.9-next.2 ### Patch Changes diff --git a/plugins/microsoft-calendar/package.json b/plugins/microsoft-calendar/package.json index 0f8532b305..547c5249ef 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.9-next.2", + "version": "0.1.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md index d2b5291446..16b03e444e 100644 --- a/plugins/newrelic-dashboard/CHANGELOG.md +++ b/plugins/newrelic-dashboard/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-newrelic-dashboard +## 0.3.1 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.3.1-next.2 ### Patch Changes diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json index 618e43e1fd..1d9cba9cf4 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.1-next.2", + "version": "0.3.1", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md index c4ea0fc8ea..ee2cffa240 100644 --- a/plugins/newrelic/CHANGELOG.md +++ b/plugins/newrelic/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-newrelic +## 0.3.42 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.3.42-next.2 ### Patch Changes diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json index e400fff5d7..8e2c6d1bb1 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.42-next.2", + "version": "0.3.42", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -60,7 +60,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/parse-link-header": "^2.0.1", - "cross-fetch": "^3.1.5", + "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 1ae3d6c002..c5cfaadf82 100644 --- a/plugins/nomad-backend/CHANGELOG.md +++ b/plugins/nomad-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-nomad-backend +## 0.1.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.9-next.2 ### Patch Changes diff --git a/plugins/nomad-backend/package.json b/plugins/nomad-backend/package.json index 0e87e15999..2c1a5a8cc0 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.9-next.2", + "version": "0.1.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/nomad/CHANGELOG.md b/plugins/nomad/CHANGELOG.md index b16c1f918a..3f1a018e7a 100644 --- a/plugins/nomad/CHANGELOG.md +++ b/plugins/nomad/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-nomad +## 0.1.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 0.1.7-next.2 ### Patch Changes diff --git a/plugins/nomad/package.json b/plugins/nomad/package.json index 4dbeab002e..4d699dfa63 100644 --- a/plugins/nomad/package.json +++ b/plugins/nomad/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-nomad", - "version": "0.1.7-next.2", + "version": "0.1.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -55,7 +55,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/octopus-deploy/CHANGELOG.md b/plugins/octopus-deploy/CHANGELOG.md index 3ec6f12e74..80e96f7051 100644 --- a/plugins/octopus-deploy/CHANGELOG.md +++ b/plugins/octopus-deploy/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-octopus-deploy +## 0.2.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4d2f72c572: Added Deep link into Octopus Deploy project from the Release Table. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.2.8-next.2 ### Patch Changes diff --git a/plugins/octopus-deploy/README.md b/plugins/octopus-deploy/README.md index e80bbf0fcd..9e37777091 100644 --- a/plugins/octopus-deploy/README.md +++ b/plugins/octopus-deploy/README.md @@ -23,6 +23,13 @@ proxy: X-Octopus-ApiKey: ${OCTOPUS_API_KEY} ``` +Optionally, also add the following section to your app-config.yaml if you wish to enable linking to the Project Release page in the Octopus Deploy UI from the footer of the Backstage Release Table. Typically this will be the server URL above without the /api postfix. + +``` +octopusdeploy: + webBaseUrl: "" +``` + 2. Add the following to `EntityPage.tsx` to display Octopus Releases ``` diff --git a/plugins/octopus-deploy/api-report.md b/plugins/octopus-deploy/api-report.md index 3d65e40c64..094cc0a7b0 100644 --- a/plugins/octopus-deploy/api-report.md +++ b/plugins/octopus-deploy/api-report.md @@ -7,6 +7,7 @@ import { ApiRef } from '@backstage/core-plugin-api'; import { BackstagePlugin } from '@backstage/core-plugin-api'; +import { ConfigApi } from '@backstage/core-plugin-api'; import { DiscoveryApi } from '@backstage/core-plugin-api'; import { Entity } from '@backstage/catalog-model'; import { FetchApi } from '@backstage/core-plugin-api'; @@ -25,6 +26,10 @@ export const OCTOPUS_DEPLOY_PROJECT_ID_ANNOTATION = 'octopus.com/project-id'; // @public (undocumented) export interface OctopusDeployApi { + // (undocumented) + getConfig(): Promise; + // (undocumented) + getProjectInfo(projectReference: ProjectReference): Promise; // (undocumented) getReleaseProgression(opts: { projectReference: ProjectReference; @@ -38,11 +43,16 @@ export const octopusDeployApiRef: ApiRef; // @public (undocumented) export class OctopusDeployClient implements OctopusDeployApi { constructor(options: { + configApi: ConfigApi; discoveryApi: DiscoveryApi; fetchApi: FetchApi; proxyPathBase?: string; }); // (undocumented) + getConfig(): Promise; + // (undocumented) + getProjectInfo(projectReference: ProjectReference): Promise; + // (undocumented) getReleaseProgression(opts: { projectReference: ProjectReference; releaseHistoryCount: number; @@ -63,12 +73,30 @@ export type OctopusEnvironment = { Name: string; }; +// @public (undocumented) +export type OctopusLinks = { + Self: string; + Web: string; +}; + +// @public (undocumented) +export type OctopusPluginConfig = { + WebUiBaseUrl: string; +}; + // @public (undocumented) export type OctopusProgression = { Environments: OctopusEnvironment[]; Releases: OctopusReleaseProgression[]; }; +// @public (undocumented) +export type OctopusProject = { + Name: string; + Slug: string; + Links: OctopusLinks; +}; + // @public (undocumented) export type OctopusRelease = { Id: string; diff --git a/plugins/search-react/src/components/SearchTracker/index.ts b/plugins/octopus-deploy/config.d.ts similarity index 72% rename from plugins/search-react/src/components/SearchTracker/index.ts rename to plugins/octopus-deploy/config.d.ts index 9932f2eaec..81d14f2921 100644 --- a/plugins/search-react/src/components/SearchTracker/index.ts +++ b/plugins/octopus-deploy/config.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Backstage Authors + * 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. @@ -13,4 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -export { TrackSearch } from './SearchTracker'; +export interface Config { + octopusdeploy?: { + /** + * Frontend Web UI Base URL for deep links to UI + * @visibility frontend + */ + webBaseUrl?: string; + }; +} diff --git a/plugins/octopus-deploy/package.json b/plugins/octopus-deploy/package.json index f71ee497ed..2831821446 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.8-next.2", + "version": "0.2.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -57,6 +57,8 @@ "msw": "^1.0.0" }, "files": [ - "dist" - ] + "dist", + "config.d.ts" + ], + "configSchema": "config.d.ts" } diff --git a/plugins/octopus-deploy/src/api/index.ts b/plugins/octopus-deploy/src/api/index.ts index 0364bed269..cb5d428308 100644 --- a/plugins/octopus-deploy/src/api/index.ts +++ b/plugins/octopus-deploy/src/api/index.ts @@ -17,6 +17,7 @@ import { createApiRef, DiscoveryApi, FetchApi, + ConfigApi, } from '@backstage/core-plugin-api'; import { ProjectReference } from '../utils/getAnnotationFromEntity'; @@ -48,6 +49,23 @@ export type OctopusRelease = { export type OctopusDeployment = { State: string; }; +/** @public */ +export type OctopusLinks = { + Self: string; + Web: string; +}; + +/** @public */ +export type OctopusProject = { + Name: string; + Slug: string; + Links: OctopusLinks; +}; + +/** @public */ +export type OctopusPluginConfig = { + WebUiBaseUrl: string; +}; /** @public */ export const octopusDeployApiRef = createApiRef({ @@ -55,6 +73,7 @@ export const octopusDeployApiRef = createApiRef({ }); const DEFAULT_PROXY_PATH_BASE = '/octopus-deploy'; +const WEB_UI_BASE_URL_CONFIG_KEY = 'octopusdeploy.webBaseUrl'; /** @public */ export interface OctopusDeployApi { @@ -62,19 +81,24 @@ export interface OctopusDeployApi { projectReference: ProjectReference; releaseHistoryCount: number; }): Promise; + getProjectInfo(projectReference: ProjectReference): Promise; + getConfig(): Promise; } /** @public */ export class OctopusDeployClient implements OctopusDeployApi { + private readonly configApi: ConfigApi; private readonly discoveryApi: DiscoveryApi; private readonly fetchApi: FetchApi; private readonly proxyPathBase: string; constructor(options: { + configApi: ConfigApi; discoveryApi: DiscoveryApi; fetchApi: FetchApi; proxyPathBase?: string; }) { + this.configApi = options.configApi; this.discoveryApi = options.discoveryApi; this.fetchApi = options.fetchApi; this.proxyPathBase = options.proxyPathBase ?? DEFAULT_PROXY_PATH_BASE; @@ -84,7 +108,7 @@ export class OctopusDeployClient implements OctopusDeployApi { projectReference: ProjectReference; releaseHistoryCount: number; }): Promise { - const url = await this.getApiUrl(opts); + const url = await this.getProgressionApiUrl(opts); const response = await this.fetchApi.fetch(url); @@ -107,24 +131,58 @@ export class OctopusDeployClient implements OctopusDeployApi { return responseJson; } - private async getApiUrl(opts: { + async getProjectInfo( + projectReference: ProjectReference, + ): Promise { + const url = await this.getProjectApiUrl(projectReference); + const response = await this.fetchApi.fetch(url); + + let responseJson; + + try { + responseJson = await response.json(); + } catch (e) { + responseJson = { releases: [] }; + } + + if (response.status !== 200) { + throw new Error( + `Error communicating with Octopus Deploy: ${ + responseJson?.error?.title || response.statusText + }`, + ); + } + + return responseJson; + } + + async getConfig(): Promise { + return { + WebUiBaseUrl: this.configApi.getString(WEB_UI_BASE_URL_CONFIG_KEY), + }; + } + + private async getProgressionApiUrl(opts: { projectReference: ProjectReference; releaseHistoryCount: number; }) { - const proxyUrl = await this.discoveryApi.getBaseUrl('proxy'); const queryParameters = new URLSearchParams({ releaseHistoryCount: opts.releaseHistoryCount.toString(), }); - if (opts.projectReference.spaceId !== undefined) { - return `${proxyUrl}${this.proxyPathBase}/${encodeURIComponent( - opts.projectReference.spaceId, - )}/projects/${encodeURIComponent( - opts.projectReference.projectId, - )}/progression?${queryParameters}`; - } + const projectUrl = await this.getProjectApiUrl(opts.projectReference); + + return `${projectUrl}/progression?${queryParameters}`; + } + + private async getProjectApiUrl(projectReference: ProjectReference) { + const proxyUrl = await this.discoveryApi.getBaseUrl('proxy'); + if (projectReference.spaceId !== undefined) + return `${proxyUrl}${this.proxyPathBase}/${encodeURIComponent( + projectReference.spaceId, + )}/projects/${encodeURIComponent(projectReference.projectId)}`; return `${proxyUrl}${this.proxyPathBase}/projects/${encodeURIComponent( - opts.projectReference.projectId, - )}/progression?${queryParameters}`; + projectReference.projectId, + )}`; } } diff --git a/plugins/octopus-deploy/src/components/EntityPageOctopusDeploy/EntityPageOctopusDeploy.tsx b/plugins/octopus-deploy/src/components/EntityPageOctopusDeploy/EntityPageOctopusDeploy.tsx index 21080cb408..d9352a414a 100644 --- a/plugins/octopus-deploy/src/components/EntityPageOctopusDeploy/EntityPageOctopusDeploy.tsx +++ b/plugins/octopus-deploy/src/components/EntityPageOctopusDeploy/EntityPageOctopusDeploy.tsx @@ -13,7 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { useConfig } from '../../hooks/useConfig'; import { useEntity } from '@backstage/plugin-catalog-react'; +import { useProject } from '../../hooks/useProject'; import { useReleases } from '../../hooks/useReleases'; import { getProjectReferenceAnnotationFromEntity } from '../../utils/getAnnotationFromEntity'; import React from 'react'; @@ -30,12 +32,22 @@ export const EntityPageOctopusDeploy = (props: { defaultLimit?: number }) => { projectReference.spaceId, ); + const { + project, + loading: projectLoading, + error: projectError, + } = useProject(projectReference.projectId, projectReference.spaceId); + + const { config, loading: configLoading, error: configError } = useConfig(); + return ( ); }; diff --git a/plugins/octopus-deploy/src/components/ReleaseTable/ReleaseTable.tsx b/plugins/octopus-deploy/src/components/ReleaseTable/ReleaseTable.tsx index bc185546b1..b61b533667 100644 --- a/plugins/octopus-deploy/src/components/ReleaseTable/ReleaseTable.tsx +++ b/plugins/octopus-deploy/src/components/ReleaseTable/ReleaseTable.tsx @@ -14,10 +14,17 @@ * limitations under the License. */ import { Box, Typography } from '@material-ui/core'; -import { OctopusEnvironment, OctopusReleaseProgression } from '../../api'; +import { + OctopusEnvironment, + OctopusProject, + OctopusReleaseProgression, + OctopusPluginConfig, +} from '../../api'; import React from 'react'; import { + BottomLink, + BottomLinkProps, ResponseErrorPanel, StatusAborted, StatusError, @@ -33,6 +40,8 @@ import { OctopusDeployIcon } from '../OctopusDeployIcon'; type ReleaseTableProps = { environments?: OctopusEnvironment[]; releases?: OctopusReleaseProgression[]; + project?: OctopusProject; + config?: OctopusPluginConfig; loading: boolean; error?: Error; }; @@ -93,6 +102,8 @@ export const getDeploymentStatusComponent = (state: string | undefined) => { export const ReleaseTable = ({ environments, releases, + project, + config, loading, error, }: ReleaseTableProps) => { @@ -130,24 +141,39 @@ export const ReleaseTable = ({ })) ?? []), ]; + const deepLink: BottomLinkProps | null = + project?.Links?.Web && config?.WebUiBaseUrl + ? { + link: `${config.WebUiBaseUrl}${project.Links.Web}`, + title: 'Go to project', + onClick: e => { + e.preventDefault(); + window.open(`${config?.WebUiBaseUrl}${project?.Links.Web}`); + }, + } + : null; + return ( - - - - Octopus Deploy - Releases ({releases ? releases.length : 0}) - - } - data={releases ?? []} - /> + +
+ + + Octopus Deploy - Releases ({releases ? releases.length : 0}) + + } + data={releases ?? []} + /> + {deepLink !== null && } + ); }; diff --git a/plugins/playlist/src/components/Router/Router.tsx b/plugins/octopus-deploy/src/hooks/useConfig.ts similarity index 52% rename from plugins/playlist/src/components/Router/Router.tsx rename to plugins/octopus-deploy/src/hooks/useConfig.ts index e153c83416..7218bf1a2c 100644 --- a/plugins/playlist/src/components/Router/Router.tsx +++ b/plugins/octopus-deploy/src/hooks/useConfig.ts @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Backstage Authors + * 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. @@ -13,17 +13,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { useApi } from '@backstage/core-plugin-api'; +import useAsync from 'react-use/lib/useAsync'; +import { octopusDeployApiRef, OctopusPluginConfig } from '../api'; -import React from 'react'; -import { Routes, Route } from 'react-router-dom'; +export function useConfig(): { + config?: OctopusPluginConfig; + loading: boolean; + error?: Error; +} { + const api = useApi(octopusDeployApiRef); -import { playlistRouteRef } from '../../routes'; -import { PlaylistIndexPage } from '../PlaylistIndexPage'; -import { PlaylistPage } from '../PlaylistPage'; + const { value, loading, error } = useAsync(() => { + return api.getConfig(); + }, [api]); -export const Router = () => ( - - } /> - } /> - -); + return { + config: value, + loading, + error, + }; +} diff --git a/plugins/octopus-deploy/src/hooks/useProject.ts b/plugins/octopus-deploy/src/hooks/useProject.ts new file mode 100644 index 0000000000..f4178fd3e0 --- /dev/null +++ b/plugins/octopus-deploy/src/hooks/useProject.ts @@ -0,0 +1,39 @@ +/* + * 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 { useApi } from '@backstage/core-plugin-api'; +import useAsync from 'react-use/lib/useAsync'; +import { octopusDeployApiRef, OctopusProject } from '../api'; + +export function useProject( + projectId: string, + spaceId?: string, +): { + project?: OctopusProject; + loading: boolean; + error?: Error; +} { + const api = useApi(octopusDeployApiRef); + + const { value, loading, error } = useAsync(() => { + return api.getProjectInfo({ projectId: projectId, spaceId: spaceId }); + }, [api, projectId, spaceId]); + + return { + project: value, + loading, + error, + }; +} diff --git a/plugins/octopus-deploy/src/plugin.ts b/plugins/octopus-deploy/src/plugin.ts index 9365f93bdb..39b2b49fb7 100644 --- a/plugins/octopus-deploy/src/plugin.ts +++ b/plugins/octopus-deploy/src/plugin.ts @@ -24,6 +24,7 @@ import { createRoutableExtension, discoveryApiRef, fetchApiRef, + configApiRef, } from '@backstage/core-plugin-api'; import { Entity } from '@backstage/catalog-model'; @@ -38,9 +39,13 @@ export const octopusDeployPlugin = createPlugin({ apis: [ createApiFactory({ api: octopusDeployApiRef, - deps: { discoveryApi: discoveryApiRef, fetchApi: fetchApiRef }, - factory: ({ discoveryApi, fetchApi }) => - new OctopusDeployClient({ discoveryApi, fetchApi }), + deps: { + discoveryApi: discoveryApiRef, + fetchApi: fetchApiRef, + configApi: configApiRef, + }, + factory: ({ discoveryApi, fetchApi, configApi }) => + new OctopusDeployClient({ discoveryApi, fetchApi, configApi }), }), ], }); diff --git a/plugins/opencost/CHANGELOG.md b/plugins/opencost/CHANGELOG.md index f2520046c8..fdf1b1e404 100644 --- a/plugins/opencost/CHANGELOG.md +++ b/plugins/opencost/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-opencost +## 0.2.2 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.2.2-next.2 ### Patch Changes diff --git a/plugins/opencost/package.json b/plugins/opencost/package.json index 8c311f14db..3d3664e9ce 100644 --- a/plugins/opencost/package.json +++ b/plugins/opencost/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-opencost", - "version": "0.2.2-next.2", + "version": "0.2.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -51,7 +51,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/org-react/CHANGELOG.md b/plugins/org-react/CHANGELOG.md index 0ca09d2952..6b65c66f57 100644 --- a/plugins/org-react/CHANGELOG.md +++ b/plugins/org-react/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-org-react +## 0.1.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + ## 0.1.15-next.2 ### Patch Changes diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json index 9551c415eb..f7d9d84851 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.15-next.2", + "version": "0.1.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md index 706a144c53..ab4ee63f0b 100644 --- a/plugins/org/CHANGELOG.md +++ b/plugins/org/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-org +## 0.6.16 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.6.16-next.2 ### Patch Changes diff --git a/plugins/org/package.json b/plugins/org/package.json index 08213e43de..f80fc43503 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.16-next.2", + "version": "0.6.16", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md index 6b9620a151..41e9ffb4c3 100644 --- a/plugins/pagerduty/CHANGELOG.md +++ b/plugins/pagerduty/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-pagerduty +## 0.6.7 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.6.7-next.2 ### Patch Changes diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json index cbc5c1ed45..e56e4d2d8d 100644 --- a/plugins/pagerduty/package.json +++ b/plugins/pagerduty/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-pagerduty", "description": "A Backstage plugin that integrates towards PagerDuty", - "version": "0.6.7-next.2", + "version": "0.6.7", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md index 6fc6dc094f..150f1df7a6 100644 --- a/plugins/periskop-backend/CHANGELOG.md +++ b/plugins/periskop-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-periskop-backend +## 0.2.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + ## 0.2.5-next.2 ### Patch Changes diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json index 545ac13a02..be19fd40c2 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.5-next.2", + "version": "0.2.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md index c15a85cc21..2becc5efa6 100644 --- a/plugins/periskop/CHANGELOG.md +++ b/plugins/periskop/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-periskop +## 0.1.24 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.24-next.2 ### Patch Changes diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json index 86063b596f..ac5869366c 100644 --- a/plugins/periskop/package.json +++ b/plugins/periskop/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-periskop", - "version": "0.1.24-next.2", + "version": "0.1.24", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md index e9296041db..820b8f3401 100644 --- a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md +++ b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-permission-backend-module-allow-all-policy +## 0.1.4 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + ## 0.1.4-next.2 ### 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 ba4ea0911f..f1dcc9d328 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.4-next.2", + "version": "0.1.4", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md index 79cabf4be4..04ae79d5ff 100644 --- a/plugins/permission-backend/CHANGELOG.md +++ b/plugins/permission-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-permission-backend +## 0.5.30 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + ## 0.5.30-next.2 ### Patch Changes diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json index 1f7e7bd28a..8226b30c4b 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.30-next.2", + "version": "0.5.30", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md index c017cd00fc..26fb7356f9 100644 --- a/plugins/permission-common/CHANGELOG.md +++ b/plugins/permission-common/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-permission-common +## 0.7.10 + +### Patch Changes + +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.9 ### Patch Changes diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json index 0c8292a24d..0cc2d043df 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.9", + "version": "0.7.10", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -45,7 +45,7 @@ "@backstage/config": "workspace:^", "@backstage/errors": "workspace:^", "@backstage/types": "workspace:^", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "uuid": "^8.0.0", "zod": "^3.21.4" }, diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md index c8407a1b1a..934163ee05 100644 --- a/plugins/permission-node/CHANGELOG.md +++ b/plugins/permission-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-permission-node +## 0.7.18 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + ## 0.7.18-next.2 ### Patch Changes diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json index c2adf69d04..aca30402e9 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.18-next.2", + "version": "0.7.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md index c7aa0a2e81..a5e91cc3cf 100644 --- a/plugins/permission-react/CHANGELOG.md +++ b/plugins/permission-react/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-permission-react +## 0.4.17 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/config@1.1.1 + ## 0.4.17-next.0 ### Patch Changes diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json index 7e432821b2..d1d2acf809 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.17-next.0", + "version": "0.4.17", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,7 +36,7 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "react-use": "^17.2.4", "swr": "^2.0.0" }, diff --git a/plugins/playlist-backend/CHANGELOG.md b/plugins/playlist-backend/CHANGELOG.md index 20e68b9301..39d1ccf4d1 100644 --- a/plugins/playlist-backend/CHANGELOG.md +++ b/plugins/playlist-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-playlist-backend +## 0.3.11 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-auth-node@0.4.1 + - @backstage/plugin-permission-node@0.7.18 + - @backstage/plugin-playlist-common@0.1.12 + ## 0.3.11-next.2 ### Patch Changes diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json index bd32d40a8b..cd51661d76 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.11-next.2", + "version": "0.3.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist-common/CHANGELOG.md b/plugins/playlist-common/CHANGELOG.md index 5916ed33e8..af77b53222 100644 --- a/plugins/playlist-common/CHANGELOG.md +++ b/plugins/playlist-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-playlist-common +## 0.1.12 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + ## 0.1.11 ### Patch Changes diff --git a/plugins/playlist-common/package.json b/plugins/playlist-common/package.json index e08afb8392..f19883a74d 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.11", + "version": "0.1.12", "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 2fe26e8cc7..4ef8095125 100644 --- a/plugins/playlist/CHANGELOG.md +++ b/plugins/playlist/CHANGELOG.md @@ -1,5 +1,41 @@ # @backstage/plugin-playlist +## 0.2.0 + +### Minor Changes + +- f0e2ef3b81: Support being able to define custom composable Playlist index pages + + **BREAKING** The individual `PlaylistPage` route must now be manually hooked up by making the following change to your setup: + + ```diff + -import { PlaylistIndexPage } from '@backstage/plugin-playlist'; + +import { PlaylistIndexPage, PlaylistPage } from '@backstage/plugin-playlist'; + + // ... + + } /> + +} /> + ``` + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-playlist-common@0.1.12 + ## 0.1.18-next.2 ### Patch Changes diff --git a/plugins/playlist/README.md b/plugins/playlist/README.md index 1e81d07e56..d326bcdedb 100644 --- a/plugins/playlist/README.md +++ b/plugins/playlist/README.md @@ -23,12 +23,12 @@ yarn --cwd packages/app add @backstage/plugin-playlist ### Add the plugin to your `packages/app` -Add the root page that the playlist plugin provides to your app. You can -choose any path for the route, but we recommend the following: +Add the pages that the playlist plugin provides to your app. You can +choose any base path for the route, but we recommend the following: ```diff // packages/app/src/App.tsx -+import { PlaylistIndexPage } from '@backstage/plugin-playlist'; ++import { PlaylistIndexPage, PlaylistPage } from '@backstage/plugin-playlist'; @@ -37,6 +37,7 @@ choose any path for the route, but we recommend the following: {entityPage} + } /> ++ } /> ... ``` @@ -140,6 +141,18 @@ playlist: title: Collection ``` +## Custom Index Page + +You can customize your playlist index page by composing your own implementation. See the [`DefaultPlaylistIndexPage`](./src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.tsx) for a reference of what components are available from the default setup. + +```ts +- } /> ++ }> ++ ++ + } /> +``` + ## Features ### View All Playlists diff --git a/plugins/playlist/api-report.md b/plugins/playlist/api-report.md index be7605d1e6..316b7746bd 100644 --- a/plugins/playlist/api-report.md +++ b/plugins/playlist/api-report.md @@ -13,8 +13,24 @@ import { FetchApi } from '@backstage/core-plugin-api'; import { JSX as JSX_2 } from 'react'; import { Playlist } from '@backstage/plugin-playlist-common'; import { PlaylistMetadata } from '@backstage/plugin-playlist-common'; +import { PropsWithChildren } from 'react'; +import { default as React_2 } from 'react'; import { RouteRef } from '@backstage/core-plugin-api'; +// @public (undocumented) +export const CreatePlaylistButton: () => React_2.JSX.Element; + +// @public (undocumented) +export type DefaultPlaylistFilters = { + noop?: NoopFilter; + owners?: PlaylistOwnerFilter; + personal?: PersonalListFilter; + text?: PlaylistTextFilter; +}; + +// @public (undocumented) +export const DefaultPlaylistIndexPage: () => React_2.JSX.Element; + // @public (undocumented) export const EntityPlaylistDialog: ( props: EntityPlaylistDialogProps, @@ -35,6 +51,43 @@ export interface GetAllPlaylistsRequest { | Record; } +// @public (undocumented) +export class NoopFilter implements PlaylistFilter { + // (undocumented) + getBackendFilters(): { + '': null; + }; +} + +// @public (undocumented) +export class PersonalListFilter implements PlaylistFilter { + constructor( + value: PersonalListFilterValue, + isOwnedPlaylist: (playlist: Playlist) => boolean, + ); + // (undocumented) + filterPlaylist(playlist: Playlist): boolean; + // (undocumented) + readonly isOwnedPlaylist: (playlist: Playlist) => boolean; + // (undocumented) + toQueryValue(): string; + // (undocumented) + readonly value: PersonalListFilterValue; +} + +// @public (undocumented) +export const enum PersonalListFilterValue { + // (undocumented) + all = 'all', + // (undocumented) + following = 'following', + // (undocumented) + owned = 'owned', +} + +// @public (undocumented) +export const PersonalListPicker: () => React_2.JSX.Element; + // @public (undocumented) export interface PlaylistApi { // (undocumented) @@ -93,9 +146,43 @@ export class PlaylistClient implements PlaylistApi { updatePlaylist(playlist: PlaylistMetadata): Promise; } +// @public (undocumented) +export type PlaylistFilter = { + getBackendFilters?: () => Record; + filterPlaylist?: (playlist: Playlist) => boolean; + toQueryValue?: () => string | string[]; +}; + // @public (undocumented) export const PlaylistIndexPage: () => JSX_2.Element; +// @public (undocumented) +export const PlaylistList: () => React_2.JSX.Element; + +// @public (undocumented) +export const PlaylistListProvider: < + PlaylistFilters extends DefaultPlaylistFilters, +>({ + children, +}: PropsWithChildren<{}>) => React_2.JSX.Element; + +// @public (undocumented) +export class PlaylistOwnerFilter implements PlaylistFilter { + constructor(values: string[]); + // (undocumented) + filterPlaylist(playlist: Playlist): boolean; + // (undocumented) + toQueryValue(): string[]; + // (undocumented) + readonly values: string[]; +} + +// @public (undocumented) +export const PlaylistOwnerPicker: () => React_2.JSX.Element | null; + +// @public (undocumented) +export const PlaylistPage: () => JSX_2.Element; + // @public (undocumented) export const playlistPlugin: BackstagePlugin< { @@ -103,4 +190,19 @@ export const playlistPlugin: BackstagePlugin< }, {} >; + +// @public (undocumented) +export const PlaylistSearchBar: () => React_2.JSX.Element; + +// @public (undocumented) +export const PlaylistSortPicker: () => React_2.JSX.Element; + +// @public (undocumented) +export class PlaylistTextFilter implements PlaylistFilter { + constructor(value: string); + // (undocumented) + filterPlaylist(playlist: Playlist): boolean; + // (undocumented) + readonly value: string; +} ``` diff --git a/plugins/playlist/dev/index.tsx b/plugins/playlist/dev/index.tsx index c9c626ab38..38cda2291f 100644 --- a/plugins/playlist/dev/index.tsx +++ b/plugins/playlist/dev/index.tsx @@ -15,7 +15,7 @@ */ import React from 'react'; import { createDevApp } from '@backstage/dev-utils'; -import { playlistPlugin, PlaylistIndexPage } from '../src/plugin'; +import { PlaylistIndexPage, PlaylistPage, playlistPlugin } from '../src/plugin'; createDevApp() .registerPlugin(playlistPlugin) @@ -24,4 +24,9 @@ createDevApp() title: 'Root Page', path: '/playlist', }) + .addPage({ + element: , + title: 'Root Page', + path: '/playlist/:playlistId', + }) .render(); diff --git a/plugins/playlist/package.json b/plugins/playlist/package.json index 785c3f53e3..1068a1fb49 100644 --- a/plugins/playlist/package.json +++ b/plugins/playlist/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-playlist", - "version": "0.1.18-next.2", + "version": "0.2.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx index c21283bcce..ab839c9a85 100644 --- a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx +++ b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.test.tsx @@ -26,7 +26,7 @@ import { fireEvent, waitFor, act } from '@testing-library/react'; import React from 'react'; import { SWRConfig } from 'swr'; import { PlaylistApi, playlistApiRef } from '../../api'; -import { rootRouteRef } from '../../routes'; +import { playlistRouteRef, rootRouteRef } from '../../routes'; import { CreatePlaylistButton } from './CreatePlaylistButton'; jest.mock('../PlaylistEditDialog', () => ({ @@ -73,7 +73,12 @@ describe('', () => { , - { mountedRoutes: { '/playlists': rootRouteRef } }, + { + mountedRoutes: { + '/playlists': rootRouteRef, + '/playlists/:playlistId': playlistRouteRef, + }, + }, ); }; diff --git a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.tsx b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.tsx index d88ffbcda4..ac32097680 100644 --- a/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.tsx +++ b/plugins/playlist/src/components/CreatePlaylistButton/CreatePlaylistButton.tsx @@ -36,6 +36,9 @@ import { playlistRouteRef } from '../../routes'; import { PlaylistEditDialog } from '../PlaylistEditDialog'; import { useTitle } from '../../hooks'; +/** + * @public + */ export const CreatePlaylistButton = () => { const navigate = useNavigate(); const errorApi = useApi(errorApiRef); diff --git a/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx b/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx index 68e00b6b96..3595f42d00 100644 --- a/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx +++ b/plugins/playlist/src/components/EntityPlaylistDialog/EntityPlaylistDialog.test.tsx @@ -28,7 +28,7 @@ import { fireEvent, getByRole, waitFor, act } from '@testing-library/react'; import React from 'react'; import { SWRConfig } from 'swr'; import { PlaylistApi, playlistApiRef } from '../../api'; -import { rootRouteRef } from '../../routes'; +import { playlistRouteRef, rootRouteRef } from '../../routes'; import { EntityPlaylistDialog } from './EntityPlaylistDialog'; const navigateMock = jest.fn(); @@ -103,7 +103,12 @@ describe('EntityPlaylistDialog', () => { , , - { mountedRoutes: { '/playlists': rootRouteRef } }, + { + mountedRoutes: { + '/playlists': rootRouteRef, + '/playlists/:playlistId': playlistRouteRef, + }, + }, ); beforeEach(() => { diff --git a/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.tsx b/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.tsx index 1172f2f6fa..a8537cb213 100644 --- a/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.tsx +++ b/plugins/playlist/src/components/PersonalListPicker/PersonalListPicker.tsx @@ -41,12 +41,18 @@ import useAsync from 'react-use/lib/useAsync'; import { usePlaylistList } from '../../hooks'; import { PlaylistFilter } from '../../types'; +/** + * @public + */ export const enum PersonalListFilterValue { owned = 'owned', following = 'following', all = 'all', } +/** + * @public + */ export class PersonalListFilter implements PlaylistFilter { constructor( readonly value: PersonalListFilterValue, @@ -131,6 +137,9 @@ function getFilterGroups(orgName: string | undefined): ButtonGroup[] { ]; } +/** + * @public + */ export const PersonalListPicker = () => { const classes = useStyles(); const configApi = useApi(configApiRef); @@ -261,7 +270,6 @@ export const PersonalListPicker = () => { setSelectedPersonalFilter(item.id)} selected={item.id === selectedPersonalFilter} diff --git a/plugins/playlist/src/components/PlaylistCard/PlaylistCard.test.tsx b/plugins/playlist/src/components/PlaylistCard/PlaylistCard.test.tsx index 5a34aa93e2..16b1b87203 100644 --- a/plugins/playlist/src/components/PlaylistCard/PlaylistCard.test.tsx +++ b/plugins/playlist/src/components/PlaylistCard/PlaylistCard.test.tsx @@ -18,7 +18,7 @@ import { entityRouteRef } from '@backstage/plugin-catalog-react'; import { renderInTestApp } from '@backstage/test-utils'; import React from 'react'; -import { rootRouteRef } from '../../routes'; +import { playlistRouteRef, rootRouteRef } from '../../routes'; import { PlaylistCard } from './PlaylistCard'; describe('', () => { @@ -39,6 +39,7 @@ describe('', () => { { mountedRoutes: { '/playlists': rootRouteRef, + '/playlists/:playlistId': playlistRouteRef, '/catalog/:namespace/:kind/:name': entityRouteRef, }, }, diff --git a/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.test.tsx b/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.test.tsx new file mode 100644 index 0000000000..35feb9cdae --- /dev/null +++ b/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.test.tsx @@ -0,0 +1,57 @@ +/* + * 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 { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; +import { AuthorizeResult } from '@backstage/plugin-permission-common'; +import { + PermissionApi, + permissionApiRef, +} from '@backstage/plugin-permission-react'; +import React from 'react'; + +import { PlaylistApi, playlistApiRef } from '../../api'; +import { playlistRouteRef, rootRouteRef } from '../../routes'; +import { DefaultPlaylistIndexPage } from './DefaultPlaylistIndexPage'; + +const playlistApi: Partial = { + getAllPlaylists: async () => [], +}; + +const permissionApi: Partial = { + authorize: async () => ({ result: AuthorizeResult.ALLOW }), +}; + +describe('DefaultPlaylistIndexPage', () => { + it('should render', async () => { + const rendered = await renderInTestApp( + + + , + { + mountedRoutes: { + '/playlists': rootRouteRef, + '/playlists/:playlistId': playlistRouteRef, + }, + }, + ); + expect(rendered.getByText('Playlists')).toBeInTheDocument(); + }); +}); diff --git a/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.tsx b/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.tsx new file mode 100644 index 0000000000..a2df92e532 --- /dev/null +++ b/plugins/playlist/src/components/PlaylistIndexPage/DefaultPlaylistIndexPage.tsx @@ -0,0 +1,67 @@ +/* + * 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 { + PageWithHeader, + Content, + ContentHeader, + SupportButton, +} from '@backstage/core-components'; +import { CatalogFilterLayout } from '@backstage/plugin-catalog-react'; + +import { CreatePlaylistButton } from '../CreatePlaylistButton'; +import { PersonalListPicker } from '../PersonalListPicker'; +import { PlaylistList } from '../PlaylistList'; +import { PlaylistOwnerPicker } from '../PlaylistOwnerPicker'; +import { PlaylistSearchBar } from '../PlaylistSearchBar'; +import { PlaylistSortPicker } from '../PlaylistSortPicker'; +import { PlaylistListProvider } from '../../hooks/PlaylistListProvider'; +import { useTitle } from '../../hooks/useTitle'; + +/** + * @public + */ +export const DefaultPlaylistIndexPage = () => { + const pluralTitle = useTitle({ + pluralize: true, + lowerCase: false, + }); + + return ( + + + + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.test.tsx b/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.test.tsx index 6dae17d3bc..5dbe621787 100644 --- a/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.test.tsx +++ b/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.test.tsx @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Backstage Authors + * 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. @@ -14,39 +14,33 @@ * limitations under the License. */ -import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; -import { AuthorizeResult } from '@backstage/plugin-permission-common'; -import { - PermissionApi, - permissionApiRef, -} from '@backstage/plugin-permission-react'; import React from 'react'; - -import { PlaylistApi, playlistApiRef } from '../../api'; -import { rootRouteRef } from '../../routes'; +import { renderInTestApp } from '@backstage/test-utils'; +import { useOutlet } from 'react-router-dom'; import { PlaylistIndexPage } from './PlaylistIndexPage'; -const playlistApi: Partial = { - getAllPlaylists: async () => [], -}; +jest.mock('react-router-dom', () => ({ + ...jest.requireActual('react-router-dom'), + useOutlet: jest.fn().mockReturnValue('Route Children'), +})); -const permissionApi: Partial = { - authorize: async () => ({ result: AuthorizeResult.ALLOW }), -}; +jest.mock('./DefaultPlaylistIndexPage', () => ({ + DefaultPlaylistIndexPage: jest + .fn() + .mockReturnValue('DefaultPlaylistIndexPage'), +})); describe('PlaylistIndexPage', () => { - it('should render', async () => { - const rendered = await renderInTestApp( - - - , - { mountedRoutes: { '/playlists': rootRouteRef } }, - ); - expect(rendered.getByText('Playlists')).toBeInTheDocument(); + it('renders provided router element', async () => { + const { getByText } = await renderInTestApp(); + + expect(getByText('Route Children')).toBeInTheDocument(); + }); + + it('renders DefaultPlaylistIndexPage when no router children are provided', async () => { + (useOutlet as jest.Mock).mockReturnValueOnce(null); + const { getByText } = await renderInTestApp(); + + expect(getByText('DefaultPlaylistIndexPage')).toBeInTheDocument(); }); }); diff --git a/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.tsx b/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.tsx index 9f8b4e1576..283d33c96d 100644 --- a/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.tsx +++ b/plugins/playlist/src/components/PlaylistIndexPage/PlaylistIndexPage.tsx @@ -1,5 +1,5 @@ /* - * Copyright 2022 The Backstage Authors + * 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. @@ -15,50 +15,11 @@ */ import React from 'react'; -import { - PageWithHeader, - Content, - ContentHeader, - SupportButton, -} from '@backstage/core-components'; -import { CatalogFilterLayout } from '@backstage/plugin-catalog-react'; - -import { CreatePlaylistButton } from '../CreatePlaylistButton'; -import { PersonalListPicker } from '../PersonalListPicker'; -import { PlaylistList } from '../PlaylistList'; -import { PlaylistOwnerPicker } from '../PlaylistOwnerPicker'; -import { PlaylistSearchBar } from '../PlaylistSearchBar'; -import { PlaylistSortPicker } from '../PlaylistSortPicker'; -import { PlaylistListProvider } from '../../hooks/PlaylistListProvider'; -import { useTitle } from '../../hooks/useTitle'; +import { useOutlet } from 'react-router-dom'; +import { DefaultPlaylistIndexPage } from './DefaultPlaylistIndexPage'; export const PlaylistIndexPage = () => { - const pluralTitle = useTitle({ - pluralize: true, - lowerCase: false, - }); + const outlet = useOutlet(); - return ( - - - - - - - - - - - - - - - - - - - - - - ); + return outlet || ; }; diff --git a/plugins/playlist/src/components/PlaylistIndexPage/index.ts b/plugins/playlist/src/components/PlaylistIndexPage/index.ts index 06858a8262..5c39468d74 100644 --- a/plugins/playlist/src/components/PlaylistIndexPage/index.ts +++ b/plugins/playlist/src/components/PlaylistIndexPage/index.ts @@ -13,4 +13,5 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +export { DefaultPlaylistIndexPage } from './DefaultPlaylistIndexPage'; export { PlaylistIndexPage } from './PlaylistIndexPage'; diff --git a/plugins/playlist/src/components/PlaylistList/PlaylistList.tsx b/plugins/playlist/src/components/PlaylistList/PlaylistList.tsx index 2f815f07c6..6ec06f3e05 100644 --- a/plugins/playlist/src/components/PlaylistList/PlaylistList.tsx +++ b/plugins/playlist/src/components/PlaylistList/PlaylistList.tsx @@ -26,6 +26,9 @@ import { Typography } from '@material-ui/core'; import { useTitle, usePlaylistList } from '../../hooks'; import { PlaylistCard } from '../PlaylistCard'; +/** + * @public + */ export const PlaylistList = () => { const { loading, error, playlists } = usePlaylistList(); const pluralTitleLowerCase = useTitle({ diff --git a/plugins/playlist/src/components/PlaylistOwnerPicker/PlaylistOwnerPicker.tsx b/plugins/playlist/src/components/PlaylistOwnerPicker/PlaylistOwnerPicker.tsx index 7def794c6b..d7fd97ff19 100644 --- a/plugins/playlist/src/components/PlaylistOwnerPicker/PlaylistOwnerPicker.tsx +++ b/plugins/playlist/src/components/PlaylistOwnerPicker/PlaylistOwnerPicker.tsx @@ -34,6 +34,9 @@ import React, { useEffect, useMemo, useState } from 'react'; import { usePlaylistList } from '../../hooks'; import { PlaylistFilter } from '../../types'; +/** + * @public + */ export class PlaylistOwnerFilter implements PlaylistFilter { constructor(readonly values: string[]) {} @@ -49,6 +52,9 @@ export class PlaylistOwnerFilter implements PlaylistFilter { const icon = ; const checkedIcon = ; +/** + * @public + */ export const PlaylistOwnerPicker = () => { const { updateFilters, diff --git a/plugins/playlist/src/components/PlaylistSearchBar/PlaylistSearchBar.tsx b/plugins/playlist/src/components/PlaylistSearchBar/PlaylistSearchBar.tsx index 94a22a23f5..44e0b28c13 100644 --- a/plugins/playlist/src/components/PlaylistSearchBar/PlaylistSearchBar.tsx +++ b/plugins/playlist/src/components/PlaylistSearchBar/PlaylistSearchBar.tsx @@ -31,6 +31,9 @@ import useDebounce from 'react-use/lib/useDebounce'; import { usePlaylistList } from '../../hooks'; import { PlaylistFilter } from '../../types'; +/** + * @public + */ export class PlaylistTextFilter implements PlaylistFilter { constructor(readonly value: string) {} @@ -52,6 +55,9 @@ const useStyles = makeStyles(_theme => ({ }, })); +/** + * @public + */ export const PlaylistSearchBar = () => { const classes = useStyles(); diff --git a/plugins/playlist/src/components/PlaylistSortPicker/PlaylistSortPicker.tsx b/plugins/playlist/src/components/PlaylistSortPicker/PlaylistSortPicker.tsx index 01e3bd08ff..219792e2dc 100644 --- a/plugins/playlist/src/components/PlaylistSortPicker/PlaylistSortPicker.tsx +++ b/plugins/playlist/src/components/PlaylistSortPicker/PlaylistSortPicker.tsx @@ -74,6 +74,9 @@ const useStyles = makeStyles({ }, }); +/** + * @public + */ export const PlaylistSortPicker = () => { const classes = useStyles(); const { updateSort } = usePlaylistList(); diff --git a/plugins/playlist/src/components/Router/Router.test.tsx b/plugins/playlist/src/components/Router/Router.test.tsx deleted file mode 100644 index ea8620ec42..0000000000 --- a/plugins/playlist/src/components/Router/Router.test.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import { PlaylistIndexPage } from '../PlaylistIndexPage'; -import { PlaylistPage } from '../PlaylistPage'; -import { Router } from './Router'; -import { renderInTestApp } from '@backstage/test-utils'; - -jest.mock('../PlaylistIndexPage', () => ({ - PlaylistIndexPage: jest.fn(() => null), -})); - -jest.mock('../PlaylistPage', () => ({ - PlaylistPage: jest.fn(() => null), -})); - -describe('Router', () => { - beforeEach(() => { - (PlaylistPage as jest.Mock).mockClear(); - (PlaylistIndexPage as jest.Mock).mockClear(); - }); - describe('/', () => { - it('should render the PlaylistIndexPage', async () => { - await renderInTestApp(); - expect(PlaylistIndexPage).toHaveBeenCalled(); - }); - }); - - describe('/:playlistId', () => { - it('should render the PlaylistPage page', async () => { - await renderInTestApp(, { - routeEntries: ['/my-playlist'], - }); - expect(PlaylistPage).toHaveBeenCalled(); - }); - }); -}); diff --git a/plugins/playlist/src/hooks/PlaylistListProvider.tsx b/plugins/playlist/src/hooks/PlaylistListProvider.tsx index b931e469e7..5b8e1ee2b6 100644 --- a/plugins/playlist/src/hooks/PlaylistListProvider.tsx +++ b/plugins/playlist/src/hooks/PlaylistListProvider.tsx @@ -58,6 +58,9 @@ type OutputState = { backendPlaylists: Playlist[]; }; +/** + * @public + */ export const PlaylistListProvider = < PlaylistFilters extends DefaultPlaylistFilters, >({ diff --git a/plugins/playlist/src/hooks/usePlaylistList.tsx b/plugins/playlist/src/hooks/usePlaylistList.tsx index 0c71a66e65..cf099b5be2 100644 --- a/plugins/playlist/src/hooks/usePlaylistList.tsx +++ b/plugins/playlist/src/hooks/usePlaylistList.tsx @@ -21,12 +21,18 @@ import { PlaylistOwnerFilter } from '../components/PlaylistOwnerPicker'; import { PlaylistTextFilter } from '../components/PlaylistSearchBar'; import { PlaylistFilter, PlaylistSortCompareFunction } from '../types'; +/** + * @public + */ export class NoopFilter implements PlaylistFilter { getBackendFilters() { return { '': null }; } } +/** + * @public + */ export type DefaultPlaylistFilters = { noop?: NoopFilter; owners?: PlaylistOwnerFilter; diff --git a/plugins/playlist/src/index.ts b/plugins/playlist/src/index.ts index 3b7004ce22..0281af45f7 100644 --- a/plugins/playlist/src/index.ts +++ b/plugins/playlist/src/index.ts @@ -19,10 +19,28 @@ * * @packageDocumentation */ +export * from './api'; +export { + CreatePlaylistButton, + DefaultPlaylistIndexPage, + PersonalListFilter, + PersonalListFilterValue, + PersonalListPicker, + PlaylistList, + PlaylistOwnerFilter, + PlaylistOwnerPicker, + PlaylistSearchBar, + PlaylistSortPicker, + PlaylistTextFilter, +} from './components'; export type { EntityPlaylistDialogProps } from './components'; +export { NoopFilter } from './hooks'; +export type { DefaultPlaylistFilters } from './hooks'; +export { PlaylistListProvider } from './hooks/PlaylistListProvider'; export { EntityPlaylistDialog, + PlaylistPage, playlistPlugin, PlaylistIndexPage, } from './plugin'; -export * from './api'; +export type { PlaylistFilter } from './types'; diff --git a/plugins/playlist/src/plugin.ts b/plugins/playlist/src/plugin.ts index 8e73fffe37..7a8a38c673 100644 --- a/plugins/playlist/src/plugin.ts +++ b/plugins/playlist/src/plugin.ts @@ -24,7 +24,7 @@ import { } from '@backstage/core-plugin-api'; import { playlistApiRef, PlaylistClient } from './api'; -import { rootRouteRef } from './routes'; +import { playlistRouteRef, rootRouteRef } from './routes'; /** * @public @@ -53,11 +53,24 @@ export const playlistPlugin = createPlugin({ export const PlaylistIndexPage = playlistPlugin.provide( createRoutableExtension({ name: 'PlaylistIndexPage', - component: () => import('./components/Router').then(m => m.Router), + component: () => + import('./components/PlaylistIndexPage').then(m => m.PlaylistIndexPage), mountPoint: rootRouteRef, }), ); +/** + * @public + */ +export const PlaylistPage = playlistPlugin.provide( + createRoutableExtension({ + name: 'PlaylistPage', + component: () => + import('./components/PlaylistPage').then(m => m.PlaylistPage), + mountPoint: playlistRouteRef, + }), +); + /** * @public */ diff --git a/plugins/playlist/src/routes.ts b/plugins/playlist/src/routes.ts index 632dc06439..2ca833efff 100644 --- a/plugins/playlist/src/routes.ts +++ b/plugins/playlist/src/routes.ts @@ -13,14 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { createRouteRef, createSubRouteRef } from '@backstage/core-plugin-api'; +import { createRouteRef } from '@backstage/core-plugin-api'; export const rootRouteRef = createRouteRef({ id: 'playlist:index-page', }); -export const playlistRouteRef = createSubRouteRef({ +export const playlistRouteRef = createRouteRef({ id: 'playlist:playlist-page', - parent: rootRouteRef, - path: '/:playlistId', + params: ['playlistId'], }); diff --git a/plugins/playlist/src/types.ts b/plugins/playlist/src/types.ts index fbd348f98a..b31b282031 100644 --- a/plugins/playlist/src/types.ts +++ b/plugins/playlist/src/types.ts @@ -16,6 +16,9 @@ import { Playlist } from '@backstage/plugin-playlist-common'; +/** + * @public + */ export type PlaylistFilter = { getBackendFilters?: () => Record; diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md index 87458c7f74..4a2cb29827 100644 --- a/plugins/proxy-backend/CHANGELOG.md +++ b/plugins/proxy-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-proxy-backend +## 0.4.5 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + ## 0.4.5-next.2 ### Patch Changes diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json index 897d1b0b32..55fcc6fd87 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.5-next.2", + "version": "0.4.5", "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 04aed439ec..e8cf64f255 100644 --- a/plugins/puppetdb/CHANGELOG.md +++ b/plugins/puppetdb/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-puppetdb +## 0.1.9 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.9-next.2 ### Patch Changes diff --git a/plugins/puppetdb/package.json b/plugins/puppetdb/package.json index 76315fb10e..0f68073d52 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.9-next.2", + "version": "0.1.9", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md index 1f1dd768d0..388e936d45 100644 --- a/plugins/rollbar-backend/CHANGELOG.md +++ b/plugins/rollbar-backend/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-rollbar-backend +## 0.1.52 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + ## 0.1.52-next.2 ### Patch Changes diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json index f15b954585..b3f7272bbe 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.52-next.2", + "version": "0.1.52", "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 f68dcc38db..d1bffcd547 100644 --- a/plugins/rollbar/CHANGELOG.md +++ b/plugins/rollbar/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-rollbar +## 0.4.26 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.4.26-next.2 ### Patch Changes diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index de56896d34..571ce6daa1 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.26-next.2", + "version": "0.4.26", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -61,7 +61,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md index 7d56652ebe..21114b347f 100644 --- a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-confluence-to-markdown +## 0.2.8 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.8-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json index 38a1f333cb..0a347ff7f7 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.8-next.2", + "version": "0.2.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md index c04a58e745..eadc11d7f8 100644 --- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-cookiecutter +## 0.2.31 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.31-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json index edd0899437..1742905379 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.31-next.2", + "version": "0.2.31", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md index d43b1124a9..54ab2d2a28 100644 --- a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-scaffolder-backend-module-gitlab +## 0.2.10 + +### Patch Changes + +- 26ca97ebaa: Add examples for `gitlab:projectAccessToken:create` scaffolder action & improve related tests +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.10-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json index 6ba82fd81f..4f4dfc8d3e 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.10-next.2", + "version": "0.2.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md index 42da0f806a..a8413c589b 100644 --- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-scaffolder-backend-module-rails +## 0.4.24 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.4.24-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json index 5b253fdb9d..dbab5789a3 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.24-next.2", + "version": "0.4.24", "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 b0386e706e..110a049c09 100644 --- a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-backend-module-sentry +## 0.1.15 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.1.15-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-sentry/package.json b/plugins/scaffolder-backend-module-sentry/package.json index 1413dfb004..627c577533 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.15-next.2", + "version": "0.1.15", "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 46c2784d47..7b1d074952 100644 --- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md +++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-scaffolder-backend-module-yeoman +## 0.2.28 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + ## 0.2.28-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json index 811e09f6ad..4d11dcbf0f 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.28-next.2", + "version": "0.2.28", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index 8725488364..81f677b7cd 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -1,5 +1,50 @@ # @backstage/plugin-scaffolder-backend +## 1.19.0 + +### Minor Changes + +- f3ab9cfcb7: Made shut down stale tasks configurable. + + There are two properties exposed: + + - `scaffolder.processingInterval` - sets the processing interval for staled tasks. + - `scaffolder.taskTimeoutJanitorFrequency` - sets the task's heartbeat timeout, when to consider a task to be staled. + +- 7d5a921114: Allow using `globby`'s negative matching with `copyWithoutTemplating`/`copyWithoutRender`. This allows including an entire subdirectory while excluding a single file so that it will still be templated instead of needing to list every other file and ensure the list is updated when new files are added. +- 5e4127c18e: Allow setting `update: true` in `publish:github:pull-request` scaffolder action + +### Patch Changes + +- 0920fd02ac: Add examples for `github:environment:create` scaffolder action & improve related tests +- ae30a9ae8c: Added description for publish:gerrit scaffolder actions +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 23f72b2cba: Refactoring the runner to generate minimally informative task log per iteration and properly validate iterated actions. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- 99d4936f6c: Add examples for `github:webhook` scaffolder action & improve related tests +- 2be3922eb8: Add examples for `github:deployKey:create` scaffolder action & improve related tests +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- f8727ad228: Add examples for `publish:github:pull-request` scaffolder action & improve related tests +- Updated dependencies + - @backstage/plugin-catalog-backend@1.15.0 + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/plugin-scaffolder-node@0.2.8 + - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.4 + - @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.1 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-permission-node@0.7.18 + ## 1.19.0-next.2 ### Patch Changes diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md index 1f8615b477..b92b883767 100644 --- a/plugins/scaffolder-backend/api-report.md +++ b/plugins/scaffolder-backend/api-report.md @@ -804,11 +804,11 @@ export class DatabaseTaskStore implements TaskStore { >, ): Promise; // (undocumented) - claimTask(): Promise; + claimTask(): Promise; // (undocumented) completeTask(options: { taskId: string; - status: TaskStatus; + status: TaskStatus_2; eventBody: JsonObject; }): Promise; // (undocumented) @@ -826,16 +826,16 @@ export class DatabaseTaskStore implements TaskStore { >, ): Promise; // (undocumented) - getTask(taskId: string): Promise; + getTask(taskId: string): Promise; // (undocumented) heartbeatTask(taskId: string): Promise; // (undocumented) list(options: { createdBy?: string }): Promise<{ - tasks: SerializedTask[]; + tasks: SerializedTask_2[]; }>; // (undocumented) listEvents(options: TaskStoreListEventsOptions): Promise<{ - events: SerializedTaskEvent[]; + events: SerializedTaskEvent_2[]; }>; // (undocumented) listStaleTasks(options: { timeoutS: number }): Promise<{ @@ -876,9 +876,9 @@ export interface RouterOptions { // (undocumented) actions?: TemplateAction_2[]; // (undocumented) - additionalTemplateFilters?: Record; + additionalTemplateFilters?: Record; // (undocumented) - additionalTemplateGlobals?: Record; + additionalTemplateGlobals?: Record; // (undocumented) catalogClient: CatalogApi; concurrentTasksLimit?: number; @@ -901,7 +901,7 @@ export interface RouterOptions { // (undocumented) scheduler?: PluginTaskScheduler; // (undocumented) - taskBroker?: TaskBroker; + taskBroker?: TaskBroker_2; // @deprecated (undocumented) taskWorkers?: number; } diff --git a/plugins/scaffolder-backend/config.d.ts b/plugins/scaffolder-backend/config.d.ts index 60ccd52257..5914cddce7 100644 --- a/plugins/scaffolder-backend/config.d.ts +++ b/plugins/scaffolder-backend/config.d.ts @@ -14,6 +14,8 @@ * limitations under the License. */ +import { HumanDuration } from '@backstage/types'; + export interface Config { /** Configuration options for the scaffolder plugin */ scaffolder?: { @@ -37,5 +39,21 @@ export interface Config { * Set to 0 to disable task workers altogether. */ concurrentTasksLimit?: number; + + /** + * Makes sure to auto-expire and clean up things that time out or for other reasons should not be left lingering. + * + * By default, the frequency is every 5 minutes. + */ + taskTimeoutJanitorFrequency?: HumanDuration; + + /** + * Sets the task's heartbeat timeout, when to consider a task to be staled. + * + * Once task is considered to be staled, the scheduler will shut it down on the next cycle. + * + * Default value is 24 hours. + */ + taskTimeout?: HumanDuration; }; } diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json index e0b9e5b993..2b6685dafd 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.0-next.2", + "version": "1.19.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -113,6 +113,7 @@ "esbuild": "^0.19.0", "jest-when": "^3.1.0", "msw": "^1.0.0", + "strip-ansi": "^7.1.0", "supertest": "^6.1.3", "wait-for-expect": "^3.0.2", "yaml": "^2.0.0" diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts index d396a00c26..119cd78eb7 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.test.ts @@ -470,6 +470,57 @@ describe('fetch:template', () => { ), ).resolves.toEqual('1234'); }); + + describe('with exclusion filter', () => { + beforeEach(async () => { + context = mockContext({ + values: { + name: 'test-project', + count: 1234, + }, + copyWithoutTemplating: [ + '.unprocessed', + '!*/templated-process-content-${{ values.name }}.txt', + ], + }); + + mockFetchContents.mockImplementation(({ outputPath }) => { + mockDir.setContent({ + [outputPath]: { + processed: { + 'templated-content-${{ values.name }}.txt': + '${{ values.count }}', + }, + '.unprocessed': { + 'templated-content-${{ values.name }}.txt': + '${{ values.count }}', + 'templated-process-content-${{ values.name }}.txt': + '${{ values.count }}', + }, + }, + }); + + return Promise.resolve(); + }); + + await action.handler(context); + }); + + it('renders path template including excluded matches in copyWithoutTemplating', async () => { + await expect( + fs.readFile( + `${workspacePath}/target/.unprocessed/templated-process-content-test-project.txt`, + 'utf-8', + ), + ).resolves.toEqual('1234'); + await expect( + fs.readFile( + `${workspacePath}/target/.unprocessed/templated-content-test-project.txt`, + 'utf-8', + ), + ).resolves.toEqual('${{ values.count }}'); + }); + }); }); describe('cookiecutter compatibility mode', () => { diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts index 1116d4dd5d..26b249b76d 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/fetch/template.ts @@ -207,19 +207,13 @@ export function createFetchTemplateAction(options: { }); const nonTemplatedEntries = new Set( - ( - await Promise.all( - (copyOnlyPatterns || []).map(pattern => - globby(pattern, { - cwd: templateDir, - dot: true, - onlyFiles: false, - markDirectories: true, - followSymbolicLinks: false, - }), - ), - ) - ).flat(), + await globby(copyOnlyPatterns || [], { + cwd: templateDir, + dot: true, + onlyFiles: false, + markDirectories: true, + followSymbolicLinks: false, + }), ); // Cookiecutter prefixes all parameters in templates with diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/helpers.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/helpers.ts index edef7cec5c..d91f3bf3a2 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/helpers.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/github/helpers.ts @@ -134,7 +134,7 @@ export async function createGithubRepoWithCollaboratorsAndTopics( secrets: { [key: string]: string } | undefined, logger: Logger, ) { - // eslint-disable-next-line testing-library/no-await-sync-query + // eslint-disable-next-line testing-library/no-await-sync-queries const user = await client.rest.users.getByUsername({ username: owner, }); @@ -409,7 +409,7 @@ async function validateAccessTeam(client: Octokit, access: string) { try { // Below rule disabled because of a 'getByName' check for a different library // incorrectly triggers here. - // eslint-disable-next-line testing-library/no-await-sync-query + // eslint-disable-next-line testing-library/no-await-sync-queries await client.rest.teams.getByName({ org, team_slug, diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts index 40ffdb17d4..6beb01e401 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/DatabaseTaskStore.ts @@ -23,10 +23,6 @@ import { ConflictError, NotFoundError } from '@backstage/errors'; import { Knex } from 'knex'; import { v4 as uuid } from 'uuid'; import { - SerializedTaskEvent, - SerializedTask, - TaskStatus, - TaskEventType, TaskStore, TaskStoreEmitOptions, TaskStoreListEventsOptions, @@ -34,6 +30,12 @@ import { TaskStoreCreateTaskResult, TaskStoreShutDownTaskOptions, } from './types'; +import { + SerializedTaskEvent, + SerializedTask, + TaskStatus, + TaskEventType, +} from '@backstage/plugin-scaffolder-node'; import { DateTime } from 'luxon'; const migrationsDir = resolvePackagePath( diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts index 6907f8cc2c..3085bb8687 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts @@ -34,12 +34,14 @@ import { } from '@backstage/plugin-permission-common'; import { RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha'; import { createMockDirectory } from '@backstage/backend-test-utils'; +import stripAnsi from 'strip-ansi'; -describe('DefaultWorkflowRunner', () => { +describe('NunjucksWorkflowRunner', () => { const logger = getVoidLogger(); let actionRegistry = new TemplateActionRegistry(); let runner: NunjucksWorkflowRunner; let fakeActionHandler: jest.Mock; + let fakeTaskLog: jest.Mock; const mockDir = createMockDirectory(); @@ -65,17 +67,24 @@ describe('DefaultWorkflowRunner', () => { isDryRun, complete: async () => {}, done: false, - emitLog: async () => {}, + emitLog: fakeTaskLog, cancelSignal: new AbortController().signal, getWorkspaceName: () => Promise.resolve('test-workspace'), }); + function expectTaskLog(message: string) { + expect(fakeTaskLog.mock.calls.map(args => stripAnsi(args[0]))).toContain( + message, + ); + } + beforeEach(() => { mockDir.clear(); jest.resetAllMocks(); actionRegistry = new TemplateActionRegistry(); fakeActionHandler = jest.fn(); + fakeTaskLog = jest.fn(); actionRegistry.register({ id: 'jest-mock-action', @@ -554,6 +563,7 @@ describe('DefaultWorkflowRunner', () => { describe('each', () => { it('should run a step repeatedly - flat values', async () => { + const colors = ['blue', 'green', 'red']; const task = createMockTaskWithSpec({ apiVersion: 'scaffolder.backstage.io/v1beta3', steps: [ @@ -567,21 +577,19 @@ describe('DefaultWorkflowRunner', () => { ], output: {}, parameters: { - colors: ['blue', 'green', 'red'], + colors, }, }); - await runner.execute(task); - expect(fakeActionHandler).toHaveBeenCalledWith( - expect.objectContaining({ input: { color: 'blue' } }), - ); - expect(fakeActionHandler).toHaveBeenCalledWith( - expect.objectContaining({ input: { color: 'green' } }), - ); - expect(fakeActionHandler).toHaveBeenCalledWith( - expect.objectContaining({ input: { color: 'red' } }), - ); + colors.forEach((color, idx) => { + expectTaskLog( + `info: Running step each: {"key":"${idx}","value":"${color}"}`, + ); + expect(fakeActionHandler).toHaveBeenCalledWith( + expect.objectContaining({ input: { color } }), + ); + }); }); it('should run a step repeatedly - object list', async () => { @@ -604,9 +612,11 @@ describe('DefaultWorkflowRunner', () => { settings: [{ color: 'blue' }], }, }); - await runner.execute(task); + expectTaskLog( + 'info: Running step each: {"key":"0","value":"[object Object]"}', + ); expect(fakeActionHandler).toHaveBeenCalledWith( expect.objectContaining({ input: { key: '0', value: { color: 'blue' } }, @@ -615,6 +625,10 @@ describe('DefaultWorkflowRunner', () => { }); it('should run a step repeatedly - object', async () => { + const settings = { + color: 'blue', + transparent: 'yes', + }; const task = createMockTaskWithSpec({ apiVersion: 'scaffolder.backstage.io/v1beta3', steps: [ @@ -628,22 +642,81 @@ describe('DefaultWorkflowRunner', () => { ], output: {}, parameters: { - settings: { color: 'blue', transparent: 'yes' }, + settings, }, }); - await runner.execute(task); - expect(fakeActionHandler).toHaveBeenCalledWith( - expect.objectContaining({ - input: { key: 'color', value: 'blue' }, - }), - ); - expect(fakeActionHandler).toHaveBeenCalledWith( - expect.objectContaining({ - input: { key: 'transparent', value: 'yes' }, - }), + for (const [key, value] of Object.entries(settings)) { + expectTaskLog( + `info: Running step each: {"key":"${key}","value":"${value}"}`, + ); + expect(fakeActionHandler).toHaveBeenCalledWith( + expect.objectContaining({ + input: { key, value }, + }), + ); + } + }); + + it('should run a step repeatedly with validation of single-expression value', async () => { + const numbers = [5, 7, 9]; + const task = createMockTaskWithSpec({ + apiVersion: 'scaffolder.backstage.io/v1beta3', + steps: [ + { + id: 'test', + name: 'name', + each: '${{parameters.numbers}}', + action: 'jest-validated-action', + input: { foo: '${{each.value}}' }, + }, + ], + output: {}, + parameters: { + numbers, + }, + }); + await runner.execute(task); + + numbers.forEach((foo, idx) => { + expectTaskLog( + `info: Running step each: {"key":"${idx}","value":"${foo}"}`, + ); + expect(fakeActionHandler).toHaveBeenCalledWith( + expect.objectContaining({ + input: { foo }, + }), + ); + }); + }); + + it('should validate each action iteration', async () => { + const task = createMockTaskWithSpec({ + apiVersion: 'scaffolder.backstage.io/v1beta3', + steps: [ + { + id: 'test', + name: 'name', + each: '${{parameters.data}}', + action: 'jest-validated-action', + input: { foo: '${{each.value.foo}}' }, + }, + ], + output: {}, + parameters: { + data: [ + { + foo: 0, + }, + {}, + ], + }, + }); + await expect(runner.execute(task)).rejects.toThrow( + 'Invalid input passed to action jest-validated-action[1], instance requires property "foo"', ); + expect(fakeActionHandler).not.toHaveBeenCalled(); }); }); diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts index 1f93ded94c..139d91b7a2 100644 --- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts +++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.ts @@ -276,74 +276,72 @@ export class NunjucksWorkflowRunner implements WorkflowRunner { return; } } + const iterations = ( + step.each + ? Object.entries(this.render(step.each, context, renderTemplate)).map( + ([key, value]) => ({ + each: { key, value }, + }), + ) + : [{}] + ).map(i => ({ + ...i, + // Secrets are only passed when templating the input to actions for security reasons + input: step.input + ? this.render( + step.input, + { ...context, secrets: task.secrets ?? {}, ...i }, + renderTemplate, + ) + : {}, + })); + for (const iteration of iterations) { + const actionId = `${action.id}${ + iteration.each ? `[${iteration.each.key}]` : '' + }`; - // Secrets are only passed when templating the input to actions for security reasons - const input = - (step.input && - this.render( - step.input, - { ...context, secrets: task.secrets ?? {} }, - renderTemplate, - )) ?? - {}; - - if (action.schema?.input) { - const validateResult = validateJsonSchema(input, action.schema.input); - if (!validateResult.valid) { - const errors = validateResult.errors.join(', '); - throw new InputError( - `Invalid input passed to action ${action.id}, ${errors}`, + if (action.schema?.input) { + const validateResult = validateJsonSchema( + iteration.input, + action.schema.input, + ); + if (!validateResult.valid) { + const errors = validateResult.errors.join(', '); + throw new InputError( + `Invalid input passed to action ${actionId}, ${errors}`, + ); + } + } + if ( + !isActionAuthorized(decision, { + action: action.id, + input: iteration.input, + }) + ) { + throw new NotAllowedError( + `Unauthorized action: ${actionId}. The action is not allowed. Input: ${JSON.stringify( + iteration.input, + null, + 2, + )}`, ); } } - - if (!isActionAuthorized(decision, { action: action.id, input })) { - throw new NotAllowedError( - `Unauthorized action: ${ - action.id - }. The action is not allowed. Input: ${JSON.stringify( - input, - null, - 2, - )}`, - ); - } - const tmpDirs = new Array(); const stepOutput: { [outputName: string]: JsonValue } = {}; - const iterations = new Array(); - if (step.each) { - const each = await this.render(step.each, context, renderTemplate); - iterations.push( - ...Object.keys(each).map((key: any) => { - return { key: key, value: each[key] }; - }), - ); - } else { - iterations.push({}); - } - - let actionInput = input; for (const iteration of iterations) { - if (step.each) { - taskLogger.info(`Running step each: ${iteration}`); - const iterationContext = { - ...context, - each: iteration, - }; - // re-render input with the modified context that includes each - actionInput = - (step.input && - this.render( - step.input, - { ...iterationContext, secrets: task.secrets ?? {} }, - renderTemplate, - )) ?? - {}; + if (iteration.each) { + taskLogger.info( + `Running step each: ${JSON.stringify( + iteration.each, + (k, v) => (k ? v.toString() : v), + 0, + )}`, + ); } await action.handler({ - input: actionInput, + input: iteration.input, secrets: task.secrets ?? {}, logger: taskLogger, logStream: streamLogger, diff --git a/plugins/scaffolder-backend/src/service/helpers.ts b/plugins/scaffolder-backend/src/service/helpers.ts index 97d4ab93aa..3412fec2d3 100644 --- a/plugins/scaffolder-backend/src/service/helpers.ts +++ b/plugins/scaffolder-backend/src/service/helpers.ts @@ -107,7 +107,3 @@ export async function findTemplate(options: { return template as TemplateEntityV1beta3; } - -export type TemplateTransform = ( - template: TemplateEntityV1beta3, -) => TemplateEntityV1beta3; diff --git a/plugins/scaffolder-backend/src/service/router.test.ts b/plugins/scaffolder-backend/src/service/router.test.ts index f5aa043ce0..7a0bcc6877 100644 --- a/plugins/scaffolder-backend/src/service/router.test.ts +++ b/plugins/scaffolder-backend/src/service/router.test.ts @@ -38,7 +38,8 @@ import { stringifyEntityRef, UserEntity, } from '@backstage/catalog-model'; -import { createRouter, DatabaseTaskStore, TaskBroker } from '../index'; +import { createRouter, DatabaseTaskStore } from '../index'; +import { TaskBroker } from '@backstage/plugin-scaffolder-node'; import { StorageTaskBroker } from '../scaffolder/tasks/StorageTaskBroker'; import { IdentityApiGetIdentityRequest, diff --git a/plugins/scaffolder-backend/src/service/router.ts b/plugins/scaffolder-backend/src/service/router.ts index 194120f0f9..de0087e7de 100644 --- a/plugins/scaffolder-backend/src/service/router.ts +++ b/plugins/scaffolder-backend/src/service/router.ts @@ -24,10 +24,10 @@ import { stringifyEntityRef, UserEntity, } from '@backstage/catalog-model'; -import { Config } from '@backstage/config'; +import { Config, readDurationFromConfig } from '@backstage/config'; import { InputError, NotFoundError, stringifyError } from '@backstage/errors'; import { ScmIntegrations } from '@backstage/integration'; -import { JsonObject, JsonValue } from '@backstage/types'; +import { HumanDuration, JsonObject, JsonValue } from '@backstage/types'; import { TaskSpec, TemplateEntityV1beta3, @@ -48,11 +48,14 @@ import Router from 'express-promise-router'; import { validate } from 'jsonschema'; import { Logger } from 'winston'; import { z } from 'zod'; -import { TemplateFilter, TemplateGlobal } from '../lib'; +import { + TaskBroker, + TemplateFilter, + TemplateGlobal, +} from '@backstage/plugin-scaffolder-node'; import { createBuiltinActions, DatabaseTaskStore, - TaskBroker, TaskWorker, TemplateActionRegistry, } from '../scaffolder'; @@ -74,6 +77,7 @@ import { PermissionRule, } from '@backstage/plugin-permission-node'; import { scaffolderActionRules, scaffolderTemplateRules } from './rules'; +import { Duration } from 'luxon'; /** * @@ -212,6 +216,17 @@ function buildDefaultIdentityClient(options: RouterOptions): IdentityApi { }; } +const readDuration = ( + config: Config, + key: string, + defaultValue: HumanDuration, +) => { + if (config.has(key)) { + return readDurationFromConfig(config, { key }); + } + return defaultValue; +}; + /** * A method to create a router for the scaffolder backend plugin. * @public @@ -256,11 +271,21 @@ export async function createRouter( if (scheduler && databaseTaskStore.listStaleTasks) { await scheduler.scheduleTask({ id: 'close_stale_tasks', - frequency: { cron: '*/5 * * * *' }, // every 5 minutes, also supports Duration + frequency: readDuration( + config, + 'scaffolder.taskTimeoutJanitorFrequency', + { + minutes: 5, + }, + ), timeout: { minutes: 15 }, fn: async () => { const { tasks } = await databaseTaskStore.listStaleTasks({ - timeoutS: 86400, + timeoutS: Duration.fromObject( + readDuration(config, 'scaffolder.taskTimeout', { + hours: 24, + }), + ).as('seconds'), }); for (const task of tasks) { diff --git a/plugins/scaffolder-common/CHANGELOG.md b/plugins/scaffolder-common/CHANGELOG.md index f040d3c03e..ed63af5d36 100644 --- a/plugins/scaffolder-common/CHANGELOG.md +++ b/plugins/scaffolder-common/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-scaffolder-common +## 1.4.3 + +### Patch Changes + +- 2e0cef42ab: Add missing required property `type` in `Template.v1beta3.schema.json` schema +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- Updated dependencies + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/types@1.1.1 + ## 1.4.3-next.1 ### Patch Changes diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json index 7d69e8a91e..fc189b3a48 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-next.1", + "version": "1.4.3", "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 9ea5d7c3a5..323c8fb2a6 100644 --- a/plugins/scaffolder-node/CHANGELOG.md +++ b/plugins/scaffolder-node/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-scaffolder-node +## 0.2.8 + +### Patch Changes + +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.2.8-next.2 ### Patch Changes diff --git a/plugins/scaffolder-node/package.json b/plugins/scaffolder-node/package.json index 2e9a4956fa..84a8b4d480 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.8-next.2", + "version": "0.2.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/scaffolder-react/CHANGELOG.md b/plugins/scaffolder-react/CHANGELOG.md index 39193de200..748ba1a7bc 100644 --- a/plugins/scaffolder-react/CHANGELOG.md +++ b/plugins/scaffolder-react/CHANGELOG.md @@ -1,5 +1,41 @@ # @backstage/plugin-scaffolder-react +## 1.6.0 + +### Minor Changes + +- 3fdffbb699: Release design improvements for the `Scaffolder` plugin and support v5 of `@rjsf/*` libraries. + + This change should be non-breaking. If you're seeing typescript issues after migrating please [open an issue](https://github.com/backstage/backstage/issues/new/choose) + + The `next` versions like `createNextFieldExtension` and `NextScaffolderPage` have been promoted to the public interface under `createScaffolderFieldExtension` and `ScaffolderPage`, so any older imports which are no longer found will need updating from `@backstage/plugin-scaffolder/alpha` or `@backstage/plugin-scaffolder-react/alpha` will need to be imported from `@backstage/plugin-scaffolder` and `@backstage/plugin-scaffolder-react` respectively. + + The legacy versions are now available in `/alpha` under `createLegacyFieldExtension` and `LegacyScaffolderPage` if you're running into issues, but be aware that these will be removed in a next mainline release. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 171a99816b: Fixed `backstage:featureFlag` in `scaffolder/next` by sorting out `manifest.steps`. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons +- 62b5922916: Internal theme type updates +- dda56ae265: Preserve step's time execution for a non-running task. +- 76d07da66a: Make it possible to define control buttons text (Back, Create, Review) per template +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 1.6.0-next.2 ### Patch Changes diff --git a/plugins/scaffolder-react/alpha-api-report.md b/plugins/scaffolder-react/alpha-api-report.md index 3d9361bf18..615b54df84 100644 --- a/plugins/scaffolder-react/alpha-api-report.md +++ b/plugins/scaffolder-react/alpha-api-report.md @@ -290,6 +290,11 @@ export interface TemplateGroupsProps { templateFilter?: (entity: TemplateEntityV1beta3) => boolean; } +// @alpha +export const useFilteredSchemaProperties: ( + manifest: TemplateParameterSchema | undefined, +) => TemplateParameterSchema | undefined; + // @alpha export const useFormDataFromQuery: ( initialState?: Record, diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json index 68eed3f431..d8dcc6d39b 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.0-next.2", + "version": "1.6.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -60,10 +60,10 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^20.0.0", - "@rjsf/core": "5.13.0", - "@rjsf/material-ui": "5.13.0", - "@rjsf/utils": "5.13.0", - "@rjsf/validator-ajv8": "5.13.0", + "@rjsf/core": "5.13.6", + "@rjsf/material-ui": "5.13.6", + "@rjsf/utils": "5.13.6", + "@rjsf/validator-ajv8": "5.13.6", "@types/json-schema": "^7.0.9", "@types/react": "^16.13.1 || ^17.0.0", "classnames": "^2.2.6", diff --git a/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx b/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx index 653fe6e942..3f8fde748c 100644 --- a/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx +++ b/plugins/scaffolder-react/src/next/components/TaskSteps/StepTime.tsx @@ -31,6 +31,16 @@ export const StepTime = (props: { const [time, setTime] = useState(''); const { step } = props; + const getDelay = () => { + if (step.startedAt && step.endedAt && time) { + return null; + } + if (step.startedAt && step.endedAt) { + return 1; + } + return 1000; + }; + const calculate = useCallback(() => { if (!step.startedAt) { setTime(''); @@ -49,9 +59,8 @@ export const StepTime = (props: { setTime(humanizeDuration(formatted, { round: true })); }, [step.endedAt, step.startedAt]); - useMountEffect(() => calculate()); - - useInterval(() => !step.endedAt && calculate(), 1000); + useMountEffect(calculate); + useInterval(calculate, getDelay()); return {time}; }; diff --git a/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx b/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx index d783351eca..96f0d9d865 100644 --- a/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx +++ b/plugins/scaffolder-react/src/next/components/TaskSteps/TaskSteps.tsx @@ -59,7 +59,7 @@ export const TaskSteps = (props: TaskStepsProps) => { alternativeLabel variant="elevation" > - {props.steps.map((step, index) => { + {props.steps.map(step => { const isCompleted = step.status === 'completed'; const isFailed = step.status === 'failed'; const isActive = step.status === 'processing'; @@ -73,7 +73,7 @@ export const TaskSteps = (props: TaskStepsProps) => { }; return ( - + { style={{ marginLeft: '8px' }} entityRefs={ownedByRelations} defaultKind="Group" + hideIcons /> )} diff --git a/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx index b850c3bcfe..eba6aebf93 100644 --- a/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx +++ b/plugins/scaffolder-react/src/next/components/TemplateCategoryPicker/TemplateCategoryPicker.tsx @@ -65,7 +65,7 @@ export const TemplateCategoryPicker = () => { > Categories - multiple id="categories-picker" options={availableTypes} diff --git a/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx b/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx index e7c56378a7..c02f3c2757 100644 --- a/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx +++ b/plugins/scaffolder-react/src/next/components/Workflow/Workflow.tsx @@ -27,6 +27,8 @@ import { errorApiRef, useApi } from '@backstage/core-plugin-api'; import { useTemplateParameterSchema } from '../../hooks/useTemplateParameterSchema'; import { Stepper, type StepperProps } from '../Stepper/Stepper'; import { SecretsContextProvider } from '../../../secrets/SecretsContext'; + +import { useFilteredSchemaProperties } from '../../hooks/useFilteredSchemaProperties'; import { ReviewStepProps } from '@backstage/plugin-scaffolder-react'; const useStyles = makeStyles(() => ({ @@ -81,6 +83,8 @@ export const Workflow = (workflowProps: WorkflowProps): JSX.Element | null => { const { loading, manifest, error } = useTemplateParameterSchema(templateRef); + const sortedManifest = useFilteredSchemaProperties(manifest); + useEffect(() => { if (error) { errorApi.post(new Error(`Failed to load template, ${error}`)); @@ -94,19 +98,25 @@ export const Workflow = (workflowProps: WorkflowProps): JSX.Element | null => { return ( {loading && } - {manifest && ( + {sortedManifest && ( } noPadding titleTypographyProps={{ component: 'h2' }} > - + )} diff --git a/plugins/scaffolder-react/src/next/hooks/index.ts b/plugins/scaffolder-react/src/next/hooks/index.ts index ca8ce10eff..63f8cda4e9 100644 --- a/plugins/scaffolder-react/src/next/hooks/index.ts +++ b/plugins/scaffolder-react/src/next/hooks/index.ts @@ -19,3 +19,4 @@ export { type ParsedTemplateSchema, } from './useTemplateSchema'; export { useTemplateParameterSchema } from './useTemplateParameterSchema'; +export { useFilteredSchemaProperties } from './useFilteredSchemaProperties'; diff --git a/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.test.tsx b/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.test.tsx new file mode 100644 index 0000000000..3e568fa7bd --- /dev/null +++ b/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.test.tsx @@ -0,0 +1,232 @@ +/* + * 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 { renderHook } from '@testing-library/react'; +import { useFilteredSchemaProperties } from './useFilteredSchemaProperties'; +import { TemplateParameterSchema } from '../../types'; +import { TestApiProvider } from '@backstage/test-utils'; +import React from 'react'; +import { featureFlagsApiRef } from '@backstage/core-plugin-api'; + +const mockFeatureFlagApi = { + isActive: jest.fn(), +}; + +describe('useFilteredSchemaProperties', () => { + it('should return the same manifest if no feature flag is set', () => { + mockFeatureFlagApi.isActive.mockReturnValue(true); + + const manifest: TemplateParameterSchema = { + title: 'Test Action template', + description: 'scaffolder v1beta3 template demo', + steps: [ + { + title: 'Fill in some steps', + schema: { + type: 'object', + 'backstage:featureFlag': 'experimental-feature', + properties: { + name: { + description: 'Unique name of the component', + title: 'Name', + type: 'string', + 'ui:autofocus': true, + }, + }, + }, + }, + { + title: 'Choose a location', + schema: { + type: 'object', + properties: { + repoUrl: { + type: 'string', + title: 'Repository Location', + 'ui:field': 'RepoUrlPicker', + }, + }, + }, + }, + ], + }; + + const filteredManifest = renderHook( + () => useFilteredSchemaProperties(manifest), + { + wrapper: ({ children }) => ( + + {children} + + ), + }, + ); + + expect(filteredManifest.result.current).toEqual(manifest); + }); + + it('should hide individual fields from steps of template', () => { + mockFeatureFlagApi.isActive.mockReturnValue(false); + + const manifest: TemplateParameterSchema = { + title: 'Test Action template', + description: 'scaffolder v1beta3 template demo', + steps: [ + { + title: 'Fill in some steps', + schema: { + type: 'object', + properties: { + name: { + description: 'Unique name of the component', + title: 'Name', + type: 'string', + 'ui:autofocus': true, + }, + }, + }, + }, + { + title: 'Choose a location', + schema: { + type: 'object', + properties: { + repoUrl: { + type: 'string', + title: 'Repository Location', + 'ui:field': 'RepoUrlPicker', + 'backstage:featureFlag': 'experimental-feature', + }, + }, + }, + }, + ], + }; + + const filteredManifest = renderHook( + () => useFilteredSchemaProperties(manifest), + { + wrapper: ({ children }) => ( + + {children} + + ), + }, + ); + + const expectedManifest: TemplateParameterSchema = { + title: 'Test Action template', + description: 'scaffolder v1beta3 template demo', + steps: [ + { + title: 'Fill in some steps', + schema: { + type: 'object', + properties: { + name: { + description: 'Unique name of the component', + title: 'Name', + type: 'string', + 'ui:autofocus': true, + }, + }, + }, + }, + { + title: 'Choose a location', + schema: { + type: 'object', + properties: {}, + }, + }, + ], + }; + + expect(filteredManifest.result.current).toEqual(expectedManifest); + }); + + it('should hide "Fill in some steps" from steps of template', () => { + mockFeatureFlagApi.isActive.mockReturnValue(false); + + const manifest: TemplateParameterSchema = { + title: 'Test Action template', + description: 'scaffolder v1beta3 template demo', + steps: [ + { + title: 'Fill in some steps', + schema: { + type: 'object', + 'backstage:featureFlag': 'experimental-feature', + properties: { + name: { + description: 'Unique name of the component', + title: 'Name', + type: 'string', + 'ui:autofocus': true, + }, + }, + }, + }, + { + title: 'Choose a location', + schema: { + type: 'object', + properties: { + repoUrl: { + type: 'string', + title: 'Repository Location', + 'ui:field': 'RepoUrlPicker', + }, + }, + }, + }, + ], + }; + + const filteredManifest = renderHook( + () => useFilteredSchemaProperties(manifest), + { + wrapper: ({ children }) => ( + + {children} + + ), + }, + ); + + const expectedManifest: TemplateParameterSchema = { + title: 'Test Action template', + description: 'scaffolder v1beta3 template demo', + steps: [ + { + title: 'Choose a location', + schema: { + type: 'object', + properties: { + repoUrl: { + type: 'string', + title: 'Repository Location', + 'ui:field': 'RepoUrlPicker', + }, + }, + }, + }, + ], + }; + + expect(filteredManifest.result.current).toEqual(expectedManifest); + }); +}); diff --git a/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.ts b/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.ts new file mode 100644 index 0000000000..be6f581f87 --- /dev/null +++ b/plugins/scaffolder-react/src/next/hooks/useFilteredSchemaProperties.ts @@ -0,0 +1,76 @@ +/* + * 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 cloneDeep from 'lodash/cloneDeep'; +import { useApi, featureFlagsApiRef } from '@backstage/core-plugin-api'; +import { TemplateParameterSchema } from '@backstage/plugin-scaffolder-react'; + +/** + * Returns manifest of software templates with steps without a featureFlag tag. + * @alpha + */ + +export const useFilteredSchemaProperties = ( + manifest: TemplateParameterSchema | undefined, +): TemplateParameterSchema | undefined => { + const featureFlagKey = 'backstage:featureFlag'; + const featureFlagApi = useApi(featureFlagsApiRef); + + if (!manifest) { + return undefined; + } + + const filteredSteps = manifest?.steps + .filter(step => { + const featureFlag = step.schema[featureFlagKey]; + return ( + typeof featureFlag !== 'string' || featureFlagApi.isActive(featureFlag) + ); + }) + .map(step => { + const filteredStep = cloneDeep(step); + const removedPropertyKeys: Array = []; + if (filteredStep.schema.properties) { + filteredStep.schema.properties = Object.fromEntries( + Object.entries(filteredStep.schema.properties).filter( + ([key, value]) => { + if (value[featureFlagKey]) { + if (featureFlagApi.isActive(value[featureFlagKey])) { + return true; + } + + removedPropertyKeys.push(key); + return false; + } + return true; + }, + ), + ); + + // remove the feature flag property key from required if they are not active + filteredStep.schema.required = Array.isArray( + filteredStep.schema.required, + ) + ? filteredStep.schema.required?.filter( + r => !removedPropertyKeys.includes(r as string), + ) + : filteredStep.schema.required; + } + + return filteredStep; + }); + + return { ...manifest, steps: filteredSteps }; +}; diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md index 1bafc76774..c106b85991 100644 --- a/plugins/scaffolder/CHANGELOG.md +++ b/plugins/scaffolder/CHANGELOG.md @@ -1,5 +1,46 @@ # @backstage/plugin-scaffolder +## 1.16.0 + +### Minor Changes + +- f28c11743a: Add a possibility to use a formatter on a warning panel. Applied it for a scaffolder template +- 3fdffbb699: Release design improvements for the `Scaffolder` plugin and support v5 of `@rjsf/*` libraries. + + This change should be non-breaking. If you're seeing typescript issues after migrating please [open an issue](https://github.com/backstage/backstage/issues/new/choose) + + The `next` versions like `createNextFieldExtension` and `NextScaffolderPage` have been promoted to the public interface under `createScaffolderFieldExtension` and `ScaffolderPage`, so any older imports which are no longer found will need updating from `@backstage/plugin-scaffolder/alpha` or `@backstage/plugin-scaffolder-react/alpha` will need to be imported from `@backstage/plugin-scaffolder` and `@backstage/plugin-scaffolder-react` respectively. + + The legacy versions are now available in `/alpha` under `createLegacyFieldExtension` and `LegacyScaffolderPage` if you're running into issues, but be aware that these will be removed in a next mainline release. + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 69ee8d75f4: Remove `button` prop from used MaterialUI `MenuItem` component fixing incompatibility with MaterialUI v5. +- c838da0edd: Updated dependency `@rjsf/utils` to `5.13.6`. + Updated dependency `@rjsf/core` to `5.13.6`. + Updated dependency `@rjsf/material-ui` to `5.13.6`. + Updated dependency `@rjsf/validator-ajv8` to `5.13.6`. +- 26e4d916d5: Title and description in RepoUrlPicker are now correctly displayed. +- 69c14904b6: Use `EntityRefLinks` with `hideIcons` property to avoid double icons +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/plugin-scaffolder-common@1.4.3 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-permission-react@0.4.17 + - @backstage/plugin-scaffolder-react@1.6.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-client@1.4.6 + - @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.18 + ## 1.16.0-next.2 ### Minor Changes diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index 1b99086906..bb7e199ae0 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.0-next.2", + "version": "1.16.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -68,10 +68,10 @@ "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@react-hookz/web": "^20.0.0", - "@rjsf/core": "5.13.0", - "@rjsf/material-ui": "5.13.0", - "@rjsf/utils": "5.13.0", - "@rjsf/validator-ajv8": "5.13.0", + "@rjsf/core": "5.13.6", + "@rjsf/material-ui": "5.13.6", + "@rjsf/utils": "5.13.6", + "@rjsf/validator-ajv8": "5.13.6", "@types/react": "^16.13.1 || ^17.0.0", "@uiw/react-codemirror": "^4.9.3", "classnames": "^2.2.6", diff --git a/plugins/scaffolder/src/components/ListTasksPage/OwnerListPicker.tsx b/plugins/scaffolder/src/components/ListTasksPage/OwnerListPicker.tsx index ee383569ee..86384275a7 100644 --- a/plugins/scaffolder/src/components/ListTasksPage/OwnerListPicker.tsx +++ b/plugins/scaffolder/src/components/ListTasksPage/OwnerListPicker.tsx @@ -111,7 +111,6 @@ export const OwnerListPicker = (props: { {group.items.map(item => ( onSelectOwner(item.id as 'owned' | 'all')} diff --git a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx index 88ddef2b92..0eed8cde75 100644 --- a/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx +++ b/plugins/scaffolder/src/components/TemplateTypePicker/TemplateTypePicker.tsx @@ -65,7 +65,7 @@ export const TemplateTypePicker = () => { > Categories - id="categories-picker" multiple options={availableTypes} diff --git a/plugins/scaffolder/src/legacy/TemplateCard/TemplateCard.tsx b/plugins/scaffolder/src/legacy/TemplateCard/TemplateCard.tsx index d35636f507..b4e68318d0 100644 --- a/plugins/scaffolder/src/legacy/TemplateCard/TemplateCard.tsx +++ b/plugins/scaffolder/src/legacy/TemplateCard/TemplateCard.tsx @@ -243,7 +243,11 @@ export const TemplateCard = ({ template, deprecated }: TemplateCardProps) => { Owner - + { expect(analyticsApiMock.getEvents()).toHaveLength(0); }); - - it('Captures analytics events if enabled in app', async () => { - const analyticsApiMock = new MockAnalyticsApi(); - - const types = ['techdocs', 'software-catalog']; - - await renderWithEffects( - - - - - , - ); - - const textbox = screen.getByLabelText('Search'); - - let value = 'value'; - await user.type(textbox, value); - await waitFor(() => { - expect(analyticsApiMock.getEvents()).toHaveLength(1); - expect(textbox).toHaveValue(value); - expect(analyticsApiMock.getEvents()[0]).toEqual({ - action: 'search', - context: { - extension: 'SearchBar', - pluginId: 'search', - routeRef: 'unknown', - searchTypes: types.toString(), - }, - subject: value, - }); - }); - - value = 'new value'; - await user.clear(textbox); - - // make sure new term is captured - await user.type(textbox, value); - await waitFor(() => { - expect(analyticsApiMock.getEvents()).toHaveLength(2); - expect(textbox).toHaveValue(value); - expect(analyticsApiMock.getEvents()[1]).toEqual({ - action: 'search', - context: { - extension: 'SearchBar', - pluginId: 'search', - routeRef: 'unknown', - searchTypes: types.toString(), - }, - subject: value, - }); - }); - }); }); diff --git a/plugins/search-react/src/components/SearchBar/SearchBar.tsx b/plugins/search-react/src/components/SearchBar/SearchBar.tsx index d101efa669..534fefbd8c 100644 --- a/plugins/search-react/src/components/SearchBar/SearchBar.tsx +++ b/plugins/search-react/src/components/SearchBar/SearchBar.tsx @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { AnalyticsContext, configApiRef, @@ -36,7 +37,6 @@ import React, { import useDebounce from 'react-use/lib/useDebounce'; import { SearchContextProvider, useSearch } from '../../context'; -import { TrackSearch } from '../SearchTracker'; function withContext(Component: ComponentType) { return forwardRef((props, ref) => ( @@ -171,33 +171,29 @@ export const SearchBarBase: ForwardRefExoticComponent = ); return ( - - - + ); }), ); diff --git a/plugins/search-react/src/components/SearchTracker/SearchTracker.tsx b/plugins/search-react/src/components/SearchTracker/SearchTracker.tsx deleted file mode 100644 index 6cdfd205fc..0000000000 --- a/plugins/search-react/src/components/SearchTracker/SearchTracker.tsx +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React, { useEffect } from 'react'; -import { useAnalytics } from '@backstage/core-plugin-api'; -import { useSearch } from '../../context'; -import usePrevious from 'react-use/lib/usePrevious'; - -function useFallingEdge(next: boolean) { - const prev = usePrevious(next); - return prev && !next; -} - -/** - * Capture search event on term change. - */ -export const TrackSearch = ({ children }: { children: React.ReactChild }) => { - const analytics = useAnalytics(); - const { term, result } = useSearch(); - - const numberOfResults = result.value?.numberOfResults ?? undefined; - - // Stops the analtyics event from firing before the new search engine response is returned - const hasFinishedLoading = useFallingEdge(result.loading); - - useEffect(() => { - if (term && hasFinishedLoading) { - // Capture analytics search event with search term and numberOfResults (provided as value) - analytics.captureEvent('search', term, { - value: numberOfResults, - }); - } - }, [analytics, term, numberOfResults, hasFinishedLoading]); - - return <>{children}; -}; diff --git a/plugins/search-react/src/context/SearchContext.test.tsx b/plugins/search-react/src/context/SearchContext.test.tsx index f962bc1620..39a9f09ef4 100644 --- a/plugins/search-react/src/context/SearchContext.test.tsx +++ b/plugins/search-react/src/context/SearchContext.test.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { configApiRef } from '@backstage/core-plugin-api'; +import { analyticsApiRef, configApiRef } from '@backstage/core-plugin-api'; import { render, screen, @@ -32,7 +32,9 @@ import { import { searchApiRef } from '../api'; describe('SearchContext', () => { - const searchApiMock = { query: jest.fn() }; + const searchApiMock = { + query: jest.fn().mockResolvedValue({}), + } satisfies typeof searchApiRef.T; const wrapper = ({ children, initialState, config = {} }: any) => { const configApiMock = new MockConfigApi(config); @@ -57,10 +59,6 @@ describe('SearchContext', () => { }; beforeEach(() => { - searchApiMock.query.mockResolvedValue({}); - }); - - afterAll(() => { jest.resetAllMocks(); }); @@ -376,9 +374,9 @@ describe('SearchContext', () => { await waitFor(() => { expect(result.current).toEqual(expect.objectContaining(initialState)); + expect(result.current.fetchNextPage).toBeDefined(); }); - expect(result.current.fetchNextPage).toBeDefined(); expect(result.current.fetchPreviousPage).toBeUndefined(); await act(async () => { @@ -421,4 +419,64 @@ describe('SearchContext', () => { }); }); }); + + describe('analytics', () => { + it('captures analytics events if enabled in app', async () => { + const analyticsApiMock = { + captureEvent: jest.fn(), + } satisfies typeof analyticsApiRef.T; + + searchApiMock.query.mockResolvedValue({ + results: [], + numberOfResults: 3, + }); + + 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: 3, + 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 f6fe08e866..6ce18501d9 100644 --- a/plugins/search-react/src/context/SearchContext.tsx +++ b/plugins/search-react/src/context/SearchContext.tsx @@ -34,6 +34,7 @@ import { AnalyticsContext, useApi, configApiRef, + useAnalytics, } from '@backstage/core-plugin-api'; import { SearchResultSet } from '@backstage/plugin-search-common'; @@ -114,6 +115,7 @@ const useSearchContextValue = ( initialValue: SearchContextState = defaultInitialSearchState, ) => { const searchApi = useApi(searchApiRef); + const analytics = useAnalytics(); const [term, setTerm] = useState(initialValue.term); const [types, setTypes] = useState(initialValue.types); @@ -128,17 +130,21 @@ const useSearchContextValue = ( const prevTerm = usePrevious(term); const prevFilters = usePrevious(filters); - const result = useAsync( - () => - searchApi.query({ - term, - types, - filters, - pageLimit, - pageCursor, - }), - [term, types, filters, pageLimit, pageCursor], - ); + const result = useAsync(async () => { + const resultSet = await searchApi.query({ + term, + types, + filters, + pageLimit, + pageCursor, + }); + if (term && resultSet.numberOfResults !== undefined) { + analytics.captureEvent('search', term, { + value: resultSet.numberOfResults, + }); + } + return resultSet; + }, [term, types, filters, pageLimit, pageCursor]); const hasNextPage = !result.loading && !result.error && result.value?.nextPageCursor; diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index ca22cd230b..63b8750628 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,28 @@ # @backstage/plugin-search +## 1.4.2 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- fa11120050: Fixed incorrect plugin ID in `/alpha` export. +- 71c97e7d73: Minor internal code cleanup. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-search-common@1.2.8 + ## 1.4.2-next.2 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 1ddbc07a05..a856804a08 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.2-next.2", + "version": "1.4.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,6 +48,7 @@ "dependencies": { "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", diff --git a/plugins/search/src/alpha.tsx b/plugins/search/src/alpha.tsx index 14e7067dfa..ef11828c71 100644 --- a/plugins/search/src/alpha.tsx +++ b/plugins/search/src/alpha.tsx @@ -67,7 +67,7 @@ import { rootRouteRef } from './plugin'; import { SearchClient } from './apis'; import { SearchType } from './components/SearchType'; import { UrlUpdater } from './components/SearchPage/SearchPage'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; /** @alpha */ export const SearchApi = createApiExtension({ diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index 47f4db8982..0c57922efc 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-sentry +## 0.5.11 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.5.11-next.2 ### Patch Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 8752baf724..f423cdcb42 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.11-next.2", + "version": "0.5.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -64,7 +64,7 @@ "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", "@types/luxon": "^3.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index f54c0c6e51..6521481a82 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-shortcuts +## 0.3.16 + +### Patch Changes + +- 55725922a5: Ensure that shortcuts aren't duplicate-checked against themselves +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/types@1.1.1 + ## 0.3.16-next.2 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 5776687287..ebcfff07b1 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.16-next.2", + "version": "0.3.16", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/sonarqube-backend/CHANGELOG.md b/plugins/sonarqube-backend/CHANGELOG.md index 84123d2a5c..0248e8a5c0 100644 --- a/plugins/sonarqube-backend/CHANGELOG.md +++ b/plugins/sonarqube-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-sonarqube-backend +## 0.2.9 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.2.9-next.2 ### Patch Changes diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json index 6eab1b597d..b1f5ff09dc 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.9-next.2", + "version": "0.2.9", "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 5bdedc7354..08a6d8cb8b 100644 --- a/plugins/sonarqube-react/CHANGELOG.md +++ b/plugins/sonarqube-react/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-sonarqube-react +## 0.1.10 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-plugin-api@1.8.0 + - @backstage/catalog-model@1.4.3 + ## 0.1.10-next.0 ### Patch Changes diff --git a/plugins/sonarqube-react/package.json b/plugins/sonarqube-react/package.json index bfcd061497..5da357b655 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.10-next.0", + "version": "0.1.10", "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 39220e5a82..c91fc757ff 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-sonarqube +## 0.7.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 62b5922916: Internal theme type updates +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-sonarqube-react@0.1.10 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.7.8-next.2 ### Patch Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index 06eeeee30a..7d27fdfe83 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sonarqube", "description": "", - "version": "0.7.8-next.2", + "version": "0.7.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -46,7 +46,7 @@ "@material-ui/lab": "4.0.0-alpha.61", "@material-ui/styles": "^4.10.0", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "luxon": "^3.0.0", "rc-progress": "3.5.1", "react-use": "^17.2.4" diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 00fc4b93ba..fcf30d5d34 100644 --- a/plugins/splunk-on-call/CHANGELOG.md +++ b/plugins/splunk-on-call/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-splunk-on-call +## 0.4.15 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + ## 0.4.15-next.2 ### Patch Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index 225462339f..f4c8eb18c7 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.15-next.2", + "version": "0.4.15", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 20b30d1654..40dddfb5a2 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-stack-overflow-backend +## 0.2.11 + +### Patch Changes + +- b168d7e7ea: Deprecate package in favor of the new `@backstage/plugin-search-backend-module-stack-overflow-collator` module. + + The search collator `requestParams` option is optional now, so its default value is `{ order: 'desc', sort: 'activity', site: 'stackoverflow' }` as defined in the `Try It` section on the [official Stack Overflow API documentation](https://api.stackexchange.com/docs/questions). + +- Updated dependencies + - @backstage/plugin-search-backend-module-stack-overflow-collator@0.1.0 + - @backstage/backend-common@0.19.9 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + ## 0.2.11-next.2 ### Patch Changes diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index 38fd99212a..07cdecc6b7 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.11-next.2", + "version": "0.2.11", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/stack-overflow/CHANGELOG.md b/plugins/stack-overflow/CHANGELOG.md index c9246d8c74..18cd1632df 100644 --- a/plugins/stack-overflow/CHANGELOG.md +++ b/plugins/stack-overflow/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-stack-overflow +## 0.1.22 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- b168d7e7ea: Migrate package to the new Frontend system, the new module is distributed with a `/alpha` subpath. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-search-react@1.7.2 + - @backstage/plugin-home-react@0.1.5 + - @backstage/theme@0.4.4 + - @backstage/config@1.1.1 + - @backstage/plugin-search-common@1.2.8 + ## 0.1.22-next.2 ### Patch Changes diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json index f73574a37f..b32ff45338 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.22-next.2", + "version": "0.1.22", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -54,7 +54,7 @@ "@material-ui/icons": "^4.9.1", "@testing-library/jest-dom": "^6.0.0", "@types/react": "^16.13.1 || ^17.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "lodash": "^4.17.21", "qs": "^6.9.4", "react-use": "^17.2.4" diff --git a/plugins/stackstorm/CHANGELOG.md b/plugins/stackstorm/CHANGELOG.md index e6c61992a6..ea46e02af5 100644 --- a/plugins/stackstorm/CHANGELOG.md +++ b/plugins/stackstorm/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-stackstorm +## 0.1.8 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + ## 0.1.8-next.2 ### Patch Changes diff --git a/plugins/stackstorm/package.json b/plugins/stackstorm/package.json index 7fa01fbe2b..030ff0dd17 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.8-next.2", + "version": "0.1.8", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md index 0b0edf94e0..fa3c0ea158 100644 --- a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md +++ b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-tech-insights-backend-module-jsonfc +## 0.1.39 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @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.13 + ## 0.1.39-next.2 ### Patch Changes diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json index 858e5f7e63..03b425e326 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.39-next.2", + "version": "0.1.39", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md index d6a57cba49..a16c22a455 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-tech-insights-backend +## 0.5.21 + +### Patch Changes + +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 193ad022bb: Add `factRetrieverId` to the fact retriever's logger metadata. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-tasks@0.5.12 + - @backstage/catalog-client@1.4.6 + - @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-node@0.4.13 + ## 0.5.21-next.2 ### Patch Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index fbd62e5edf..c7872c36a0 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.21-next.2", + "version": "0.5.21", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-node/CHANGELOG.md b/plugins/tech-insights-node/CHANGELOG.md index 0a69408682..62171b8a37 100644 --- a/plugins/tech-insights-node/CHANGELOG.md +++ b/plugins/tech-insights-node/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-tech-insights-node +## 0.4.13 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.4.13-next.2 ### Patch Changes diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json index 0de5a3356a..fc1c3d7491 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.13-next.2", + "version": "0.4.13", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights/CHANGELOG.md b/plugins/tech-insights/CHANGELOG.md index 44b63eafee..44b6f4bf0a 100644 --- a/plugins/tech-insights/CHANGELOG.md +++ b/plugins/tech-insights/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-tech-insights +## 0.3.18 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + - @backstage/plugin-tech-insights-common@0.2.12 + ## 0.3.18-next.2 ### Patch Changes diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index bcd8431705..54b6a44612 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.18-next.2", + "version": "0.3.18", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 68baf5e73c..583e51de7d 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-tech-radar +## 0.6.10 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + ## 0.6.10-next.2 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index bf9ad3fbaa..a7d8a41e8e 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.10-next.2", + "version": "0.6.10", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -46,6 +46,7 @@ "start": "backstage-cli package start" }, "dependencies": { + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", @@ -74,7 +75,7 @@ "@testing-library/user-event": "^14.0.0", "@types/color": "^3.0.1", "@types/d3-force": "^3.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/tech-radar/src/alpha.tsx b/plugins/tech-radar/src/alpha.tsx index 78230c0337..f9a34e2158 100644 --- a/plugins/tech-radar/src/alpha.tsx +++ b/plugins/tech-radar/src/alpha.tsx @@ -24,7 +24,7 @@ import { import React from 'react'; import { techRadarApiRef } from './api'; import { SampleTechRadarApi } from './sample'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { rootRouteRef } from './plugin'; /** @alpha */ diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index 602488b644..7ac18d121a 100644 --- a/plugins/techdocs-addons-test-utils/CHANGELOG.md +++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-techdocs-addons-test-utils +## 1.0.23 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/plugin-catalog@1.15.0 + - @backstage/plugin-techdocs@1.9.0 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/core-app-api@1.11.1 + - @backstage/plugin-search-react@1.7.2 + - @backstage/test-utils@1.4.5 + - @backstage/theme@0.4.4 + ## 1.0.23-next.2 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 613ed0a020..a85e803ae5 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.23-next.2", + "version": "1.0.23", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index 6beb4dfb65..871dd55b8b 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,30 @@ # @backstage/plugin-techdocs-backend +## 1.9.0 + +### Minor Changes + +- 67cff7b06f: Expose an extension point to set a custom build strategy. Also move `DocsBuildStrategy` type to `@backstage/plugin-techdocs-node` and deprecate `ShouldBuildParameters` type. + +### Patch Changes + +- c3c5c7e514: Add info about the entity when tech docs fail to build +- 48a61bfdca: Fix potential memory leak by not creating a build log transport if not given via `RouterOptions`. +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- Updated dependencies + - @backstage/plugin-techdocs-node@1.10.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/plugin-search-backend-module-techdocs@0.1.11 + - @backstage/catalog-client@1.4.6 + - @backstage/plugin-permission-common@0.7.10 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-catalog-common@1.0.18 + - @backstage/plugin-search-common@1.2.8 + ## 1.9.0-next.2 ### Patch Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index d16d55b198..31221c856f 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.0-next.2", + "version": "1.9.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 47401b7b01..62c50dc90d 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.1.2 + +### Patch Changes + +- 4728b3960d: Fixed navigation bug that caused users to not be scrolled to the top of a new page. Fixed navigation bug where using backwards and forwards browser navigation did not scroll users to the correct place on the TechDoc page. +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/theme@0.4.4 + ## 1.1.2-next.2 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 5623b11f4a..d3fa7000e6 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.2-next.2", + "version": "1.1.2", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 927e7cf9c7..10a9538e63 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,25 @@ # @backstage/plugin-techdocs-node +## 1.10.0 + +### Minor Changes + +- 67cff7b06f: Expose an extension point to set a custom build strategy. Also move `DocsBuildStrategy` type to `@backstage/plugin-techdocs-node` and deprecate `ShouldBuildParameters` type. + +### Patch Changes + +- e61a975f61: Switch to `@smithy/node-http-handler` instead of the `@aws-sdk/node-http-handler` +- 3d043526f4: Updated dependency `aws-sdk-client-mock` to `^3.0.0`. +- Updated dependencies + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/integration-aws-node@0.1.8 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.8 + ## 1.10.0-next.2 ### Patch Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index abffb6c781..0fc5512e1b 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.10.0-next.2", + "version": "1.10.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -76,7 +76,7 @@ "@types/mime-types": "^2.1.0", "@types/recursive-readdir": "^2.2.0", "@types/supertest": "^2.0.8", - "aws-sdk-client-mock": "^2.0.0", + "aws-sdk-client-mock": "^3.0.0", "supertest": "^6.1.3" } } diff --git a/plugins/techdocs-node/src/stages/generate/helpers.test.ts b/plugins/techdocs-node/src/stages/generate/helpers.test.ts index 738bb6fc46..24d9b3effb 100644 --- a/plugins/techdocs-node/src/stages/generate/helpers.test.ts +++ b/plugins/techdocs-node/src/stages/generate/helpers.test.ts @@ -508,8 +508,9 @@ describe('helpers', () => { await createOrUpdateMetadata(filePath, mockLogger); const json = await fs.readJson(filePath); - expect(json.files[0]).toEqual(Object.keys(mockFiles)[0]); - expect(json.files[1]).toEqual(Object.keys(mockFiles)[1]); + expect(json.files).toEqual( + expect.arrayContaining(Object.keys(mockFiles)), + ); }); }); diff --git a/plugins/techdocs-node/src/stages/publish/azureBlobStorage.test.ts b/plugins/techdocs-node/src/stages/publish/azureBlobStorage.test.ts index cfb527715b..50e0863f3c 100644 --- a/plugins/techdocs-node/src/stages/publish/azureBlobStorage.test.ts +++ b/plugins/techdocs-node/src/stages/publish/azureBlobStorage.test.ts @@ -398,7 +398,7 @@ describe('AzureBlobStoragePublish', () => { expect(logger.error).toHaveBeenCalledWith( expect.stringContaining( - `Error: Upload failed for ${path.join( + `Upload failed for ${path.join( directory, '404.html', )} with status code 500`, diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index 9140d95972..21cdbed9d1 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-react +## 1.1.13 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/version-bridge@1.0.7 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + ## 1.1.13-next.2 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 38527300f7..6fba453755 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.13-next.2", + "version": "1.1.13", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 6eb725a86e..0a9e2c9a73 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,38 @@ # @backstage/plugin-techdocs +## 1.9.0 + +### Minor Changes + +- 17f93d5589: A new analytics event `not-found` will be published when a user visits a documentation site that does not exist + +### Patch Changes + +- 4728b3960d: Fixed navigation bug that caused users to not be scrolled to the top of a new page. Fixed navigation bug where using backwards and forwards browser navigation did not scroll users to the correct place on the TechDoc page. +- a3add7a682: Export alpha routes and nav item extension, only available for applications that uses the new Frontend system. +- 71c97e7d73: The `spec.lifecycle' field in entities will now always be rendered as a string. +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 0bf6ebda88: Added entity page content for the new plugin exported via `/alpha`. +- 67cc85bb14: Switched the conditional `react-dom/client` import to use `import(...)` rather than `require(...)`. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- 38cda52746: Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/integration@1.7.2 + - @backstage/integration-react@1.1.21 + - @backstage/core-plugin-api@1.8.0 + - @backstage/plugin-techdocs-react@1.1.13 + - @backstage/plugin-search-react@1.7.2 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + - @backstage/plugin-search-common@1.2.8 + ## 1.9.0-next.2 ### Minor Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 91d8f8959a..19f3883565 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.0-next.2", + "version": "1.9.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,6 +49,7 @@ "dependencies": { "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", @@ -91,7 +92,7 @@ "@types/dompurify": "^2.2.2", "@types/event-source-polyfill": "^1.0.0", "canvas": "^2.10.2", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/techdocs/src/alpha.tsx b/plugins/techdocs/src/alpha.tsx index ceb5f47364..533b4cb524 100644 --- a/plugins/techdocs/src/alpha.tsx +++ b/plugins/techdocs/src/alpha.tsx @@ -31,7 +31,7 @@ import { fetchApiRef, identityApiRef, } from '@backstage/core-plugin-api'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { techdocsApiRef, techdocsStorageApiRef, diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md index d066e4412c..8e9b55ea8c 100644 --- a/plugins/todo-backend/CHANGELOG.md +++ b/plugins/todo-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-todo-backend +## 0.3.5 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-node@1.5.0 + - @backstage/integration@1.7.2 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/catalog-client@1.4.6 + - @backstage/backend-openapi-utils@0.1.0 + - @backstage/catalog-model@1.4.3 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.3.5-next.2 ### Patch Changes diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json index ca85bef10d..3f50f67aa1 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.5-next.2", + "version": "0.3.5", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index 69b52a179c..dbe0bdc57b 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-todo +## 0.2.30 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.2.30-next.2 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index bfe845b9c4..d8b36a8290 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.30-next.2", + "version": "0.2.30", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md index dd9c2ecdc7..4650867420 100644 --- a/plugins/user-settings-backend/CHANGELOG.md +++ b/plugins/user-settings-backend/CHANGELOG.md @@ -1,5 +1,21 @@ # @backstage/plugin-user-settings-backend +## 0.2.6 + +### Patch Changes + +- dd0350379b: Added dependency on `@backstage/config` +- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support. +- 8613ba3928: Switched to using `"exports"` field for `/alpha` subpath export. +- Updated dependencies + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @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.1 + ## 0.2.6-next.2 ### Patch Changes diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 762b95cc36..051c118a5e 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.6-next.2", + "version": "0.2.6", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md index d8bfd0bf2c..ac60e8e4e4 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-user-settings +## 0.7.12 + +### Patch Changes + +- 68fc9dc60e: Updated alpha exports according to routing changes in `@backstage/frontend-plugin-api`. +- 6c2b872153: Add official support for React 18. +- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/frontend-plugin-api@0.3.0 + - @backstage/core-plugin-api@1.8.0 + - @backstage/core-app-api@1.11.1 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + - @backstage/types@1.1.1 + ## 0.7.12-next.2 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index 1b388169d4..4edb08dc4a 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.12-next.2", + "version": "0.7.12", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -47,6 +47,7 @@ }, "dependencies": { "@backstage/core-app-api": "workspace:^", + "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", "@backstage/core-plugin-api": "workspace:^", "@backstage/errors": "workspace:^", @@ -75,7 +76,7 @@ "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.0.0", - "cross-fetch": "^3.1.5", + "cross-fetch": "^4.0.0", "msw": "^1.0.0" }, "files": [ diff --git a/plugins/user-settings/src/alpha.tsx b/plugins/user-settings/src/alpha.tsx index 07cc8ce547..419ee2808d 100644 --- a/plugins/user-settings/src/alpha.tsx +++ b/plugins/user-settings/src/alpha.tsx @@ -19,7 +19,7 @@ import { createPageExtension, createPlugin, } from '@backstage/frontend-plugin-api'; -import { convertLegacyRouteRef } from '@backstage/core-plugin-api/alpha'; +import { convertLegacyRouteRef } from '@backstage/core-compat-api'; import { settingsRouteRef } from './plugin'; import React from 'react'; diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md index 06ce82839e..e124a89344 100644 --- a/plugins/vault-backend/CHANGELOG.md +++ b/plugins/vault-backend/CHANGELOG.md @@ -1,5 +1,49 @@ # @backstage/plugin-vault-backend +## 0.4.0 + +### Minor Changes + +- a873a32a1f: Added support for the [new backend system](https://backstage.io/docs/backend-system/). + + In your `packages/backend/src/index.ts` make the following changes: + + ```diff + import { createBackend } from '@backstage/backend-defaults'; + const backend = createBackend(); + // ... other feature additions + + backend.add(import('@backstage/plugin-vault-backend'); + backend.start(); + ``` + + If you use the new backend system, the token renewal task can be defined via configuration file: + + ```diff + vault: + baseUrl: + token: + schedule: + + frequency: ... + + timeout: ... + + # Other schedule options, such as scope or initialDelay + ``` + + If the `schedule` is omitted or set to `false` no token renewal task will be scheduled. + If the value of `schedule` is set to `true` the renew will be scheduled hourly (the default). + In other cases (like in the diff above), the defined schedule will be used. + + **DEPRECATIONS**: The interface `VaultApi` and the type `VaultSecret` are now deprecated. Import them from `@backstage/plugin-vault-node`. + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-vault-node@0.1.0 + - @backstage/backend-common@0.19.9 + - @backstage/backend-plugin-api@0.6.7 + - @backstage/backend-tasks@0.5.12 + - @backstage/config@1.1.1 + - @backstage/errors@1.2.3 + ## 0.4.0-next.2 ### Patch Changes diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json index 3213b5e32a..a5fdf10a72 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.0-next.2", + "version": "0.4.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/vault-node/CHANGELOG.md b/plugins/vault-node/CHANGELOG.md index 67d9ab502e..bea999183c 100644 --- a/plugins/vault-node/CHANGELOG.md +++ b/plugins/vault-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-vault-node +## 0.1.0 + +### Minor Changes + +- 7a41bcf2af: Initial version of the `plugin-vault-node`` package. It contains the extension point definitions + for the vault backend, as well as some types that will be deprecated in the backend plugin. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.6.7 + ## 0.1.0-next.2 ### Patch Changes diff --git a/plugins/vault-node/package.json b/plugins/vault-node/package.json index d371e14409..ecf96529a6 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.0-next.2", + "version": "0.1.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 d434cbbd60..e4292aa633 100644 --- a/plugins/vault/CHANGELOG.md +++ b/plugins/vault/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-vault +## 0.1.21 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency +- Updated dependencies + - @backstage/plugin-catalog-react@1.9.0 + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/catalog-model@1.4.3 + - @backstage/errors@1.2.3 + ## 0.1.21-next.2 ### Patch Changes diff --git a/plugins/vault/package.json b/plugins/vault/package.json index 3a49f9dd60..b36ad6d3fc 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.21-next.2", + "version": "0.1.21", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index 5f1fca4c0e..c2a0dda6c2 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-xcmetrics +## 0.2.45 + +### Patch Changes + +- 6c2b872153: Add official support for React 18. +- 62b5922916: Internal theme type updates +- Updated dependencies + - @backstage/core-components@0.13.8 + - @backstage/core-plugin-api@1.8.0 + - @backstage/theme@0.4.4 + - @backstage/errors@1.2.3 + ## 0.2.45-next.2 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index a5a9d0ef59..89667f0e31 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.45-next.2", + "version": "0.2.45", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/scripts/verify-links.js b/scripts/verify-links.js index b05dd5eead..f685af191b 100755 --- a/scripts/verify-links.js +++ b/scripts/verify-links.js @@ -168,6 +168,9 @@ async function findExternalDocsLinks(dir) { async function main() { process.chdir(projectRoot); + const isCI = Boolean(process.env.CI); + const hasReference = existsSync(resolvePath(projectRoot, 'docs/reference')); + const files = await listFiles('.'); const mdFiles = files.filter(f => f.endsWith('.md')); const badUrls = []; @@ -180,10 +183,19 @@ async function main() { badUrls.push(...badFileUrls); } + if (!hasReference) { + console.log( + "Skipping API reference link validation, no docs/reference/ dir. Reference docs can be built with 'yarn build:api-docs'", + ); + } + if (badUrls.length) { console.log(`Found ${badUrls.length} bad links within repo`); for (const { url, basePath, problem } of badUrls) { if (problem === 'missing') { + if (url.startsWith('../reference/') && !isCI && !hasReference) { + continue; + } console.error( `Unable to reach ${url} from root or microsite/static/, linked from ${basePath}`, ); diff --git a/storybook/yarn.lock b/storybook/yarn.lock index 4437a7e26f..e16eb422f2 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -11754,8 +11754,8 @@ __metadata: linkType: hard "webpack@npm:^5.73.0": - version: 5.88.2 - resolution: "webpack@npm:5.88.2" + version: 5.89.0 + resolution: "webpack@npm:5.89.0" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -11786,7 +11786,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 + checksum: 43fe0dbc30e168a685ef5a86759d5016a705f6563b39a240aa00826a80637d4a3deeb8062e709d6a4b05c63e796278244c84b04174704dc4a37bedb0f565c5ed languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index 2275999a25..0a5ad1d720 100644 --- a/yarn.lock +++ b/yarn.lock @@ -405,59 +405,78 @@ __metadata: languageName: node linkType: hard -"@asyncapi/avro-schema-parser@npm:^1.1.0": - version: 1.1.0 - resolution: "@asyncapi/avro-schema-parser@npm:1.1.0" +"@asyncapi/avro-schema-parser@npm:3.0.3": + version: 3.0.3 + resolution: "@asyncapi/avro-schema-parser@npm:3.0.3" dependencies: - avsc: ^5.7.3 - checksum: 31bb6285a49f255e809088164ac4638103b2ec3e761c9c85be116af8abd9fe429626ba79ba6b3899d3823a77216741d9d793841e600145f2956328f3ce45a0e0 + "@asyncapi/parser": ^2.1.0 + "@types/json-schema": ^7.0.11 + avsc: ^5.7.6 + checksum: 25c5388b2b661cb95d85d5175d3fb2eca5cda23dc01a36af61d8a351a8feb392586c2565577bbdcb29dd74b0b095d3841a70e8fbfeca18b1e5f75b75f31417c0 languageName: node linkType: hard -"@asyncapi/openapi-schema-parser@npm:^2.0.1": - version: 2.0.1 - resolution: "@asyncapi/openapi-schema-parser@npm:2.0.1" +"@asyncapi/openapi-schema-parser@npm:3.0.4": + version: 3.0.4 + resolution: "@asyncapi/openapi-schema-parser@npm:3.0.4" dependencies: - "@openapi-contrib/openapi-schema-to-json-schema": ^3.0.0 - checksum: 703662e20f93baed7bfafa1a8fe909c6d8df6404fbd86cf86276c736bcb5e5a54dd5b8a6d979aa27d9502fad1ea11f0d89c3e6f7ca57b67579efa9f5b8ca1759 + "@asyncapi/parser": ^2.1.0 + "@openapi-contrib/openapi-schema-to-json-schema": ~3.2.0 + ajv: ^8.11.0 + ajv-errors: ^3.0.0 + ajv-formats: ^2.1.1 + checksum: c18bc4c0b2bad9945d09972f62193fb97485693ac1850b63196d1b694743e59595874a855d05b1296d9cd61a9c361fbc94b2b636794ef4e8c51db4804d409bb3 languageName: node linkType: hard -"@asyncapi/parser@npm:^1.18.0": - version: 1.18.0 - resolution: "@asyncapi/parser@npm:1.18.0" +"@asyncapi/parser@npm:^2.1.0, @asyncapi/parser@npm:^2.1.1": + version: 2.1.1 + resolution: "@asyncapi/parser@npm:2.1.1" dependencies: - "@apidevtools/json-schema-ref-parser": ^9.0.6 - "@asyncapi/specs": ^4.1.0 - "@fmvilas/pseudo-yaml-ast": ^0.3.1 - ajv: ^6.10.1 - js-yaml: ^3.13.1 - json-to-ast: ^2.1.0 - lodash.clonedeep: ^4.5.0 - node-fetch: ^2.6.0 - tiny-merge-patch: ^0.1.2 - checksum: 7e08cae52990ce97299170faf99aaf27a8e2e02e6b03df28518d256f5687f394c26fd0a4aba235514ed4e3c2fd081a79321a489c20987ed22122afdb0b9ea0dd + "@asyncapi/specs": ^5.1.0 + "@openapi-contrib/openapi-schema-to-json-schema": ~3.2.0 + "@stoplight/json": ^3.20.2 + "@stoplight/json-ref-readers": ^1.2.2 + "@stoplight/json-ref-resolver": ^3.1.5 + "@stoplight/spectral-core": ^1.16.1 + "@stoplight/spectral-functions": ^1.7.2 + "@stoplight/spectral-parsers": ^1.0.2 + "@stoplight/spectral-ref-resolver": ^1.0.3 + "@stoplight/types": ^13.12.0 + "@types/json-schema": ^7.0.11 + "@types/urijs": ^1.19.19 + ajv: ^8.11.0 + ajv-errors: ^3.0.0 + ajv-formats: ^2.1.1 + avsc: ^5.7.5 + js-yaml: ^4.1.0 + jsonpath-plus: ^7.2.0 + node-fetch: 2.6.7 + ramldt2jsonschema: ^1.2.3 + webapi-parser: ^0.5.0 + checksum: 719e584b50616d4f50fbb387196e802be81dd1c9424fc7aea445158871734468ea95dd802e003b8788ceb7e2723c128a71413e231a8571553eba71ce859b6954 languageName: node linkType: hard -"@asyncapi/protobuf-schema-parser@npm:^1.0.0": - version: 1.0.0 - resolution: "@asyncapi/protobuf-schema-parser@npm:1.0.0" +"@asyncapi/protobuf-schema-parser@npm:3.0.0": + version: 3.0.0 + resolution: "@asyncapi/protobuf-schema-parser@npm:3.0.0" dependencies: - conventional-changelog-conventionalcommits: ^5.0.0 + "@asyncapi/parser": ^2.1.0 + "@types/protocol-buffers-schema": ^3.4.1 protocol-buffers-schema: ^3.6.0 - checksum: 0d7dfdf79bb698618701f2ace8f369d3d3b38d26015b6b4a01cab47f9587f88dd9f5042d6f796fa59044b114d801075d47d7216f28bba3c96823364ab5790b7d + checksum: a80bbc9bb5ef4e21d5eb0aa56f5aa1207afff482a72abcbf45faece6f295bdeaf81fff349aa1542ef4cf8674f1ff943e8bc29371b07154e615e097d80b15a7dd languageName: node linkType: hard -"@asyncapi/react-component@npm:1.0.0-next.48": - version: 1.0.0-next.48 - resolution: "@asyncapi/react-component@npm:1.0.0-next.48" +"@asyncapi/react-component@npm:1.1.0": + version: 1.1.0 + resolution: "@asyncapi/react-component@npm:1.1.0" dependencies: - "@asyncapi/avro-schema-parser": ^1.1.0 - "@asyncapi/openapi-schema-parser": ^2.0.1 - "@asyncapi/parser": ^1.18.0 - "@asyncapi/protobuf-schema-parser": ^1.0.0 + "@asyncapi/avro-schema-parser": 3.0.3 + "@asyncapi/openapi-schema-parser": 3.0.4 + "@asyncapi/parser": ^2.1.1 + "@asyncapi/protobuf-schema-parser": 3.0.0 highlight.js: ^10.7.2 isomorphic-dompurify: ^0.13.0 marked: ^4.0.14 @@ -466,7 +485,7 @@ __metadata: peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: e01c5ca294d708e6557b3e3ccbc83e46a0cb1ca36cc022aec26ff8c7372756df390993ba21f993cdba3b4a95aea644005d9f3531cd5ce066e4376ebf624b21f2 + checksum: 0c0841dc5d5da4aa3531b8b162f72dd278a9cd07a59838560161295ffe6245ffd83fc1a1a42e671146c0950cedc10af88822932a79f511e293b99b80ea22dd8c languageName: node linkType: hard @@ -479,6 +498,15 @@ __metadata: languageName: node linkType: hard +"@asyncapi/specs@npm:^5.1.0": + version: 5.1.0 + resolution: "@asyncapi/specs@npm:5.1.0" + dependencies: + "@types/json-schema": ^7.0.11 + checksum: a4ca804d028c8ecb4d6484de84633854e64ba32fb995caa413cb1388da1e4f2bce3b8c635cd3a9217f6f0c202b566498d09301cd825d6485014a7b510a5d3faf + languageName: node + linkType: hard + "@aws-crypto/crc32@npm:3.0.0": version: 3.0.0 resolution: "@aws-crypto/crc32@npm:3.0.0" @@ -582,481 +610,505 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-cognito-identity@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.433.0" +"@aws-sdk/client-cognito-identity@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.451.0" dependencies: "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: a31d0d1ac82937991f82fe15b632751a1c8792cf4fb9497c84553149bd179014e897be7714675095e8f04ab462bcfe18d9bc46ee47d46d0b92266a536a5b7fd6 + checksum: 8f0cf73420d4e053076c08cbb9b83bf87a12b06ce7dd4e4d00d848a2e1d32ca2ba47563c30b67bce754130c746ea282b4c64548be4b771baaf718cac19cbaa27 languageName: node linkType: hard "@aws-sdk/client-eks@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/client-eks@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/client-eks@npm:3.451.0" dependencies: "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 - "@smithy/util-waiter": ^2.0.12 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 + "@smithy/util-waiter": ^2.0.13 tslib: ^2.5.0 uuid: ^8.3.2 - checksum: c2b121afa0d4a8551f9638fd3b4ad1cb534435b8e0051243129a34cded19a530313e84358910b63d412428f5c55dc7eec810fd801a5f713ec267811f2736b538 + checksum: 836397db1c9b44bcab676a4ef2e219c11771a2d15aaea05e81b9cda6fd07e167e873bd56f23a641b1aeb45acc5c4e3e3f6fa5bb8b704dfa32151814b524ae824 languageName: node linkType: hard "@aws-sdk/client-organizations@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/client-organizations@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/client-organizations@npm:3.451.0" dependencies: "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: 838b60665b7f7f808cf7b901cdeaab611d285f640ddc69e563e9d0cc0911fe188308138f3f2f7b29762104dbd9d7fbdbb9f533ada2d79d0d023c29f5605319c8 + checksum: 52a328844e08f45e96cfe39caa538477a992a55a90ce2fb67f5f093f7ff0c3a75ed404c10127884694b238bfdaf25f3eabeb7f80257ca01054c926297d102c2b languageName: node linkType: hard "@aws-sdk/client-s3@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/client-s3@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/client-s3@npm:3.451.0" dependencies: "@aws-crypto/sha1-browser": 3.0.0 "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-bucket-endpoint": 3.433.0 - "@aws-sdk/middleware-expect-continue": 3.433.0 - "@aws-sdk/middleware-flexible-checksums": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-location-constraint": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-sdk-s3": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-ssec": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/signature-v4-multi-region": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-bucket-endpoint": 3.451.0 + "@aws-sdk/middleware-expect-continue": 3.451.0 + "@aws-sdk/middleware-flexible-checksums": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-location-constraint": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-sdk-s3": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-ssec": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/signature-v4-multi-region": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 "@aws-sdk/xml-builder": 3.310.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/eventstream-serde-browser": ^2.0.12 - "@smithy/eventstream-serde-config-resolver": ^2.0.12 - "@smithy/eventstream-serde-node": ^2.0.12 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-blob-browser": ^2.0.12 - "@smithy/hash-node": ^2.0.12 - "@smithy/hash-stream-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/md5-js": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/eventstream-serde-browser": ^2.0.13 + "@smithy/eventstream-serde-config-resolver": ^2.0.13 + "@smithy/eventstream-serde-node": ^2.0.13 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-blob-browser": ^2.0.14 + "@smithy/hash-node": ^2.0.15 + "@smithy/hash-stream-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/md5-js": ^2.0.15 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-stream": ^2.0.17 - "@smithy/util-utf8": ^2.0.0 - "@smithy/util-waiter": ^2.0.12 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-stream": ^2.0.20 + "@smithy/util-utf8": ^2.0.2 + "@smithy/util-waiter": ^2.0.13 fast-xml-parser: 4.2.5 tslib: ^2.5.0 - checksum: 0974b71e65ab8bef0229cd3c4ae896fd74596385231df1c5a3f884cfafbb1b2b8a4e570a1ef873323cb3f277807855555eeaa8fcd61ba96f7235c4f76bca94e1 + checksum: 0604486c6ebdd2bdcf61c63cd8d24177b4fe6d7468fa18e0c653457353d77ea5cf70ed307275534882b647bdbcb9e907dfcbca81ba3f4b2d55f07faa609fb921 languageName: node linkType: hard "@aws-sdk/client-sqs@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/client-sqs@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/client-sqs@npm:3.451.0" dependencies: "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-sdk-sqs": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/md5-js": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-sdk-sqs": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/md5-js": ^2.0.15 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 + tslib: ^2.5.0 + checksum: a5344775ab77f098acd00e10e956fb525d30c8d350b5ea60d609f8fc7a81bfd0f545be646a267f36c7d1d08eecd55ce6de46bfa16d45c5cda7d6f0b86ce65570 + languageName: node + linkType: hard + +"@aws-sdk/client-sso@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/client-sso@npm:3.451.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 + "@smithy/util-body-length-browser": ^2.0.0 + "@smithy/util-body-length-node": ^2.1.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 + tslib: ^2.5.0 + checksum: 5ab78bf7704acad673eb2f97b7c9873e4e045e8476f827fc5f6e6f46ca37674f04efc1e168cdc4b3b0c5be1e6ada8e1a76fb4963a7af48560423a60b855f6005 + languageName: node + linkType: hard + +"@aws-sdk/client-sts@npm:3.451.0, @aws-sdk/client-sts@npm:^3.350.0": + version: 3.451.0 + resolution: "@aws-sdk/client-sts@npm:3.451.0" + dependencies: + "@aws-crypto/sha256-browser": 3.0.0 + "@aws-crypto/sha256-js": 3.0.0 + "@aws-sdk/core": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-sdk-sts": 3.451.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 + "@smithy/util-body-length-browser": ^2.0.0 + "@smithy/util-body-length-node": ^2.1.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 fast-xml-parser: 4.2.5 tslib: ^2.5.0 - checksum: fa680ff42ad1d5b3d475882f3ce482348c38cfb41fd13b10fab178cfd7e96ee0e1558f3b2270eafb7379a5cf23d46209e8851fbb502e374bbe71014f9b4f9e92 + checksum: d5fc965400ddecfd466c82e88ee2c0d1d59c06980774ce4b0715ae13e8c522f1ad346aa04891b68d755a792477ed483411e3040875f156bdd160ae6fde511f07 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/client-sso@npm:3.433.0" +"@aws-sdk/core@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/core@npm:3.451.0" dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 - "@smithy/util-body-length-browser": ^2.0.0 - "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 + "@smithy/smithy-client": ^2.1.15 tslib: ^2.5.0 - checksum: c8cc2e0e691394e0b70dfb556f52546646da70d692209402ab44ef5cefb2f5a6cf819bf6fefd4f91d756c5a81d5d2a825f9dee9faadf8eb1a634940b34511bc6 + checksum: 20e36a0280ba6848222099eb30d3a09683563edf8eca48746529c9c2ae89dd7ab5d6a01ab05cd21b4bdd4f16117d41dc89e07d4d71f0abbcf50dcc5e85ef992d languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.433.0, @aws-sdk/client-sts@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/client-sts@npm:3.433.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.451.0" dependencies: - "@aws-crypto/sha256-browser": 3.0.0 - "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-sdk-sts": 3.433.0 - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/region-config-resolver": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 - "@smithy/util-body-length-browser": ^2.0.0 - "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 - fast-xml-parser: 4.2.5 - tslib: ^2.5.0 - checksum: 2c87fa62bf0491bef6ece8acb6fa496b329a77b9368dbf6187dc55192207c25570b8d5be5e01d62a8b5fd0776cb4a3c620ada2aa9819cf43d0c3dcde8c8f7427 - languageName: node - linkType: hard - -"@aws-sdk/credential-provider-cognito-identity@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.433.0" - dependencies: - "@aws-sdk/client-cognito-identity": 3.433.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/client-cognito-identity": 3.451.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: fc7f1810f004f780cd394ac20d1e20a01c7b1de09f84bf9bdfe69f868997b47cbee3e5142a8c672dfb7c7032d2fafbd4338b76bce95c50d521b5dbce95743d39 + checksum: f12a7d576364d379c813a93b020e97ee7ed606f0d20ca0134527b0b51c0f2389d23ca391d094a0dad142084acfa8a31ca5bab36d22534552cd5231cca8b7609b languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.433.0" +"@aws-sdk/credential-provider-env@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: bc8d2afb35245d1c4aea85d0a2fb56ab85b7a48ddf92d90fc7351c871e8fb90622d6662e066a0a0cf6f493a94f8aba24061f663450bafeec6a70cd6e6af07e29 + checksum: 20268e3d30317ab92cfce042fbaf751959d8da8e5669b822f8089df26bf5ea4972bab04eb0653fd903a4ab6c41118fae57f589a7e05fd3022e0154cb0cd71ed7 languageName: node linkType: hard -"@aws-sdk/credential-provider-http@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-http@npm:3.433.0" +"@aws-sdk/credential-provider-http@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/node-http-handler": ^2.1.8 + "@aws-sdk/types": 3.451.0 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/node-http-handler": ^2.1.9 "@smithy/property-provider": ^2.0.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/util-stream": ^2.0.20 tslib: ^2.5.0 - checksum: 3ccbc90394efe98a7767cde36a674fc3ce16063062516c5d6cf293cd99acfcc2f6751ffbebcbf971106e66e96bf1e26bc843803eccdebc0db77297c209b2f9b3 + checksum: 72d6c1487a24a95e765b665a0d2fb337fc86bb426f1fc999f7a2789a826302a649850791ec428eff13e250b4bf0e33f9d333dc3c34cfb15c83c863c254f601df languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.433.0" +"@aws-sdk/credential-provider-ini@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.451.0" dependencies: - "@aws-sdk/credential-provider-env": 3.433.0 - "@aws-sdk/credential-provider-process": 3.433.0 - "@aws-sdk/credential-provider-sso": 3.433.0 - "@aws-sdk/credential-provider-web-identity": 3.433.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/credential-provider-env": 3.451.0 + "@aws-sdk/credential-provider-process": 3.451.0 + "@aws-sdk/credential-provider-sso": 3.451.0 + "@aws-sdk/credential-provider-web-identity": 3.451.0 + "@aws-sdk/types": 3.451.0 "@smithy/credential-provider-imds": ^2.0.0 "@smithy/property-provider": ^2.0.0 "@smithy/shared-ini-file-loader": ^2.0.6 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: ce02cf8e0469f23a0573647a6d36e34b82c823b6f68c95b165762e60da1ea5bf05b0abcd42cbec4b3f67074480fe0670ba19b4fb615bc7d3d202a1161aade50c + checksum: 6d549724209f24c2e21fa88f318c7faaa9e2e58c854fcabc257b71cd2e6f849d38eaa932e16b44bf56c420183fd4ae804ac44c7584808af868ae7316fde2c3b1 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.433.0, @aws-sdk/credential-provider-node@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.433.0" +"@aws-sdk/credential-provider-node@npm:3.451.0, @aws-sdk/credential-provider-node@npm:^3.350.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.451.0" dependencies: - "@aws-sdk/credential-provider-env": 3.433.0 - "@aws-sdk/credential-provider-ini": 3.433.0 - "@aws-sdk/credential-provider-process": 3.433.0 - "@aws-sdk/credential-provider-sso": 3.433.0 - "@aws-sdk/credential-provider-web-identity": 3.433.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/credential-provider-env": 3.451.0 + "@aws-sdk/credential-provider-ini": 3.451.0 + "@aws-sdk/credential-provider-process": 3.451.0 + "@aws-sdk/credential-provider-sso": 3.451.0 + "@aws-sdk/credential-provider-web-identity": 3.451.0 + "@aws-sdk/types": 3.451.0 "@smithy/credential-provider-imds": ^2.0.0 "@smithy/property-provider": ^2.0.0 "@smithy/shared-ini-file-loader": ^2.0.6 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 30abdb886861d0b2874bb66fe0d31a66cd90a64c0aa545fa54ea99926128be0c52544b748ee1ba3fda3391e8d967dbe8bda01afdacb4b32e3776eb79c4ebf41e + checksum: 19dd93776250fd4e55a70daaca311f1f0bb27e5b195713e3f9d8e8431411e637c917a46bbd41dcf2044a93e0fdea02ebb238863f8c49684bf3e63aff928b5a6b languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.433.0" +"@aws-sdk/credential-provider-process@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 "@smithy/shared-ini-file-loader": ^2.0.6 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 42c04f294744a7d2b066b6a9e77f785eb391f49335963d25f87fb09d4b2d9a6acf78dfde7e3b4aca1bfca5eb6d799c557d5800846d8c055a27d5a047e023ba35 + checksum: 2c01b893d03f9a001bb970553bad14061e807445ec96002bb85d37445fa28403a5adbfc68036f01fc20d7c5310e88ccbcd96cd54d5ba9326640a18d6c96b93a2 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.433.0" +"@aws-sdk/credential-provider-sso@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.451.0" dependencies: - "@aws-sdk/client-sso": 3.433.0 - "@aws-sdk/token-providers": 3.433.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/client-sso": 3.451.0 + "@aws-sdk/token-providers": 3.451.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 "@smithy/shared-ini-file-loader": ^2.0.6 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: ec4c97402b03722e8c2fc1a6a648d576e04291edc0320908d5f3fb799731451b0aa6618d03edc50eb0e6dfabc529c1a80f723b76095d1bb1874236b643f34739 + checksum: 34483b4a213cac1f4859978319b38ef7f69a0d090de49a98d987486da2691a4cf5f474601ce338497d030156b1616a455a8d0bb79a4abbdbe8873a91e451ead2 languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.433.0" +"@aws-sdk/credential-provider-web-identity@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: a0a76fb939da1f3a221927a8d4707f9f554ab27649cecbe84fb8f99264009c88aa10cf13324013fc0efc62edd450d60fe39525d7b9715b95ef7ae14374ce82d3 + checksum: 2f677b9e4f727b6c24ed64d1ba23f524d8d136394dc62376db7b60acf57938a911d178bcdc33688a0cb17b5f55e2cc4aa455473a4393864568cacd202a50ce44 languageName: node linkType: hard "@aws-sdk/credential-providers@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/credential-providers@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/credential-providers@npm:3.451.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.433.0 - "@aws-sdk/client-sso": 3.433.0 - "@aws-sdk/client-sts": 3.433.0 - "@aws-sdk/credential-provider-cognito-identity": 3.433.0 - "@aws-sdk/credential-provider-env": 3.433.0 - "@aws-sdk/credential-provider-http": 3.433.0 - "@aws-sdk/credential-provider-ini": 3.433.0 - "@aws-sdk/credential-provider-node": 3.433.0 - "@aws-sdk/credential-provider-process": 3.433.0 - "@aws-sdk/credential-provider-sso": 3.433.0 - "@aws-sdk/credential-provider-web-identity": 3.433.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/client-cognito-identity": 3.451.0 + "@aws-sdk/client-sso": 3.451.0 + "@aws-sdk/client-sts": 3.451.0 + "@aws-sdk/credential-provider-cognito-identity": 3.451.0 + "@aws-sdk/credential-provider-env": 3.451.0 + "@aws-sdk/credential-provider-http": 3.451.0 + "@aws-sdk/credential-provider-ini": 3.451.0 + "@aws-sdk/credential-provider-node": 3.451.0 + "@aws-sdk/credential-provider-process": 3.451.0 + "@aws-sdk/credential-provider-sso": 3.451.0 + "@aws-sdk/credential-provider-web-identity": 3.451.0 + "@aws-sdk/types": 3.451.0 "@smithy/credential-provider-imds": ^2.0.0 "@smithy/property-provider": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: e2996cacdcc46aaa260c3549502f714dd4bcc7a0e2d757ee16258e119e58c4bc646c9ff7f303cfc52bf2a04976d463b51449aba82c7f25fe5a4f15264856be0e + checksum: a003392aaf26b285076f833508166c9b761b23493c72d2835c347202f78f6d0dd74ffb5eb028da25e604a69edd7fdd0579de729768a522e09af46f297689e9d3 languageName: node linkType: hard @@ -1082,34 +1134,34 @@ __metadata: linkType: hard "@aws-sdk/lib-storage@npm:^3.350.0": - version: 3.433.0 - resolution: "@aws-sdk/lib-storage@npm:3.433.0" + version: 3.451.0 + resolution: "@aws-sdk/lib-storage@npm:3.451.0" dependencies: "@smithy/abort-controller": ^2.0.1 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/smithy-client": ^2.1.12 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/smithy-client": ^2.1.15 buffer: 5.6.0 events: 3.3.0 stream-browserify: 3.0.0 tslib: ^2.5.0 peerDependencies: "@aws-sdk/client-s3": ^3.0.0 - checksum: 5b266063c14636bc43ab529afef073ce84ba6e6a5934a9a166b5ab5fa1dea43511947627477586972544f82be00a0e9aa771cf00364b49536186c077e1c6b37c + checksum: b05ed4cda2655f678f13a1a090b809d32fe4666d650547ef7a66a8f10f26ed0b10865d2b4b6bfa6a2fae285dc2b70c2a773ab01a125e60d038358901ff266c65 languageName: node linkType: hard -"@aws-sdk/middleware-bucket-endpoint@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.433.0" +"@aws-sdk/middleware-bucket-endpoint@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@aws-sdk/util-arn-parser": 3.310.0 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 "@smithy/util-config-provider": ^2.0.0 tslib: ^2.5.0 - checksum: ee9e3d93b680b53402d3a0c945dd7778c2c043f9d50d265074ced28f06b715548272e4fb3349c797454b9b95af96e33a379008590ec827b40de127f339892329 + checksum: 4fba4c2ca560fe9a482d59a374239b5c6bf63a9f49373b91d9b1ed3aced648f0198b7d3b82c14fa896ec5f465562871bf9c59c29ff2e3f94df88f4641ff2bf78 languageName: node linkType: hard @@ -1126,116 +1178,116 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-expect-continue@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-expect-continue@npm:3.433.0" +"@aws-sdk/middleware-expect-continue@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: dcf3b671f5db6e2bfaeceee711a47342025188ce86eacaade44694b16af35f63f5d0b3dac8c41553b30652c71347ecb219c072c2881a92148e0420a8e6553ddb + checksum: 3bfe5a1fc8f3e8baaec650aa085cb7a1c79d8d5af41bd940c005ba9c3c6d4feca2b65513d3494fe986276f43154e829f95ce1de4d852a741d7900cd95b864c1a languageName: node linkType: hard -"@aws-sdk/middleware-flexible-checksums@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.433.0" +"@aws-sdk/middleware-flexible-checksums@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.451.0" dependencies: "@aws-crypto/crc32": 3.0.0 "@aws-crypto/crc32c": 3.0.0 - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@smithy/is-array-buffer": ^2.0.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: 06e4925aa78645aa0b3c795f042dd12199cda5e13dd1571465d232e4557ab1cddd6cf329696a1269b85cc922a3686acae0fd5968444707b13a21966e0e5aa7fc + checksum: 24f69c68437899286c19e68caf417e263529190f4e663c8e886a032090452c9cbaa0d6d25887a65a7234edb9d2657f847b2ff589aec2341852d727a174c94cf2 languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.433.0" +"@aws-sdk/middleware-host-header@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: b9a2b1b8c1eceaad9db2c30a38007e131ea4d67b936b1cfa8727cc20ae9a3f95975e24c0d5267c77b05c8c8811bfb8ede83d9f8d4bb8eb9726f03c6e5f21345a + checksum: ba06894d88f5fdd06762de839e7542b1605c73474d7bf93e6b0b74a62e77c5f3f4dd612daaf76e9eff59447c95a73cfa69b29f9856f7282227eea31173db99ca languageName: node linkType: hard -"@aws-sdk/middleware-location-constraint@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-location-constraint@npm:3.433.0" +"@aws-sdk/middleware-location-constraint@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: c364e34a346c97bce551004aedf439ee8e175600f5b8ac2ef86e58263999b19d418ace1799f5beac6bd45302955823db9dc575c00f699c7177dd07510cebfb9b + checksum: d47ea96b28c429196352f2e99cbd5a3ab57726e0be0bfdb2d9ef7acb1e492a4a318f7c40e54bd14ce3b8d3f6f340e1fa89fcd5e3c62cf4e1f8edf08edd78b98b languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-logger@npm:3.433.0" +"@aws-sdk/middleware-logger@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-logger@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 4184122eb5e519e4be2f3e70b3b328488ec861e7e9f586e5589fc7395b759e1bf79a5657f96f3dc13d9b0dcf9a0f0040703ac78e0dc736407319ec6d05b01a64 + checksum: 34342389013ab83407c34eb58a5e162fb7b294050030f494a2b538e85492828a2719642365af1f7e5b89f847888fd936469c4bdb6843b81887edb89896b0a926 languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.433.0" +"@aws-sdk/middleware-recursion-detection@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 49ba0e4b87a911aa834ae4aa22d395258d4a6f1441c780f9f1356b4cb6bb023cecfb5d551f285f11c1968ee930804acf251c0e8b5fdcd9a8544e9177f1675812 + checksum: 70625b5c9e9f61d4c58a05a8aa616ec31c7bb23f45e8187fffe30003861fd3fe0bce96e6b120b4bb3937c0c66e04c96c8e024a4c42dd0524f0a0b6dc73b7e1d5 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-s3@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-sdk-s3@npm:3.433.0" +"@aws-sdk/middleware-sdk-s3@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@aws-sdk/util-arn-parser": 3.310.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 8d9d5d0b0ad552bf34b15ad510f8aa2257e40f1e0a356fe58ce69a1ee1d560bb94573f24e627384c1447d249f6ec17661887a6ff697217caf37f106b5e53d905 + checksum: e8ba5b5d5918223b4f76113dcfabf7f342880f0ef5a0ebae861f142f2d74748f1aadd47270d61c591e31ba88c52cfca0cf7ba992384b34271e13ca144edf48a6 languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.433.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 "@smithy/util-hex-encoding": ^2.0.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: 40ea48bb29851a0647dfd053b3f1d575cf322e523b31c78235307732d7275e6563b1296682323dede39c83387f76d58ecf413b2fc6152d8d77bd7b2dbd60ad0e + checksum: 4ef20e1ebffb3a2fe6ddc77a5ca18203ef405e71f77b3167cbee8241e5ff77be08d3ca43fb25c3582454ddc53d42b44f38c6942c95d706ac4c4f6111d062910a languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sts@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-sdk-sts@npm:3.433.0" +"@aws-sdk/middleware-sdk-sts@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-sdk-sts@npm:3.451.0" dependencies: - "@aws-sdk/middleware-signing": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/middleware-signing": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 116b8c1bff74828cbbae69e84c380c0643c45a7b66ea57731f68aa618b189af01a43931c0a82b2a20f67bc8dd7cec1228ebd65c87e620b06a9b5b3c0673d77a3 + checksum: 8aef507f62ffc342bbf70f3ecb24e96d286526aa23040a13a1f4761059b1a57f3d2bed9b14caef0bde53dd440584ef9fea6947ff18cfdae7498b028beefa9ec5 languageName: node linkType: hard @@ -1249,42 +1301,42 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-signing@npm:3.433.0" +"@aws-sdk/middleware-signing@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-signing@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 "@smithy/property-provider": ^2.0.0 - "@smithy/protocol-http": ^3.0.8 + "@smithy/protocol-http": ^3.0.9 "@smithy/signature-v4": ^2.0.0 - "@smithy/types": ^2.4.0 - "@smithy/util-middleware": ^2.0.5 + "@smithy/types": ^2.5.0 + "@smithy/util-middleware": ^2.0.6 tslib: ^2.5.0 - checksum: a55defd93fa78e613df223668807c314d6c30e299859743c7ffac94da0340703ff93eccf3940cb216add60c475f6334ccbddb484e322c88416111e0e3aef19b5 + checksum: 6a2900bdad76733fec5155af97f9f2b3448451bf15357d0dfbc35f646a321120dc6b5d5e3c5690b0bfc5294044c139ce28b3a07c149f33dd9572399f5ae0999d languageName: node linkType: hard -"@aws-sdk/middleware-ssec@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-ssec@npm:3.433.0" +"@aws-sdk/middleware-ssec@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: e1e1c631686f4a89cf02520361533a007d98a3c9faa868d1462bf8b287e77fd86da896dc7610be37cf8cd66fa672280035dc2169fa15ce1a8debb28fff3cb949 + checksum: f9666c4aba9085eb6257e49636e0d4eae61ce9be1411965cb2212a0ce1bf63f89365db5b4710a9154e1001dba8ac0be09a46d6e38c13f6b9dc2b73b8a4efdce4 languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.433.0" +"@aws-sdk/middleware-user-agent@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 91d31db0f9ae660077142c407f1c833f8dffec7cbfd1538cd2af7bfeeb9f6bc7f3563381f975cae3e38d05d3f613fbe0c165625030241e8561d1feab01c3affe + checksum: d547fb999a6f657d8806165102b57a082a4e5464666c928148292e233be38a53209c1b9a39eac7e0c403a77e0336159b9a72e89daad86365306421058b0c4f92 languageName: node linkType: hard @@ -1332,29 +1384,29 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/region-config-resolver@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/region-config-resolver@npm:3.433.0" +"@aws-sdk/region-config-resolver@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.451.0" dependencies: - "@smithy/node-config-provider": ^2.1.3 - "@smithy/types": ^2.4.0 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/types": ^2.5.0 "@smithy/util-config-provider": ^2.0.0 - "@smithy/util-middleware": ^2.0.5 + "@smithy/util-middleware": ^2.0.6 tslib: ^2.5.0 - checksum: 80a80707c2c991c16e6a52bde426704337b119d89cdedd70af72a7c52d2ee285a6cdcd355e45cb630e6d2dc3a7f57749b3276b9fff851d57c57916ef5ee2616f + checksum: df1e324d873399ff022b29a0a7d03e840aadbb0a42fad0f7f1a11f041d5f37319ecefc58038d62eff998e627b07752c96ab5879b2a34ebd088e45fc9c7a12303 languageName: node linkType: hard -"@aws-sdk/signature-v4-multi-region@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/signature-v4-multi-region@npm:3.433.0" +"@aws-sdk/signature-v4-multi-region@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/protocol-http": ^3.0.8 + "@aws-sdk/types": 3.451.0 + "@smithy/protocol-http": ^3.0.9 "@smithy/signature-v4": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 7bd0d911d16385dd47792421b2a1a19284f121faf6b3fa3b400d6959d11888dbefab6994d3fb2efca85d4cae257a80142579352e7d2a0ae6f487c98c0369efc3 + checksum: d0c9e434e28c4c06a78d6d12ebe0067bf4d299b73e106ef336dd730a63941dcdb443147a998603c0f64ec8a1a9f53c0b8ad7f0e67fe36959c154c1dcf664a485 languageName: node linkType: hard @@ -1374,46 +1426,48 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/token-providers@npm:3.433.0" +"@aws-sdk/token-providers@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/token-providers@npm:3.451.0" dependencies: "@aws-crypto/sha256-browser": 3.0.0 "@aws-crypto/sha256-js": 3.0.0 - "@aws-sdk/middleware-host-header": 3.433.0 - "@aws-sdk/middleware-logger": 3.433.0 - "@aws-sdk/middleware-recursion-detection": 3.433.0 - "@aws-sdk/middleware-user-agent": 3.433.0 - "@aws-sdk/types": 3.433.0 - "@aws-sdk/util-endpoints": 3.433.0 - "@aws-sdk/util-user-agent-browser": 3.433.0 - "@aws-sdk/util-user-agent-node": 3.433.0 - "@smithy/config-resolver": ^2.0.16 - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/hash-node": ^2.0.12 - "@smithy/invalid-dependency": ^2.0.12 - "@smithy/middleware-content-length": ^2.0.14 - "@smithy/middleware-endpoint": ^2.1.3 - "@smithy/middleware-retry": ^2.0.18 - "@smithy/middleware-serde": ^2.0.12 - "@smithy/middleware-stack": ^2.0.6 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/node-http-handler": ^2.1.8 + "@aws-sdk/middleware-host-header": 3.451.0 + "@aws-sdk/middleware-logger": 3.451.0 + "@aws-sdk/middleware-recursion-detection": 3.451.0 + "@aws-sdk/middleware-user-agent": 3.451.0 + "@aws-sdk/region-config-resolver": 3.451.0 + "@aws-sdk/types": 3.451.0 + "@aws-sdk/util-endpoints": 3.451.0 + "@aws-sdk/util-user-agent-browser": 3.451.0 + "@aws-sdk/util-user-agent-node": 3.451.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/hash-node": ^2.0.15 + "@smithy/invalid-dependency": ^2.0.13 + "@smithy/middleware-content-length": ^2.0.15 + "@smithy/middleware-endpoint": ^2.2.0 + "@smithy/middleware-retry": ^2.0.20 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/node-http-handler": ^2.1.9 "@smithy/property-provider": ^2.0.0 - "@smithy/protocol-http": ^3.0.8 + "@smithy/protocol-http": ^3.0.9 "@smithy/shared-ini-file-loader": ^2.0.6 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-base64": ^2.0.0 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-base64": ^2.0.1 "@smithy/util-body-length-browser": ^2.0.0 "@smithy/util-body-length-node": ^2.1.0 - "@smithy/util-defaults-mode-browser": ^2.0.16 - "@smithy/util-defaults-mode-node": ^2.0.21 - "@smithy/util-retry": ^2.0.5 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-defaults-mode-browser": ^2.0.19 + "@smithy/util-defaults-mode-node": ^2.0.25 + "@smithy/util-endpoints": ^1.0.4 + "@smithy/util-retry": ^2.0.6 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: 1ac166b74249080f856a679c44244e758c333bd3325c4e6ead9e3b9638a531eed79ce561247de364372caf840788922cb633cb4f646cd4d333193544ec15ffc8 + checksum: 1c2d3927e33eedcfc0482744f065c44f632d13fb7a03152dd4d5b04546ab06fed6373f2e8432caf332c0ab93ac9a64bf88cc5071702f6f1adacc8aed53ed3e3b languageName: node linkType: hard @@ -1427,13 +1481,13 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/types@npm:3.433.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.347.0": - version: 3.433.0 - resolution: "@aws-sdk/types@npm:3.433.0" +"@aws-sdk/types@npm:3.451.0, @aws-sdk/types@npm:^3.222.0, @aws-sdk/types@npm:^3.347.0": + version: 3.451.0 + resolution: "@aws-sdk/types@npm:3.451.0" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: f7460897bee2835b06cd957853b17eb4eb4fe1e7f66f6ca97e2fc0c642ff7093011d73cbde64f097cdcc462f1f72c3e0980472c716eefd656c61dac95e7e060d + checksum: 0f66eccf707ece1f21af6c8099a6b13191a119f48dacebd8794d74263628b95dcf0bfa479493ec1774c902fe7bb8867cfcbd1cf7d908653fe0e0759168970d19 languageName: node linkType: hard @@ -1467,13 +1521,14 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-endpoints@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/util-endpoints@npm:3.433.0" +"@aws-sdk/util-endpoints@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/util-endpoints@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 + "@aws-sdk/types": 3.451.0 + "@smithy/util-endpoints": ^1.0.4 tslib: ^2.5.0 - checksum: 0a688f1a21fe83ce1aa69e87e2f56190cabfa721bbb3d1e45bc698cbbae0a4a22c523cf1c1ac5c6c4a63a2a957b3df928ef2ac9d583cbd276341b3d36e21c672 + checksum: ebb558cadb896754f2f0078b31720441bf8d8f4735372950a00c677b2db1a9076a3aefa3c14148e39708b593f148a12930e1b29ecce6e4ed653ea10ab26f3c80 languageName: node linkType: hard @@ -1525,32 +1580,32 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.433.0" +"@aws-sdk/util-user-agent-browser@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/types": ^2.5.0 bowser: ^2.11.0 tslib: ^2.5.0 - checksum: ca762fdf65f0b17832dd6f9d1e48e3c57d54cb79e1ae26fa882a7c13cae2e14b138ec07d4ef766b40c17ec558f1cfd9c1d9ecf9ccb369472abdef79adc1e3189 + checksum: 83e6a74aca3575b385db09787021bbd40589afdff0fcad1d4ea33c7a4711f3147d61fa6465a629838d8d093609d43097bedb4bfc6e12e3695179f4c244b691e3 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.433.0": - version: 3.433.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.433.0" +"@aws-sdk/util-user-agent-node@npm:3.451.0": + version: 3.451.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.451.0" dependencies: - "@aws-sdk/types": 3.433.0 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/types": ^2.4.0 + "@aws-sdk/types": 3.451.0 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: dcf49bbbeec20eeb2f95d0b187b967d0d44ba39c82aa517a81784bae2abc7bf4749c7427285f4cefa4097546fa7dea39490b3fc8d29b34d575446073c0e9f7a1 + checksum: 94ccacf05776b558f965d8081602435565be59a62e0ec61946a49c2519f742ae2552df407b9ba9b37d8cbac1ef8ea5538bb72c96bc1e1c55ab9ecb6be187fe67 languageName: node linkType: hard @@ -1724,37 +1779,35 @@ __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": - version: 1.4.0 - resolution: "@azure/core-util@npm:1.4.0" +"@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.6.1": + version: 1.6.1 + resolution: "@azure/core-util@npm:1.6.1" dependencies: "@azure/abort-controller": ^1.0.0 tslib: ^2.2.0 - checksum: a6f66d8b162a10c5a012f039cff1d786055e06e20aced07ad2574e5caa1956a3d88c7a2815b0a6f82e3514eb936374db075f91236b3435cea2b4c9cf5ccec7ed + checksum: 1f8cd130993f161c98925070af863510cbcc79e0471864e4b16852afc2ee7413c9c7fabe72f20f3e521ee75c3cd7e3085661fdc8d5d0a643a6e1b1b7bf691ddd languageName: node linkType: hard "@azure/identity@npm:^3.2.1": - version: 3.3.2 - resolution: "@azure/identity@npm:3.3.2" + 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.0.0 + "@azure/core-util": ^1.6.1 "@azure/logger": ^1.0.0 - "@azure/msal-browser": ^2.37.1 - "@azure/msal-common": ^13.1.0 - "@azure/msal-node": ^1.17.3 + "@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 - uuid: ^8.3.0 - checksum: 53a650dc6f73fb35137fd4e35f6db8b04bb77b3b8598f4fa5cc145e79ba1c28258bea535fb0af7f09d7fec4b44bbda0a1a3a2b593c6d8e576e23022617c8611e + checksum: dedb09a5073503fda3e5bf23a76e4839627ee6724967e2a26fd536322c3907e19ff04bf9c3ad2716a4eecc2f602e03be3be1230271a572fc3f44879c737014c4 languageName: node linkType: hard @@ -1794,36 +1847,36 @@ __metadata: languageName: node linkType: hard -"@azure/msal-browser@npm:^2.37.1": - version: 2.37.1 - resolution: "@azure/msal-browser@npm:2.37.1" +"@azure/msal-browser@npm:^3.5.0": + version: 3.5.0 + resolution: "@azure/msal-browser@npm:3.5.0" dependencies: - "@azure/msal-common": 13.1.0 - checksum: 920b892bcdbc10f5e736e87363cb5964e48e8dcaf20f777f634308a5bc25550a7b02f62e826c1e3b50212e47e14435f9c3a4f72befc955392f0c4327e62518d0 + "@azure/msal-common": 14.4.0 + checksum: 876e5d5ac4fc638acc18faa2cea269b595963df5806482b858f3ec72b2cff3e2b4cb47fa1e0f7ace04dd66b0544e4471f04de299a551975bdb74f111fc65af34 languageName: node linkType: hard -"@azure/msal-common@npm:13.1.0, @azure/msal-common@npm:^13.1.0": - version: 13.1.0 - resolution: "@azure/msal-common@npm:13.1.0" - checksum: db21145f824f02f63a10fa7e1a356445e0c9e945bb1685a964416f1788a89fca165302d990cdfffb7e794b92dac1c90e4934ed018e92056682f863b0eec82587 +"@azure/msal-common@npm:14.4.0": + version: 14.4.0 + resolution: "@azure/msal-common@npm:14.4.0" + checksum: 63c63fac0915b4dbd026add260e2527138a02ba6f9ccd8d92d2641fc3e2b5d59c6943415d470e40af2f34c55e77ccfc2d3f90e8a2befc1eeae3a9896ec65ade8 languageName: node linkType: hard -"@azure/msal-node@npm:^1.17.3": - version: 1.17.3 - resolution: "@azure/msal-node@npm:1.17.3" +"@azure/msal-node@npm:^2.5.1": + version: 2.5.1 + resolution: "@azure/msal-node@npm:2.5.1" dependencies: - "@azure/msal-common": 13.1.0 + "@azure/msal-common": 14.4.0 jsonwebtoken: ^9.0.0 uuid: ^8.3.0 - checksum: 6afc815116196e481dd7f2c142b9935dce1fa2b225c87c5e3615d83ecc00e4ff65295f512a9b03349a71c8cf19d6c25e0551dd33a55a4550f77dfa98ccbbc0fd + checksum: f2e5cfbfeea010e88885d19d1fca22aa70fbdc488ec58e8c76b8da8a632be002ffacddd54671c7e58162bce3f5f1ddfcb440c330ddd627aa74134b6a81d1753e languageName: node linkType: hard "@azure/storage-blob@npm:^12.5.0": - version: 12.16.0 - resolution: "@azure/storage-blob@npm:12.16.0" + version: 12.17.0 + resolution: "@azure/storage-blob@npm:12.17.0" dependencies: "@azure/abort-controller": ^1.0.0 "@azure/core-http": ^3.0.0 @@ -1833,7 +1886,7 @@ __metadata: "@azure/logger": ^1.0.0 events: ^3.0.0 tslib: ^2.2.0 - checksum: c69a726afc7fa647e6bc6eb2b2863ed94088246a959f5e8f2b3fdd0f613846cb5eec7e991f2b50dd3ba88cd0b32e60da1e3d87eeeb5dbc692df4f61a3c507491 + checksum: 2e5d3f26577f698498bba7ff7b7cfeb942709a713d9c72864b80633bee28e2b369370afc55f18e49ccc02b4dad9d1de3a4602caa99dce1f8d8196c8472a8add1 languageName: node linkType: hard @@ -1863,38 +1916,38 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.13.16, @babel/core@npm:^7.14.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/core@npm:7.23.2" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.14.0, @babel/core@npm:^7.19.6, @babel/core@npm:^7.23.0, @babel/core@npm:^7.23.2": + version: 7.23.3 + resolution: "@babel/core@npm:7.23.3" dependencies: "@ampproject/remapping": ^2.2.0 "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 + "@babel/generator": ^7.23.3 "@babel/helper-compilation-targets": ^7.22.15 - "@babel/helper-module-transforms": ^7.23.0 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helpers": ^7.23.2 - "@babel/parser": ^7.23.0 + "@babel/parser": ^7.23.3 "@babel/template": ^7.22.15 - "@babel/traverse": ^7.23.2 - "@babel/types": ^7.23.0 + "@babel/traverse": ^7.23.3 + "@babel/types": ^7.23.3 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: 003897718ded16f3b75632d63cd49486bf67ff206cc7ebd1a10d49e2456f8d45740910d5ec7e42e3faf0deec7a2e96b1a02e766d19a67a8309053f0d4e57c0fe + checksum: d306c1fa68972f4e085e9e7ad165aee80eb801ef331f6f07808c86309f03534d638b82ad00a3bc08f4d3de4860ccd38512b2790a39e6acc2caf9ea21e526afe7 languageName: node linkType: hard -"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.23.0, @babel/generator@npm:^7.7.2": - version: 7.23.0 - resolution: "@babel/generator@npm:7.23.0" +"@babel/generator@npm:^7.14.0, @babel/generator@npm:^7.18.13, @babel/generator@npm:^7.23.3, @babel/generator@npm:^7.7.2": + version: 7.23.3 + resolution: "@babel/generator@npm:7.23.3" dependencies: - "@babel/types": ^7.23.0 + "@babel/types": ^7.23.3 "@jridgewell/gen-mapping": ^0.3.2 "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 8efe24adad34300f1f8ea2add420b28171a646edc70f2a1b3e1683842f23b8b7ffa7e35ef0119294e1901f45bfea5b3dc70abe1f10a1917ccdfb41bed69be5f1 + checksum: b6e71cca852d4e1aa01a28a30b8c74ffc3b8d56ccb7ae3ee783028ee015f63ad861a2e386c3eb490a9a8634db485a503a33521680f4af510151e90346c46da17 languageName: node linkType: hard @@ -1929,14 +1982,14 @@ __metadata: languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.5": - version: 7.22.11 - resolution: "@babel/helper-create-class-features-plugin@npm:7.22.11" +"@babel/helper-create-class-features-plugin@npm:^7.18.6, @babel/helper-create-class-features-plugin@npm:^7.22.11, @babel/helper-create-class-features-plugin@npm:^7.22.15, @babel/helper-create-class-features-plugin@npm:^7.22.5": + version: 7.22.15 + resolution: "@babel/helper-create-class-features-plugin@npm:7.22.15" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 "@babel/helper-environment-visitor": ^7.22.5 "@babel/helper-function-name": ^7.22.5 - "@babel/helper-member-expression-to-functions": ^7.22.5 + "@babel/helper-member-expression-to-functions": ^7.22.15 "@babel/helper-optimise-call-expression": ^7.22.5 "@babel/helper-replace-supers": ^7.22.9 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 @@ -1944,7 +1997,7 @@ __metadata: semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: b7aeb22e29aba5327616328576363522b3b186918faeda605e300822af4a5f29416eb34b5bd825d07ab496550e271d02d7634f0022a62b5b8cbf0eb6389bc3fa + checksum: 52c500d8d164abb3a360b1b7c4b8fff77bc4a5920d3a2b41ae6e1d30617b0dc0b972c1f5db35b1752007e04a748908b4a99bc872b73549ae837e87dcdde005a3 languageName: node linkType: hard @@ -2002,12 +2055,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-member-expression-to-functions@npm:7.22.5" +"@babel/helper-member-expression-to-functions@npm:^7.22.15, @babel/helper-member-expression-to-functions@npm:^7.22.5": + version: 7.23.0 + resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" dependencies: - "@babel/types": ^7.22.5 - checksum: 4bd5791529c280c00743e8bdc669ef0d4cd1620d6e3d35e0d42b862f8262bc2364973e5968007f960780344c539a4b9cf92ab41f5b4f94560a9620f536de2a39 + "@babel/types": ^7.23.0 + checksum: 494659361370c979ada711ca685e2efe9460683c36db1b283b446122596602c901e291e09f2f980ecedfe6e0f2bd5386cb59768285446530df10c14df1024e75 languageName: node linkType: hard @@ -2020,9 +2073,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9, @babel/helper-module-transforms@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-module-transforms@npm:7.23.0" +"@babel/helper-module-transforms@npm:^7.22.5, @babel/helper-module-transforms@npm:^7.22.9, @babel/helper-module-transforms@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/helper-module-transforms@npm:7.23.3" dependencies: "@babel/helper-environment-visitor": ^7.22.20 "@babel/helper-module-imports": ^7.22.15 @@ -2031,7 +2084,7 @@ __metadata: "@babel/helper-validator-identifier": ^7.22.20 peerDependencies: "@babel/core": ^7.0.0 - checksum: 6e2afffb058cf3f8ce92f5116f710dda4341c81cfcd872f9a0197ea594f7ce0ab3cb940b0590af2fe99e60d2e5448bfba6bca8156ed70a2ed4be2adc8586c891 + checksum: 5d0895cfba0e16ae16f3aa92fee108517023ad89a855289c4eb1d46f7aef4519adf8e6f971e1d55ac20c5461610e17213f1144097a8f932e768a9132e2278d71 languageName: node linkType: hard @@ -2044,7 +2097,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": version: 7.22.5 resolution: "@babel/helper-plugin-utils@npm:7.22.5" checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 @@ -2086,7 +2139,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.18.9, @babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": version: 7.22.5 resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" dependencies: @@ -2118,7 +2171,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.16.7, @babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.22.5": +"@babel/helper-validator-option@npm:^7.22.15, @babel/helper-validator-option@npm:^7.22.5": version: 7.22.15 resolution: "@babel/helper-validator-option@npm:7.22.15" checksum: 68da52b1e10002a543161494c4bc0f4d0398c8fdf361d5f7f4272e95c45d5b32d974896d44f6a0ea7378c9204988879d73613ca683e13bd1304e46d25ff67a8d @@ -2158,12 +2211,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.13.16, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.15, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/parser@npm:7.23.0" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.8, @babel/parser@npm:^7.20.15, @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" bin: parser: ./bin/babel-parser.js - checksum: 453fdf8b9e2c2b7d7b02139e0ce003d1af21947bbc03eb350fb248ee335c9b85e4ab41697ddbdd97079698de825a265e45a0846bb2ed47a2c7c1df833f42a354 + checksum: 4aa7366e401b5467192c1dbf2bef99ac0958c45ef69ed6704abbae68f98fab6409a527b417d1528fddc49d7664450670528adc7f45abb04db5fafca7ed766d57 languageName: node linkType: hard @@ -2191,7 +2244,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.0.0, @babel/plugin-proposal-class-properties@npm:^7.13.0": +"@babel/plugin-proposal-class-properties@npm:^7.0.0": version: 7.18.6 resolution: "@babel/plugin-proposal-class-properties@npm:7.18.6" dependencies: @@ -2203,18 +2256,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.13.8": - version: 7.18.6 - resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.18.6" - dependencies: - "@babel/helper-plugin-utils": ^7.18.6 - "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 949c9ddcdecdaec766ee610ef98f965f928ccc0361dd87cf9f88cf4896a6ccd62fce063d4494778e50da99dea63d270a1be574a62d6ab81cbe9d85884bf55a7d - languageName: node - linkType: hard - "@babel/plugin-proposal-object-rest-spread@npm:^7.0.0": version: 7.18.9 resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.18.9" @@ -2230,19 +2271,6 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.13.12": - version: 7.18.9 - resolution: "@babel/plugin-proposal-optional-chaining@npm:7.18.9" - dependencies: - "@babel/helper-plugin-utils": ^7.18.9 - "@babel/helper-skip-transparent-expression-wrappers": ^7.18.9 - "@babel/plugin-syntax-optional-chaining": ^7.8.3 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: f2db40e26172f07c50b635cb61e1f36165de3ba868fcf608d967642f0d044b7c6beb0e7ecf17cbd421144b99e1eae7ad6031ded92925343bb0ed1d08707b514f - languageName: node - linkType: hard - "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2": version: 7.21.0-placeholder-for-preset-env.2 resolution: "@babel/plugin-proposal-private-property-in-object@npm:7.21.0-placeholder-for-preset-env.2" @@ -2318,14 +2346,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-flow@npm:^7.0.0, @babel/plugin-syntax-flow@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-syntax-flow@npm:7.16.7" +"@babel/plugin-syntax-flow@npm:^7.0.0, @babel/plugin-syntax-flow@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-syntax-flow@npm:7.23.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 + "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b1ab0bd9b78e4aa5fb48714d6514f3d08d72693807c6044a5be4f301a9bb677b5648fbdae11c8bc93923da6b320a1898560c307933021bdb75ee39e577ed74ee + checksum: c6e6f355d6ace5f4a9e7bb19f1fed2398aeb9b62c4c671a189d81b124f9f5bb77c4225b6e85e19339268c60a021c1e49104e450375de5e6bb70612190d9678af languageName: node linkType: hard @@ -2384,14 +2412,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.0.0, @babel/plugin-syntax-jsx@npm:^7.22.5, @babel/plugin-syntax-jsx@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" +"@babel/plugin-syntax-jsx@npm:^7.0.0, @babel/plugin-syntax-jsx@npm:^7.22.5, @babel/plugin-syntax-jsx@npm:^7.23.3, @babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.23.3 + resolution: "@babel/plugin-syntax-jsx@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce + checksum: 89037694314a74e7f0e7a9c8d3793af5bf6b23d80950c29b360db1c66859d67f60711ea437e70ad6b5b4b29affe17eababda841b6c01107c2b638e0493bafb4e languageName: node linkType: hard @@ -2483,14 +2511,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.22.5, @babel/plugin-syntax-typescript@npm:^7.7.2": - version: 7.22.5 - resolution: "@babel/plugin-syntax-typescript@npm:7.22.5" +"@babel/plugin-syntax-typescript@npm:^7.23.3, @babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.23.3 + resolution: "@babel/plugin-syntax-typescript@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8ab7718fbb026d64da93681a57797d60326097fd7cb930380c8bffd9eb101689e90142c760a14b51e8e69c88a73ba3da956cb4520a3b0c65743aee5c71ef360a + checksum: abfad3a19290d258b028e285a1f34c9b8a0cbe46ef79eafed4ed7ffce11b5d0720b5e536c82f91cbd8442cde35a3dd8e861fa70366d87ff06fdc0d4756e30876 languageName: node linkType: hard @@ -2692,15 +2720,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-flow-strip-types@npm:^7.0.0, @babel/plugin-transform-flow-strip-types@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/plugin-transform-flow-strip-types@npm:7.16.7" +"@babel/plugin-transform-flow-strip-types@npm:^7.0.0, @babel/plugin-transform-flow-strip-types@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.23.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/plugin-syntax-flow": ^7.16.7 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/plugin-syntax-flow": ^7.23.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 4b4801c91d805d95957781e537f88e9f34c7f8a4c262c4d230af2ab7a920889c542860e505149a856d4c16916ffb02df4f3af161733adeedb7671555d1510bba + checksum: de38cc5cf948bc19405ea041292181527a36f59f08d787a590415fac36e9b0c7992f0d3e2fd3b9402089bafdaa1a893291a0edf15beebfd29bdedbbe582fee9b languageName: node linkType: hard @@ -2786,16 +2814,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.13.8, @babel/plugin-transform-modules-commonjs@npm:^7.22.11, @babel/plugin-transform-modules-commonjs@npm:^7.22.5": - version: 7.22.11 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.22.11" +"@babel/plugin-transform-modules-commonjs@npm:^7.0.0, @babel/plugin-transform-modules-commonjs@npm:^7.22.5, @babel/plugin-transform-modules-commonjs@npm:^7.23.0, @babel/plugin-transform-modules-commonjs@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.23.3" dependencies: - "@babel/helper-module-transforms": ^7.22.9 + "@babel/helper-module-transforms": ^7.23.3 "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-simple-access": ^7.22.5 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: c15ad7f1234a930cab214224bb85f6b3a3f301fa1d4d15bef193e5c11c614ce369551e5cbb708fde8d3f7e1cb84b05e9798a3647a11b56c3d67580e362a712d4 + checksum: 720a231ceade4ae4d2632478db4e7fecf21987d444942b72d523487ac8d715ca97de6c8f415c71e939595e1a4776403e7dc24ed68fe9125ad4acf57753c9bff7 languageName: node linkType: hard @@ -2848,15 +2876,15 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.5": - version: 7.22.11 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.22.11" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.11, @babel/plugin-transform-nullish-coalescing-operator@npm:^7.22.5": + version: 7.23.3 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 167babecc8b8fe70796a7b7d34af667ebbf43da166c21689502e5e8cc93180b7a85979c77c9f64b7cce431b36718bd0a6df9e5e0ffea4ae22afb22cfef886372 + checksum: ea844a12a3ae5647d6d2ae0685fde48ae53e724ef9ce5d9fbf36e8f1ff0107f76a5349ef34c2a06984b3836c001748caf9701afb172bd7ba71a5dff79e16b434 languageName: node linkType: hard @@ -2911,16 +2939,16 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.22.10, @babel/plugin-transform-optional-chaining@npm:^7.22.5": - version: 7.22.12 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.22.12" +"@babel/plugin-transform-optional-chaining@npm:^7.22.10, @babel/plugin-transform-optional-chaining@npm:^7.22.5, @babel/plugin-transform-optional-chaining@npm:^7.23.0": + version: 7.23.3 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 "@babel/helper-skip-transparent-expression-wrappers": ^7.22.5 "@babel/plugin-syntax-optional-chaining": ^7.8.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 47065439bb721a0967cdcc83895700bb7b18b146b2ef27e43449d7b5a7130a2497afadddc42c616253858cac6732546646b9f0c581f4bb8a3d362baeb4c30bbb + checksum: 98529b9d10b5502ceb87259b538e5649d111ec1582c4c49c620f3181d53489c1ff887075fb208245baa43fa45ae85c9950f0db47be00e55b52c9bcd36271d701 languageName: node linkType: hard @@ -3133,17 +3161,17 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.22.11": - version: 7.22.11 - resolution: "@babel/plugin-transform-typescript@npm:7.22.11" +"@babel/plugin-transform-typescript@npm:^7.23.3": + version: 7.23.3 + resolution: "@babel/plugin-transform-typescript@npm:7.23.3" dependencies: "@babel/helper-annotate-as-pure": ^7.22.5 - "@babel/helper-create-class-features-plugin": ^7.22.11 + "@babel/helper-create-class-features-plugin": ^7.22.15 "@babel/helper-plugin-utils": ^7.22.5 - "@babel/plugin-syntax-typescript": ^7.22.5 + "@babel/plugin-syntax-typescript": ^7.23.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: a0dc3c2427b55602944705c9a91b4c074524badd5ea87edb603ddeabe7fae531bcbe68475106d7a00079b67bb422dbf2e9f50e15c25ac24d7e9fe77f37ebcfb4 + checksum: 01ba1d5d41c6b41c139fc6f2df744a82e7572335209976a75f0007ebbaea02dcb3265c44123afe09cc3f4aafb177bcb967a20af0218a95eae4fd883f6dd9d0d6 languageName: node linkType: hard @@ -3284,16 +3312,16 @@ __metadata: languageName: node linkType: hard -"@babel/preset-flow@npm:^7.13.13": - version: 7.16.7 - resolution: "@babel/preset-flow@npm:7.16.7" +"@babel/preset-flow@npm:^7.22.15": + version: 7.23.3 + resolution: "@babel/preset-flow@npm:7.23.3" dependencies: - "@babel/helper-plugin-utils": ^7.16.7 - "@babel/helper-validator-option": ^7.16.7 - "@babel/plugin-transform-flow-strip-types": ^7.16.7 + "@babel/helper-plugin-utils": ^7.22.5 + "@babel/helper-validator-option": ^7.22.15 + "@babel/plugin-transform-flow-strip-types": ^7.23.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: b73c743a6bdfb51fe907adbc425a82469145ea15f32b43096804e28ba30921c4ac3199f86e11d1cefbce95c3a5404aaf3534152f5a12358c57303c05dfc51b4f + checksum: 60b5dde79621ae89943af459c4dc5b6030795f595a20ca438c8100f8d82c9ebc986881719030521ff5925799518ac5aa7f3fe62af8c33ab96be3681a71f88d03 languageName: node linkType: hard @@ -3326,33 +3354,33 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.13.0, @babel/preset-typescript@npm:^7.18.6": - version: 7.22.11 - resolution: "@babel/preset-typescript@npm:7.22.11" +"@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.23.0": + version: 7.23.3 + resolution: "@babel/preset-typescript@npm:7.23.3" dependencies: "@babel/helper-plugin-utils": ^7.22.5 - "@babel/helper-validator-option": ^7.22.5 - "@babel/plugin-syntax-jsx": ^7.22.5 - "@babel/plugin-transform-modules-commonjs": ^7.22.11 - "@babel/plugin-transform-typescript": ^7.22.11 + "@babel/helper-validator-option": ^7.22.15 + "@babel/plugin-syntax-jsx": ^7.23.3 + "@babel/plugin-transform-modules-commonjs": ^7.23.3 + "@babel/plugin-transform-typescript": ^7.23.3 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 8ae7162c31db896f5eeecd6f67ab2e58555fdc06fe84e95fe4a3f60b64cd6f782d2d7dfbde0c0eac04b55dac18222752d91dd8786245cccedd7e42f080e07233 + checksum: 105a2d39bbc464da0f7e1ad7f535c77c5f62d6b410219355b20e552e7d29933567a5c55339b5d0aec1a5c7a0a7dfdf1b54aae601a4fe15a157d54dcbfcb3e854 languageName: node linkType: hard -"@babel/register@npm:^7.13.16": - version: 7.16.9 - resolution: "@babel/register@npm:7.16.9" +"@babel/register@npm:^7.22.15": + version: 7.22.15 + resolution: "@babel/register@npm:7.22.15" dependencies: clone-deep: ^4.0.1 find-cache-dir: ^2.0.0 make-dir: ^2.1.0 - pirates: ^4.0.0 + pirates: ^4.0.5 source-map-support: ^0.5.16 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: bbe9552c9e5816aec2bf7d899b43f95fd649714f38d14de48f42c895cc9ef65708f1359f393c235d5f02224c115544aeeb174495682a07734cdf9484ed2e6175 + checksum: 5497be6773608cd2d874210edd14499fce464ddbea170219da55955afe4c9173adb591164193458fd639e43b7d1314088a6186f4abf241476c59b3f0da6afd6f languageName: node linkType: hard @@ -3363,17 +3391,17 @@ __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.1": - version: 7.23.1 - resolution: "@babel/runtime-corejs3@npm:7.23.1" +"@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" dependencies: core-js-pure: ^3.30.2 regenerator-runtime: ^0.14.0 - checksum: 5d52b0cc8b5d243e67cf29c584d15acdc0c89b64de4a3fe1cb8a83b84b64a5621802e36931f93ca696cb637884abd11c8514615d890a4edf057ec4464f73915d + checksum: 922f25c47996a8af604cea82441e41be8b11910e96c662511e54120078f4c64258c045a28a311467a8f14a0c17f46a1f057f7c0501e567869a4343a6ce017962 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.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @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": +"@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.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.2 resolution: "@babel/runtime@npm:7.23.2" dependencies: @@ -3393,32 +3421,32 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.4.5": - version: 7.23.2 - resolution: "@babel/traverse@npm:7.23.2" +"@babel/traverse@npm:^7.14.0, @babel/traverse@npm:^7.16.8, @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" dependencies: "@babel/code-frame": ^7.22.13 - "@babel/generator": ^7.23.0 + "@babel/generator": ^7.23.3 "@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.0 - "@babel/types": ^7.23.0 + "@babel/parser": ^7.23.3 + "@babel/types": ^7.23.3 debug: ^4.1.0 globals: ^11.1.0 - checksum: 26a1eea0dde41ab99dde8b9773a013a0dc50324e5110a049f5d634e721ff08afffd54940b3974a20308d7952085ac769689369e9127dea655f868c0f6e1ab35d + checksum: f4e0c05f2f82368b9be7e1fed38cfcc2e1074967a8b76ac837b89661adbd391e99d0b1fd8c31215ffc3a04d2d5d7ee5e627914a09082db84ec5606769409fe2b languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @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.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.23.0 - resolution: "@babel/types@npm:7.23.0" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.16.8, @babel/types@npm:^7.18.13, @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" dependencies: "@babel/helper-string-parser": ^7.22.5 "@babel/helper-validator-identifier": ^7.22.20 to-fast-properties: ^2.0.0 - checksum: 215fe04bd7feef79eeb4d33374b39909ce9cad1611c4135a4f7fdf41fe3280594105af6d7094354751514625ea92d0875aba355f53e86a92600f290e77b0e604 + checksum: b96f1ec495351aeb2a5f98dd494aafa17df02a351548ae96999460f35c933261c839002a34c1e83552ff0d9f5e94d0b5b8e105d38131c7c9b0f5a6588676f35d languageName: node linkType: hard @@ -3536,7 +3564,7 @@ __metadata: "@types/webpack-env": ^1.15.2 "@types/yauzl": ^2.10.0 archiver: ^5.0.2 - aws-sdk-client-mock: ^2.0.0 + aws-sdk-client-mock: ^3.0.0 base64-stream: ^1.0.0 better-sqlite3: ^9.0.0 compression: ^1.7.4 @@ -3722,19 +3750,19 @@ __metadata: languageName: unknown linkType: soft -"@backstage/catalog-client@^1.4.5, @backstage/catalog-client@workspace:^, @backstage/catalog-client@workspace:packages/catalog-client": +"@backstage/catalog-client@workspace:^, @backstage/catalog-client@workspace:packages/catalog-client": version: 0.0.0-use.local resolution: "@backstage/catalog-client@workspace:packages/catalog-client" dependencies: "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/errors": "workspace:^" - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 languageName: unknown linkType: soft -"@backstage/catalog-model@^1.1.5, @backstage/catalog-model@^1.4.2, @backstage/catalog-model@^1.4.3, @backstage/catalog-model@workspace:^, @backstage/catalog-model@workspace:packages/catalog-model": +"@backstage/catalog-model@^1.1.5, @backstage/catalog-model@^1.4.3, @backstage/catalog-model@workspace:^, @backstage/catalog-model@workspace:packages/catalog-model": version: 0.0.0-use.local resolution: "@backstage/catalog-model@workspace:packages/catalog-model" dependencies: @@ -3839,7 +3867,7 @@ __metadata: "@types/terser-webpack-plugin": ^5.0.4 "@types/webpack-env": ^1.15.2 "@types/yarnpkg__lockfile": ^1.1.4 - "@typescript-eslint/eslint-plugin": 6.7.5 + "@typescript-eslint/eslint-plugin": 6.10.0 "@typescript-eslint/parser": ^6.7.2 "@yarnpkg/lockfile": ^1.1.0 "@yarnpkg/parsers": ^3.0.0-rc.4 @@ -3848,7 +3876,7 @@ __metadata: chalk: ^4.0.0 chokidar: ^3.3.1 commander: ^9.1.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 cross-spawn: ^7.0.3 css-loader: ^6.5.1 ctrlc-windows: ^2.1.0 @@ -3909,7 +3937,6 @@ __metadata: terser-webpack-plugin: ^5.1.3 ts-node: ^10.0.0 tsx: ^3.14.0 - type-fest: ^2.19.0 util: ^0.12.3 webpack: ^5.70.0 webpack-dev-server: ^4.7.3 @@ -3922,7 +3949,7 @@ __metadata: "@vitejs/plugin-react": ^4.0.4 vite: ^4.4.9 vite-plugin-html: ^3.2.0 - vite-plugin-node-polyfills: ^0.14.1 + vite-plugin-node-polyfills: ^0.16.0 peerDependenciesMeta: "@vitejs/plugin-react": optional: true @@ -3978,13 +4005,13 @@ __metadata: minimist: ^1.2.5 msw: ^1.0.0 node-fetch: ^2.6.7 - typescript-json-schema: ^0.61.0 + typescript-json-schema: ^0.62.0 yaml: ^2.0.0 zen-observable: ^0.10.0 languageName: unknown linkType: soft -"@backstage/config@^1.0.6, @backstage/config@^1.0.7, @backstage/config@^1.1.1, @backstage/config@workspace:^, @backstage/config@workspace:packages/config": +"@backstage/config@^1.0.6, @backstage/config@^1.0.7, @backstage/config@workspace:^, @backstage/config@workspace:packages/config": version: 0.0.0-use.local resolution: "@backstage/config@workspace:packages/config" dependencies: @@ -4051,6 +4078,79 @@ __metadata: languageName: unknown linkType: soft +"@backstage/core-components@^0.13.7, @backstage/core-components@workspace:^, @backstage/core-components@workspace:packages/core-components": + version: 0.0.0-use.local + resolution: "@backstage/core-components@workspace:packages/core-components" + dependencies: + "@backstage/cli": "workspace:^" + "@backstage/config": "workspace:^" + "@backstage/core-app-api": "workspace:^" + "@backstage/core-plugin-api": "workspace:^" + "@backstage/errors": "workspace:^" + "@backstage/test-utils": "workspace:^" + "@backstage/theme": "workspace:^" + "@backstage/version-bridge": "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 + "@react-hookz/web": ^20.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/ansi-regex": ^5.0.0 + "@types/classnames": ^2.2.9 + "@types/d3-selection": ^3.0.1 + "@types/d3-shape": ^3.0.1 + "@types/d3-zoom": ^3.0.1 + "@types/dagre": ^0.7.44 + "@types/google-protobuf": ^3.7.2 + "@types/react": ^16.13.1 || ^17.0.0 + "@types/react-helmet": ^6.1.0 + "@types/react-sparklines": ^1.7.0 + "@types/react-syntax-highlighter": ^15.0.0 + "@types/react-text-truncate": ^0.14.0 + "@types/react-virtualized-auto-sizer": ^1.0.1 + "@types/react-window": ^1.8.5 + "@types/zen-observable": ^0.8.0 + ansi-regex: ^6.0.1 + classnames: ^2.2.6 + cross-fetch: ^4.0.0 + d3-selection: ^3.0.0 + d3-shape: ^3.0.0 + d3-zoom: ^3.0.0 + dagre: ^0.8.5 + history: ^5.0.0 + immer: ^9.0.1 + linkify-react: 4.1.2 + linkifyjs: 4.1.2 + lodash: ^4.17.21 + msw: ^1.0.0 + pluralize: ^8.0.0 + qs: ^6.9.4 + rc-progress: 3.5.1 + react-helmet: 6.1.0 + react-hook-form: ^7.12.2 + react-idle-timer: 5.6.2 + react-markdown: ^8.0.0 + react-sparklines: ^1.7.0 + react-syntax-highlighter: ^15.4.5 + react-text-truncate: ^0.19.0 + react-use: ^17.3.2 + react-virtualized-auto-sizer: ^1.0.11 + react-window: ^1.8.6 + remark-gfm: ^3.0.1 + zen-observable: ^0.10.0 + zod: ^3.21.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 + languageName: unknown + linkType: soft + "@backstage/core-components@npm:^0.12.3": version: 0.12.5 resolution: "@backstage/core-components@npm:0.12.5" @@ -4101,153 +4201,7 @@ __metadata: languageName: node linkType: hard -"@backstage/core-components@npm:^0.13.5, @backstage/core-components@npm:^0.13.6": - version: 0.13.6 - resolution: "@backstage/core-components@npm:0.13.6" - dependencies: - "@backstage/catalog-model": ^1.4.3 - "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.7.0 - "@backstage/errors": ^1.2.3 - "@backstage/plugin-catalog-react": ^1.8.5 - "@backstage/theme": ^0.4.3 - "@backstage/version-bridge": ^1.0.6 - "@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 - "@types/react": ^16.13.1 || ^17.0.0 - "@types/react-sparklines": ^1.7.0 - "@types/react-text-truncate": ^0.14.0 - ansi-regex: ^6.0.1 - classnames: ^2.2.6 - d3-selection: ^3.0.0 - d3-shape: ^3.0.0 - d3-zoom: ^3.0.0 - dagre: ^0.8.5 - history: ^5.0.0 - immer: ^9.0.1 - linkify-react: 4.1.1 - linkifyjs: 4.1.1 - lodash: ^4.17.21 - pluralize: ^8.0.0 - qs: ^6.9.4 - rc-progress: 3.5.1 - react-helmet: 6.1.0 - react-hook-form: ^7.12.2 - react-idle-timer: 5.6.2 - react-markdown: ^8.0.0 - react-sparklines: ^1.7.0 - react-syntax-highlighter: ^15.4.5 - react-text-truncate: ^0.19.0 - react-use: ^17.3.2 - react-virtualized-auto-sizer: ^1.0.11 - react-window: ^1.8.6 - remark-gfm: ^3.0.1 - zen-observable: ^0.10.0 - zod: ^3.21.4 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 834522177a8df8edda302fdcd9c91fc21210c1623130dd13db07032b9db56028af559c153c44201c9496b767c075bf6e4df6c2eb9ab55092ebd95fc5a399d4ad - languageName: node - linkType: hard - -"@backstage/core-components@workspace:^, @backstage/core-components@workspace:packages/core-components": - version: 0.0.0-use.local - resolution: "@backstage/core-components@workspace:packages/core-components" - dependencies: - "@backstage/cli": "workspace:^" - "@backstage/config": "workspace:^" - "@backstage/core-app-api": "workspace:^" - "@backstage/core-plugin-api": "workspace:^" - "@backstage/errors": "workspace:^" - "@backstage/test-utils": "workspace:^" - "@backstage/theme": "workspace:^" - "@backstage/version-bridge": "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 - "@react-hookz/web": ^20.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/ansi-regex": ^5.0.0 - "@types/classnames": ^2.2.9 - "@types/d3-selection": ^3.0.1 - "@types/d3-shape": ^3.0.1 - "@types/d3-zoom": ^3.0.1 - "@types/dagre": ^0.7.44 - "@types/google-protobuf": ^3.7.2 - "@types/react": ^16.13.1 || ^17.0.0 - "@types/react-helmet": ^6.1.0 - "@types/react-sparklines": ^1.7.0 - "@types/react-syntax-highlighter": ^15.0.0 - "@types/react-text-truncate": ^0.14.0 - "@types/react-virtualized-auto-sizer": ^1.0.1 - "@types/react-window": ^1.8.5 - "@types/zen-observable": ^0.8.0 - ansi-regex: ^6.0.1 - classnames: ^2.2.6 - cross-fetch: ^3.1.5 - d3-selection: ^3.0.0 - d3-shape: ^3.0.0 - d3-zoom: ^3.0.0 - dagre: ^0.8.5 - history: ^5.0.0 - immer: ^9.0.1 - linkify-react: 4.1.1 - linkifyjs: 4.1.1 - lodash: ^4.17.21 - msw: ^1.0.0 - pluralize: ^8.0.0 - qs: ^6.9.4 - rc-progress: 3.5.1 - react-helmet: 6.1.0 - react-hook-form: ^7.12.2 - react-idle-timer: 5.6.2 - react-markdown: ^8.0.0 - react-sparklines: ^1.7.0 - react-syntax-highlighter: ^15.4.5 - react-text-truncate: ^0.19.0 - react-use: ^17.3.2 - react-virtualized-auto-sizer: ^1.0.11 - react-window: ^1.8.6 - remark-gfm: ^3.0.1 - zen-observable: ^0.10.0 - zod: ^3.21.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 - 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.6.0, @backstage/core-plugin-api@npm:^1.7.0": - version: 1.7.0 - resolution: "@backstage/core-plugin-api@npm:1.7.0" - dependencies: - "@backstage/config": ^1.1.1 - "@backstage/types": ^1.1.1 - "@backstage/version-bridge": ^1.0.6 - "@types/react": ^16.13.1 || ^17.0.0 - history: ^5.0.0 - i18next: ^22.4.15 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 7b328dac8faf598f4b45c098ba0629f29d1278c204fde11264fe964a82da4e3a72a13551200941b31901d3b0f483bea55deba5264ab55a2c202eae2c6a196ae7 - 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.7.0, @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: @@ -4345,7 +4299,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/errors@^1.1.5, @backstage/errors@^1.2.3, @backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": +"@backstage/errors@^1.1.5, @backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": version: 0.0.0-use.local resolution: "@backstage/errors@workspace:packages/errors" dependencies: @@ -4376,7 +4330,6 @@ __metadata: "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" - "@backstage/plugin-graphiql": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" "@backstage/types": "workspace:^" @@ -4432,30 +4385,12 @@ __metadata: "@backstage/config-loader": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/test-utils": "workspace:^" - aws-sdk-client-mock: ^2.0.0 - aws-sdk-client-mock-jest: ^2.0.0 + aws-sdk-client-mock: ^3.0.0 + aws-sdk-client-mock-jest: ^3.0.0 languageName: unknown linkType: soft -"@backstage/integration-react@npm:^1.1.19": - version: 1.1.20 - resolution: "@backstage/integration-react@npm:1.1.20" - dependencies: - "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.7.0 - "@backstage/integration": ^1.7.1 - "@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 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 6d76d58687703ac9fa8d328caf993cf8ae1326254e55cda90701c94418f37d0fb6ee1940050a56d6f47e7ee8468658be2862359b644deb10e686342960435487 - languageName: node - linkType: hard - -"@backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": +"@backstage/integration-react@^1.1.20, @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: @@ -4479,22 +4414,6 @@ __metadata: languageName: unknown linkType: soft -"@backstage/integration@npm:^1.7.1": - version: 1.7.1 - resolution: "@backstage/integration@npm:1.7.1" - dependencies: - "@azure/identity": ^3.2.1 - "@backstage/config": ^1.1.1 - "@octokit/auth-app": ^4.0.0 - "@octokit/rest": ^19.0.3 - cross-fetch: ^3.1.5 - git-url-parse: ^13.0.0 - lodash: ^4.17.21 - luxon: ^3.0.0 - checksum: e36e91ee9d3f09a3f6e1dbbc2e41af2ecce49e83a06943f151a668422ec7afb07af4f1ee136f21618cc4ce8b59586473ec8fbb66aaf43c26a390f8e2eb26d597 - languageName: node - linkType: hard - "@backstage/integration@workspace:^, @backstage/integration@workspace:packages/integration": version: 0.0.0-use.local resolution: "@backstage/integration@workspace:packages/integration" @@ -4506,7 +4425,7 @@ __metadata: "@octokit/auth-app": ^4.0.0 "@octokit/rest": ^19.0.3 "@types/luxon": ^3.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 git-url-parse: ^13.0.0 lodash: ^4.17.21 luxon: ^3.0.0 @@ -4529,7 +4448,7 @@ __metadata: "@backstage/plugin-adr-common": "workspace:^" "@backstage/plugin-search-common": "workspace:^" "@types/express": ^4.17.6 - "@types/marked": ^4.0.0 + "@types/marked": ^5.0.0 "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 @@ -4583,7 +4502,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/git-url-parse": ^9.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 lodash: ^4.17.21 msw: ^1.0.0 react-markdown: ^8.0.0 @@ -4693,7 +4612,7 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 - "@types/jest": ^28.1.3 + "@types/jest": ^29.0.0 "@types/react": ^16.13.1 || ^17.0.0 msw: ^1.0.0 react-ga4: ^2.0.0 @@ -4775,7 +4694,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 qs: ^6.10.1 react-use: ^17.2.4 @@ -4805,7 +4724,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-api-docs@workspace:plugins/api-docs" dependencies: - "@asyncapi/react-component": 1.0.0-next.48 + "@asyncapi/react-component": 1.1.0 "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/core-app-api": "workspace:^" @@ -4816,7 +4735,7 @@ __metadata: "@backstage/plugin-catalog-react": "workspace:^" "@backstage/test-utils": "workspace:^" "@backstage/theme": "workspace:^" - "@graphiql/react": ^0.19.4 + "@graphiql/react": ^0.20.0 "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 @@ -4826,8 +4745,8 @@ __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: ^3.1.5 - graphiql: 3.0.6 + cross-fetch: ^4.0.0 + graphiql: 3.0.9 graphql: ^16.0.0 graphql-ws: ^5.4.1 isomorphic-form-data: ^2.0.0 @@ -5038,6 +4957,7 @@ __metadata: express-promise-router: ^4.1.1 express-session: ^1.17.3 jose: ^4.14.6 + luxon: ^3.4.3 msw: ^1.3.0 openid-client: ^5.4.3 passport: ^0.6.0 @@ -5292,7 +5212,7 @@ __metadata: "@types/express": ^4.17.6 badge-maker: ^3.3.0 cors: ^2.8.5 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^3.0.0 @@ -5390,9 +5310,9 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/integration": "workspace:^" "@openapitools/openapi-generator-cli": ^2.4.26 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 - ts-morph: ^17.0.0 + ts-morph: ^20.0.0 languageName: unknown linkType: soft @@ -5457,8 +5377,8 @@ __metadata: "@backstage/plugin-kubernetes-common": "workspace:^" "@backstage/types": "workspace:^" "@types/lodash": ^4.14.151 - aws-sdk-client-mock: ^2.0.0 - aws-sdk-client-mock-jest: ^2.0.0 + 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 @@ -5510,7 +5430,7 @@ __metadata: "@backstage/test-utils": "workspace:^" "@types/express": "*" "@types/supertest": ^2.0.8 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 lodash: ^4.17.21 @@ -5911,7 +5831,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-common@^1.0.10, @backstage/plugin-catalog-common@^1.0.17, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": +"@backstage/plugin-catalog-common@^1.0.10, @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: @@ -5998,6 +5918,7 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" + "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -6047,43 +5968,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-react@npm:^1.2.4, @backstage/plugin-catalog-react@npm:^1.8.4, @backstage/plugin-catalog-react@npm:^1.8.5": - version: 1.8.5 - resolution: "@backstage/plugin-catalog-react@npm:1.8.5" - dependencies: - "@backstage/catalog-client": ^1.4.5 - "@backstage/catalog-model": ^1.4.3 - "@backstage/core-components": ^0.13.6 - "@backstage/core-plugin-api": ^1.7.0 - "@backstage/errors": ^1.2.3 - "@backstage/integration": ^1.7.1 - "@backstage/plugin-catalog-common": ^1.0.17 - "@backstage/plugin-permission-common": ^0.7.9 - "@backstage/plugin-permission-react": ^0.4.16 - "@backstage/theme": ^0.4.3 - "@backstage/types": ^1.1.1 - "@backstage/version-bridge": ^1.0.6 - "@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 - classnames: ^2.2.6 - lodash: ^4.17.21 - material-ui-popup-state: ^1.9.3 - qs: ^6.9.4 - react-use: ^17.2.4 - yaml: ^2.0.0 - zen-observable: ^0.10.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 8badfa1af8d20f93ff162580d62e0ddf91753c91dfc741bbc7e12a6e9c8ebc554797b537ccecd6adac276e404f7d5c20bf64aea44c6b2798bfe5643d251b9b04 - languageName: node - linkType: hard - -"@backstage/plugin-catalog-react@workspace:^, @backstage/plugin-catalog-react@workspace:plugins/catalog-react": +"@backstage/plugin-catalog-react@^1.2.4, @backstage/plugin-catalog-react@^1.8.5, @backstage/plugin-catalog-react@workspace:^, @backstage/plugin-catalog-react@workspace:plugins/catalog-react": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-react@workspace:plugins/catalog-react" dependencies: @@ -6166,6 +6051,7 @@ __metadata: "@backstage/catalog-model": "workspace:^" "@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:^" @@ -6184,6 +6070,7 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 + "@mui/utils": ^5.14.15 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -6274,7 +6161,7 @@ __metadata: "@types/humanize-duration": ^3.25.1 "@types/react": ^16.13.1 || ^17.0.0 circleci-api: ^4.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 humanize-duration: ^3.27.0 lodash: ^4.17.21 luxon: ^3.0.0 @@ -6308,7 +6195,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.0.0 msw: ^1.0.0 qs: ^6.9.4 @@ -6516,14 +6403,14 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 - "@types/pluralize": ^0.0.32 + "@types/pluralize": ^0.0.33 "@types/react": ^16.13.1 || ^17.0.0 "@types/recharts": ^1.8.14 "@types/regression": ^2.0.0 "@types/yup": ^0.29.13 canvas: ^2.10.2 classnames: ^2.2.6 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 history: ^5.0.0 luxon: ^3.0.0 msw: ^1.0.0 @@ -6609,7 +6496,7 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 react-json-view: ^1.21.3 react-use: ^17.2.4 @@ -6773,7 +6660,7 @@ __metadata: "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" "@backstage/types": "workspace:^" - aws-sdk-client-mock: ^2.0.0 + aws-sdk-client-mock: ^3.0.0 luxon: ^3.0.0 winston: ^3.2.1 languageName: unknown @@ -6935,7 +6822,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -6973,7 +6860,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 classnames: ^2.2.6 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 pluralize: ^8.0.0 react-use: ^17.2.4 @@ -7037,7 +6924,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.0.0 msw: ^1.0.0 p-limit: ^3.0.2 @@ -7074,7 +6961,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 "@types/sanitize-html": ^2.6.2 classnames: ^2.3.1 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 dompurify: ^2.3.6 lodash: ^4.17.21 luxon: ^3.0.0 @@ -7108,7 +6995,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7175,7 +7062,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 git-url-parse: ^13.0.0 luxon: ^3.0.0 msw: ^1.0.0 @@ -7309,7 +7196,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 react-use: ^17.2.4 peerDependencies: @@ -7361,6 +7248,7 @@ __metadata: 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:^" @@ -7376,7 +7264,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/codemirror": ^5.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 graphiql: ^3.0.6 graphql: ^16.0.0 graphql-ws: ^5.4.1 @@ -7443,25 +7331,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-home-react@npm:^0.1.3": - version: 0.1.4 - resolution: "@backstage/plugin-home-react@npm:0.1.4" - dependencies: - "@backstage/core-components": ^0.13.6 - "@backstage/core-plugin-api": ^1.7.0 - "@material-ui/core": ^4.12.2 - "@material-ui/icons": ^4.9.1 - "@rjsf/utils": 5.13.0 - "@types/react": ^16.13.1 || ^17.0.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 52c528a8af4678308bf4341d85aa5360cfe8d1d90f024c59ca0d9bf9343c6964f025eef9c53c50560e65816b7dce052c27463d41b9609a2e125fa1ac637ac463 - languageName: node - linkType: hard - -"@backstage/plugin-home-react@workspace:^, @backstage/plugin-home-react@workspace:plugins/home-react": +"@backstage/plugin-home-react@^0.1.4, @backstage/plugin-home-react@workspace:^, @backstage/plugin-home-react@workspace:plugins/home-react": version: 0.0.0-use.local resolution: "@backstage/plugin-home-react@workspace:plugins/home-react" dependencies: @@ -7473,14 +7343,14 @@ __metadata: "@backstage/test-utils": "workspace:^" "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 - "@rjsf/utils": 5.13.0 + "@rjsf/utils": 5.13.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 "@types/react": ^16.13.1 || ^17.0.0 "@types/react-grid-layout": ^1.3.2 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -7493,6 +7363,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-home@workspace:plugins/home" dependencies: + "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" @@ -7509,10 +7380,10 @@ __metadata: "@material-ui/core": ^4.12.2 "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 - "@rjsf/core": 5.13.0 - "@rjsf/material-ui": 5.13.0 - "@rjsf/utils": 5.13.0 - "@rjsf/validator-ajv8": 5.13.0 + "@rjsf/core": 5.13.6 + "@rjsf/material-ui": 5.13.6 + "@rjsf/utils": 5.13.6 + "@rjsf/validator-ajv8": 5.13.6 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -7585,7 +7456,7 @@ __metadata: "@backstage/plugin-permission-common": "workspace:^" "@backstage/plugin-permission-node": "workspace:^" "@types/express": ^4.17.6 - "@types/jenkins": ^0.23.1 + "@types/jenkins": ^1.0.0 "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 @@ -7632,7 +7503,7 @@ __metadata: "@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: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -8125,7 +7996,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/parse-link-header": ^2.0.1 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.2.3 parse-link-header: ^2.0.0 react-use: ^17.2.4 @@ -8178,7 +8049,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.3.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -8241,7 +8112,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 axios: ^1.4.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 date-fns: ^2.30.0 lodash: ^4.17.21 msw: ^1.0.0 @@ -8451,7 +8322,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-permission-common@^0.7.9, @backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": +"@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: @@ -8459,7 +8330,7 @@ __metadata: "@backstage/config": "workspace:^" "@backstage/errors": "workspace:^" "@backstage/types": "workspace:^" - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 uuid: ^8.0.0 zod: ^3.21.4 @@ -8489,25 +8360,6 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-permission-react@npm:^0.4.16": - version: 0.4.16 - resolution: "@backstage/plugin-permission-react@npm:0.4.16" - dependencies: - "@backstage/config": ^1.1.1 - "@backstage/core-plugin-api": ^1.7.0 - "@backstage/plugin-permission-common": ^0.7.9 - "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 - react-use: ^17.2.4 - swr: ^2.0.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: dbf85118d34b29c19424f71cfb3918b63bc0243dd479df32227deec992686c006101395aef5a791887658d6d6543e0dbd9df4c5579fcbfd93284c79876924570 - languageName: node - linkType: hard - "@backstage/plugin-permission-react@workspace:^, @backstage/plugin-permission-react@workspace:plugins/permission-react": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-react@workspace:plugins/permission-react" @@ -8520,7 +8372,7 @@ __metadata: "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 react-use: ^17.2.4 swr: ^2.0.0 peerDependencies: @@ -8717,7 +8569,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 lodash: ^4.17.21 msw: ^1.0.0 react-sparklines: ^1.7.0 @@ -8900,6 +8752,7 @@ __metadata: p-limit: ^3.1.0 p-queue: ^6.6.2 prom-client: ^14.0.1 + strip-ansi: ^7.1.0 supertest: ^6.1.3 uuid: ^8.2.0 wait-for-expect: ^3.0.2 @@ -8965,10 +8818,10 @@ __metadata: "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^20.0.0 - "@rjsf/core": 5.13.0 - "@rjsf/material-ui": 5.13.0 - "@rjsf/utils": 5.13.0 - "@rjsf/validator-ajv8": 5.13.0 + "@rjsf/core": 5.13.6 + "@rjsf/material-ui": 5.13.6 + "@rjsf/utils": 5.13.6 + "@rjsf/validator-ajv8": 5.13.6 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -9028,10 +8881,10 @@ __metadata: "@material-ui/icons": ^4.9.1 "@material-ui/lab": 4.0.0-alpha.61 "@react-hookz/web": ^20.0.0 - "@rjsf/core": 5.13.0 - "@rjsf/material-ui": 5.13.0 - "@rjsf/utils": 5.13.0 - "@rjsf/validator-ajv8": 5.13.0 + "@rjsf/core": 5.13.6 + "@rjsf/material-ui": 5.13.6 + "@rjsf/utils": 5.13.6 + "@rjsf/validator-ajv8": 5.13.6 "@testing-library/dom": ^9.0.0 "@testing-library/jest-dom": ^6.0.0 "@testing-library/react": ^14.0.0 @@ -9295,6 +9148,7 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" + "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -9350,7 +9204,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/luxon": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.0.0 msw: ^1.0.0 react-sparklines: ^1.7.0 @@ -9455,7 +9309,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 luxon: ^3.0.0 msw: ^1.0.0 rc-progress: 3.5.1 @@ -9541,7 +9395,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 lodash: ^4.17.21 msw: ^1.0.0 qs: ^6.9.4 @@ -9699,6 +9553,7 @@ __metadata: 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:^" @@ -9716,7 +9571,7 @@ __metadata: "@types/d3-force": ^3.0.0 "@types/react": ^16.13.1 || ^17.0.0 color: ^4.0.1 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 d3-force: ^3.0.0 msw: ^1.0.0 react-use: ^17.2.4 @@ -9860,7 +9715,7 @@ __metadata: "@types/mime-types": ^2.1.0 "@types/recursive-readdir": ^2.2.0 "@types/supertest": ^2.0.8 - aws-sdk-client-mock: ^2.0.0 + aws-sdk-client-mock: ^3.0.0 express: ^4.17.1 fs-extra: 10.1.0 git-url-parse: ^13.0.0 @@ -9912,6 +9767,7 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/config": "workspace:^" "@backstage/core-app-api": "workspace:^" + "@backstage/core-compat-api": "workspace:^" "@backstage/core-components": "workspace:^" "@backstage/core-plugin-api": "workspace:^" "@backstage/dev-utils": "workspace:^" @@ -9938,7 +9794,7 @@ __metadata: "@types/event-source-polyfill": ^1.0.0 "@types/react": ^16.13.1 || ^17.0.0 canvas: ^2.10.2 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 dompurify: ^2.2.9 event-source-polyfill: 1.0.25 git-url-parse: ^13.0.0 @@ -10041,6 +9897,7 @@ __metadata: 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:^" @@ -10059,7 +9916,7 @@ __metadata: "@testing-library/react": ^14.0.0 "@testing-library/user-event": ^14.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 react-use: ^17.2.4 zen-observable: ^0.10.0 @@ -10178,7 +10035,7 @@ __metadata: dependencies: "@backstage/cli": "workspace:^" "@backstage/test-utils": "workspace:^" - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 languageName: unknown linkType: soft @@ -10254,7 +10111,7 @@ __metadata: "@material-ui/icons": ^4.9.1 "@testing-library/jest-dom": ^6.0.0 "@types/react": ^16.13.1 || ^17.0.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 i18next: ^22.4.15 msw: ^1.0.0 zen-observable: ^0.10.0 @@ -10266,35 +10123,7 @@ __metadata: 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" - dependencies: - "@material-ui/core": ^4.12.2 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - checksum: 93ca110a3f953d6d98b4a5f2163beaa1bd1f95adb66a593e85eb523a7012acf654b6148db54008a6434805a4bd9016d67e5c6a317bc56940ee6800aecbb97d6f - languageName: node - linkType: hard - -"@backstage/theme@npm:^0.4.2, @backstage/theme@npm:^0.4.3": - version: 0.4.3 - resolution: "@backstage/theme@npm:0.4.3" - dependencies: - "@emotion/react": ^11.10.5 - "@emotion/styled": ^11.10.5 - "@mui/material": ^5.12.2 - peerDependencies: - "@material-ui/core": ^4.12.2 - "@types/react": ^16.13.1 || ^17.0.0 - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - checksum: 8ad491f837803959c22a23e2895d0409bfd8ba58c325c6bcf2a87fbedc4d6076568e7ed2f3a715296e3f6f03f8579df6947831fe983579c777d607826a90b142 - languageName: node - linkType: hard - -"@backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme": +"@backstage/theme@^0.4.3, @backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme": version: 0.0.0-use.local resolution: "@backstage/theme@workspace:packages/theme" dependencies: @@ -10311,7 +10140,19 @@ __metadata: languageName: unknown linkType: soft -"@backstage/types@^1.0.2, @backstage/types@^1.1.1, @backstage/types@workspace:^, @backstage/types@workspace:packages/types": +"@backstage/theme@npm:^0.2.16, @backstage/theme@npm:^0.2.18": + version: 0.2.19 + resolution: "@backstage/theme@npm:0.2.19" + dependencies: + "@material-ui/core": ^4.12.2 + peerDependencies: + react: ^16.13.1 || ^17.0.0 + react-dom: ^16.13.1 || ^17.0.0 + checksum: 93ca110a3f953d6d98b4a5f2163beaa1bd1f95adb66a593e85eb523a7012acf654b6148db54008a6434805a4bd9016d67e5c6a317bc56940ee6800aecbb97d6f + languageName: node + linkType: hard + +"@backstage/types@^1.0.2, @backstage/types@workspace:^, @backstage/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@backstage/types@workspace:packages/types" dependencies: @@ -10322,20 +10163,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/version-bridge@npm:^1.0.3, @backstage/version-bridge@npm:^1.0.6": - version: 1.0.6 - resolution: "@backstage/version-bridge@npm:1.0.6" - dependencies: - "@types/react": ^16.13.1 || ^17.0.0 - peerDependencies: - react: ^16.13.1 || ^17.0.0 - react-dom: ^16.13.1 || ^17.0.0 - react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 2923a7723b3e9b6f2a6106ad13e6d7d648f727fa4751482f54bdd181ef7e8d0018b009edcbbfa297c938c3b936b6caba8df814652f5e78a38e8a83a81babce59 - languageName: node - linkType: hard - -"@backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge": +"@backstage/version-bridge@^1.0.3, @backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge": version: 0.0.0-use.local resolution: "@backstage/version-bridge@workspace:packages/version-bridge" dependencies: @@ -10415,17 +10243,6 @@ __metadata: languageName: node linkType: hard -"@changesets/changelog-github@npm:^0.4.8": - version: 0.4.8 - resolution: "@changesets/changelog-github@npm:0.4.8" - dependencies: - "@changesets/get-github-info": ^0.5.2 - "@changesets/types": ^5.2.1 - dotenv: ^8.1.0 - checksum: 8a357cc08757e0eeca267ee05141f68bef936582abef8b78a5d30d99f5a86e41b7d3debba70992b73b2f57b0fc6201ec1cc3c65116930167ee3197b427b865c5 - languageName: node - linkType: hard - "@changesets/cli@npm:^2.14.0": version: 2.26.2 resolution: "@changesets/cli@npm:2.26.2" @@ -10506,16 +10323,6 @@ __metadata: languageName: node linkType: hard -"@changesets/get-github-info@npm:^0.5.2": - version: 0.5.2 - resolution: "@changesets/get-github-info@npm:0.5.2" - dependencies: - dataloader: ^1.4.0 - node-fetch: ^2.5.0 - checksum: 067e07eeaecdbedbd1c715513c4aa6206a941bd1d3af292d067792808c6fa6644caad2b35fba614a44892559c031c234df8028f8d2abd4cb2682d48080ef5df3 - languageName: node - linkType: hard - "@changesets/get-release-plan@npm:^3.0.17": version: 3.0.17 resolution: "@changesets/get-release-plan@npm:3.0.17" @@ -10732,14 +10539,7 @@ __metadata: languageName: node linkType: hard -"@colors/colors@npm:1.5.0": - version: 1.5.0 - resolution: "@colors/colors@npm:1.5.0" - checksum: d64d5260bed1d5012ae3fc617d38d1afc0329fec05342f4e6b838f46998855ba56e0a73833f4a80fa8378c84810da254f76a8a19c39d038260dc06dc4e007425 - languageName: node - linkType: hard - -"@colors/colors@npm:^1.6.0": +"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": version: 1.6.0 resolution: "@colors/colors@npm:1.6.0" checksum: aa209963e0c3218e80a4a20553ba8c0fbb6fa13140540b4e5f97923790be06801fc90172c1114fc8b7e888b3d012b67298cde6b9e81521361becfaee400c662f @@ -11500,9 +11300,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.2": - version: 2.1.2 - resolution: "@eslint/eslintrc@npm:2.1.2" +"@eslint/eslintrc@npm:^2.1.3": + version: 2.1.3 + resolution: "@eslint/eslintrc@npm:2.1.3" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -11513,14 +11313,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: bc742a1e3b361f06fedb4afb6bf32cbd27171292ef7924f61c62f2aed73048367bcc7ac68f98c06d4245cd3fabc43270f844e3c1699936d4734b3ac5398814a7 + checksum: 5c6c3878192fe0ddffa9aff08b4e2f3bcc8f1c10d6449b7295a5f58b662019896deabfc19890455ffd7e60a5bd28d25d0eaefb2f78b2d230aae3879af92b89e5 languageName: node linkType: hard -"@eslint/js@npm:8.51.0": - version: 8.51.0 - resolution: "@eslint/js@npm:8.51.0" - checksum: 0228bf1e1e0414843e56d9ff362a2a72d579c078f93174666f29315690e9e30a8633ad72c923297f7fd7182381b5a476805ff04dac8debe638953eb1ded3ac73 +"@eslint/js@npm:8.53.0": + version: 8.53.0 + resolution: "@eslint/js@npm:8.53.0" + checksum: e0d5cfb0000aaee237c8e6d6d6e366faa60b1ef7f928ce17778373aa44d3b886368f6d5e1f97f913f0f16801aad016db8b8df78418c9d18825c15590328028af languageName: node linkType: hard @@ -11607,15 +11407,15 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.0.2": - version: 2.0.2 - resolution: "@floating-ui/react-dom@npm:2.0.2" +"@floating-ui/react-dom@npm:^2.0.0, @floating-ui/react-dom@npm:^2.0.4": + version: 2.0.4 + resolution: "@floating-ui/react-dom@npm:2.0.4" dependencies: "@floating-ui/dom": ^1.5.1 peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 4797e1f7a19c1e531ed0d578ccdcbe58970743e5a480ba30424857fc953063f36d481f8c5d69248a8f1d521b739e94bf5e1ffb35506400dea3d914f166ed2f7f + checksum: 91b2369e25f84888486e48c1656117468248906034ed482d411bb9ed1061b908dd32435b4ca3d0cd0ca6083291510a98ce74d76c671d5cc25b0c41e5fa824bae languageName: node linkType: hard @@ -11626,15 +11426,6 @@ __metadata: languageName: node linkType: hard -"@fmvilas/pseudo-yaml-ast@npm:^0.3.1": - version: 0.3.1 - resolution: "@fmvilas/pseudo-yaml-ast@npm:0.3.1" - dependencies: - yaml-ast-parser: 0.0.43 - checksum: 94b825dcfe4295d3b3b275cccf756f4012f4c5260d2f8469f9004073635f9aefec204bb0c0dfa9f066a5f6998d32226cace293a6a4e78c2b3a1ba05457608647 - languageName: node - linkType: hard - "@gar/promisify@npm:^1.0.1, @gar/promisify@npm:^1.1.3": version: 1.1.3 resolution: "@gar/promisify@npm:1.1.3" @@ -11763,9 +11554,9 @@ __metadata: languageName: node linkType: hard -"@graphiql/react@npm:^0.19.4": - version: 0.19.4 - resolution: "@graphiql/react@npm:0.19.4" +"@graphiql/react@npm:^0.20.0, @graphiql/react@npm:^0.20.2": + version: 0.20.2 + resolution: "@graphiql/react@npm:0.20.2" dependencies: "@graphiql/toolkit": ^0.9.1 "@headlessui/react": ^1.7.15 @@ -11786,7 +11577,7 @@ __metadata: graphql: ^15.5.0 || ^16.0.0 react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 - checksum: 08eb53fc0449d5814ba92faff8e03ba77e97ecd4d3d473d115d1219e52b59d9a1cc1b0f34c41315b3a0185fb862646c1affd2094e1f5f524328a95c8e4e8b591 + checksum: 76bd00fd144b1e3044e3239d80fbda49795e5eb41d222da373af11819d06f657a430eff6853e93724134538f3c5e619e0ecf9111b0818fe14569edb290106c84 languageName: node linkType: hard @@ -12677,14 +12468,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.11.11": - version: 0.11.11 - resolution: "@humanwhocodes/config-array@npm:0.11.11" +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.13 + resolution: "@humanwhocodes/config-array@npm:0.11.13" dependencies: - "@humanwhocodes/object-schema": ^1.2.1 + "@humanwhocodes/object-schema": ^2.0.1 debug: ^4.1.1 minimatch: ^3.0.5 - checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19 + checksum: f8ea57b0d7ed7f2d64cd3944654976829d9da91c04d9c860e18804729a33f7681f78166ef4c761850b8c324d362f7d53f14c5c44907a6b38b32c703ff85e4805 languageName: node linkType: hard @@ -12695,10 +12486,10 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^1.2.1": - version: 1.2.1 - resolution: "@humanwhocodes/object-schema@npm:1.2.1" - checksum: a824a1ec31591231e4bad5787641f59e9633827d0a2eaae131a288d33c9ef0290bd16fda8da6f7c0fcb014147865d12118df10db57f27f41e20da92369fcb3f1 +"@humanwhocodes/object-schema@npm:^2.0.1": + version: 2.0.1 + resolution: "@humanwhocodes/object-schema@npm:2.0.1" + checksum: 24929487b1ed48795d2f08346a0116cc5ee4634848bce64161fb947109352c562310fd159fc64dda0e8b853307f5794605191a9547f7341158559ca3c8262a45 languageName: node linkType: hard @@ -12756,7 +12547,7 @@ __metadata: "@backstage/dev-utils": "workspace:^" "@backstage/plugin-permission-common": "workspace:^" "@backstage/test-utils": "workspace:^" - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 languageName: unknown linkType: soft @@ -13171,7 +12962,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -13904,14 +13695,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.23": - version: 5.0.0-beta.23 - resolution: "@mui/base@npm:5.0.0-beta.23" +"@mui/base@npm:5.0.0-beta.24": + version: 5.0.0-beta.24 + resolution: "@mui/base@npm:5.0.0-beta.24" dependencies: "@babel/runtime": ^7.23.2 - "@floating-ui/react-dom": ^2.0.2 - "@mui/types": ^7.2.8 - "@mui/utils": ^5.14.17 + "@floating-ui/react-dom": ^2.0.4 + "@mui/types": ^7.2.9 + "@mui/utils": ^5.14.18 "@popperjs/core": ^2.11.8 clsx: ^2.0.0 prop-types: ^15.8.1 @@ -13922,27 +13713,27 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: fdd0c0cbb193afb60ba5b713b433e52643b4c7693a0069aef62ef4a9e2e5050519e193e29420c5d5032008629a0abc565fb0252f1be5a8d04b798decff3e1844 + checksum: dbd6eb0af7cb89389b1dccd6a84d07128c41f60d297d8f1d484919950c9b45a5d8767042b622c74e311bce0368ee3f760afb34d80ad97af61f5b5650ae990c60 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.17": - version: 5.14.17 - resolution: "@mui/core-downloads-tracker@npm:5.14.17" - checksum: dfa5ffe6e370ad9490cbe03b964967271462f7fb74c09e29e6fe09042f15ddec9a976f5131ce01b003dba1d66b70a6af026b0a1929db50124c783d7df45b06b6 +"@mui/core-downloads-tracker@npm:^5.14.18": + version: 5.14.18 + resolution: "@mui/core-downloads-tracker@npm:5.14.18" + checksum: 3d367797282e4b93eacee997667d62bc4eeac979e9664724e9db8d632278d8629f2a141894cf53d706f1d2a9f19965bffe2858aa2bc9833722e674cd560b896e languageName: node linkType: hard "@mui/material@npm:^5.12.2": - version: 5.14.17 - resolution: "@mui/material@npm:5.14.17" + version: 5.14.18 + resolution: "@mui/material@npm:5.14.18" dependencies: "@babel/runtime": ^7.23.2 - "@mui/base": 5.0.0-beta.23 - "@mui/core-downloads-tracker": ^5.14.17 - "@mui/system": ^5.14.17 - "@mui/types": ^7.2.8 - "@mui/utils": ^5.14.17 + "@mui/base": 5.0.0-beta.24 + "@mui/core-downloads-tracker": ^5.14.18 + "@mui/system": ^5.14.18 + "@mui/types": ^7.2.9 + "@mui/utils": ^5.14.18 "@types/react-transition-group": ^4.4.8 clsx: ^2.0.0 csstype: ^3.1.2 @@ -13962,16 +13753,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 7aedee8c9c0ded450cefd1d140f27f752f42b1f9ee729007ab10f79016bd4050dac35674f56b6b3757b8d18febc5750cd37275ab002a97be3ab039dc7166b21c + checksum: 488322f09638a71bb5d4bb5c027dde69d5cf89bcfd433594e3b90fea9fefa302bc85b9d2bf386493bf68d360107b59c6d148f46a68477e7f472f4f2d14d698a3 languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.17": - version: 5.14.17 - resolution: "@mui/private-theming@npm:5.14.17" +"@mui/private-theming@npm:^5.14.18": + version: 5.14.18 + resolution: "@mui/private-theming@npm:5.14.18" dependencies: "@babel/runtime": ^7.23.2 - "@mui/utils": ^5.14.17 + "@mui/utils": ^5.14.18 prop-types: ^15.8.1 peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -13979,13 +13770,13 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 59df16335f2598ed01f74631ca65739db461ce078081b2c8ca2bb2d1eb5e7a6cb8b2dca14ee0e83a35fefaabe62f49f3eff41fe9fa3ec17169487a8f0cee20ad + checksum: e7ba8e945f589db16ed05d507b0821d2e07b3d760bf78c9f745a75d75b5a94d1e546278629de15b090de289a9244591bfa2c09bb9f9f8679fb4e1d8cec360833 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.17": - version: 5.14.17 - resolution: "@mui/styled-engine@npm:5.14.17" +"@mui/styled-engine@npm:^5.14.18": + version: 5.14.18 + resolution: "@mui/styled-engine@npm:5.14.18" dependencies: "@babel/runtime": ^7.23.2 "@emotion/cache": ^11.11.0 @@ -14000,19 +13791,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: eff29d1d619a6d0c796711fd02c9f93c0543ffa758ff18b7df7790ea64bb3d6604009171939ce5463814c225f5950ced58928cbbafbd0f3b84c1b4d67da691b1 + checksum: 6eba307d95ef462f8b80aaa50ec1db7409d19cead985eba28e86aec066ad4bc70b0daa6d89158a7aae88ea43d614cace5f890cbebe0d8636573e894b7da9cae1 languageName: node linkType: hard -"@mui/system@npm:^5.14.17": - version: 5.14.17 - resolution: "@mui/system@npm:5.14.17" +"@mui/system@npm:^5.14.18": + version: 5.14.18 + resolution: "@mui/system@npm:5.14.18" dependencies: "@babel/runtime": ^7.23.2 - "@mui/private-theming": ^5.14.17 - "@mui/styled-engine": ^5.14.17 - "@mui/types": ^7.2.8 - "@mui/utils": ^5.14.17 + "@mui/private-theming": ^5.14.18 + "@mui/styled-engine": ^5.14.18 + "@mui/types": ^7.2.9 + "@mui/utils": ^5.14.18 clsx: ^2.0.0 csstype: ^3.1.2 prop-types: ^15.8.1 @@ -14028,28 +13819,28 @@ __metadata: optional: true "@types/react": optional: true - checksum: bd43393a15e0ff6d5b8a90a51ae0a5366b4edc9f99d73e53ef275d42e5d55cad2d15e0852c93728401fd6f40dc455a166366ba5d068e08798b7506b1608ab4fb + checksum: 8f7c4f3555ee64467826e1a40cfdb34b5c02520fd9f27779b8e6aa97cb9bbd27d98386a194d2e4c44b148babe5f67e3a715f8a09c03a1d71f2f14ddf60045174 languageName: node linkType: hard -"@mui/types@npm:^7.2.8": - version: 7.2.8 - resolution: "@mui/types@npm:7.2.8" +"@mui/types@npm:^7.2.9": + version: 7.2.9 + resolution: "@mui/types@npm:7.2.9" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: 1302d2d1b5a13201efede82ef16438737bd890f9b0a728714fc2da204f6031f055fbd84623ea63ff4ae5d4306b458699d85925608eb8f35df78e1dc0d7a44fc5 + checksum: 4888a1cf9a1adbae1c2f53ba9f8a0cf23eb5e0954bca00b958c240c87b5287771cb5e99bedb61a2c04f5dcbdef13a5b1f238153e98d8959ba51c5470db2c4b32 languageName: node linkType: hard -"@mui/utils@npm:^5.14.17": - version: 5.14.17 - resolution: "@mui/utils@npm:5.14.17" +"@mui/utils@npm:^5.14.15, @mui/utils@npm:^5.14.18": + version: 5.14.18 + resolution: "@mui/utils@npm:5.14.18" dependencies: "@babel/runtime": ^7.23.2 - "@types/prop-types": ^15.7.9 + "@types/prop-types": ^15.7.10 prop-types: ^15.8.1 react-is: ^18.2.0 peerDependencies: @@ -14058,7 +13849,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: a55ffc3961fdc754fc8b6e2569eeca4ebce2de65ca74c06a1cda6928ba2a9ac1c1c8075188dafc68c8ddb01fd06296d7e047f6a9416d155d86e812526e747071 + checksum: f24badcb6b026b392b94919f65c7f3bea6cfb0f741c1b8ebd74b02bba9ffc61f72e35bdea887e47dfd97d37ff465863aa29c7c5cfd33fb83224f4ff2300432b3 languageName: node linkType: hard @@ -14135,14 +13926,14 @@ __metadata: linkType: hard "@newrelic/browser-agent@npm:^1.236.0": - version: 1.243.1 - resolution: "@newrelic/browser-agent@npm:1.243.1" + version: 1.247.0 + resolution: "@newrelic/browser-agent@npm:1.247.0" dependencies: core-js: ^3.26.0 fflate: ^0.7.4 - rrweb: 2.0.0-alpha.8 + rrweb: 2.0.0-alpha.11 web-vitals: ^3.1.0 - checksum: df7e7aa015560a1140151d094309327ee1ec0a37d876514743171043a20a61d2723dbc2a2945adbac8fc4c04059d45ba3fa248cce3dbe27f21bc7d3c735ad046 + checksum: 5920119c784394637222b9547d4f758bff1e006a0e30411beae7a747c16f18cf39be7389d0f12b3e23168f9aa16ac6c3bd9d2063f673d6e0f0aef7af58ef61ed languageName: node linkType: hard @@ -14794,14 +14585,14 @@ __metadata: linkType: hard "@octokit/webhooks@npm:^10.0.0": - version: 10.9.1 - resolution: "@octokit/webhooks@npm:10.9.1" + version: 10.9.2 + resolution: "@octokit/webhooks@npm:10.9.2" dependencies: "@octokit/request-error": ^3.0.0 "@octokit/webhooks-methods": ^3.0.0 "@octokit/webhooks-types": 6.11.0 aggregate-error: ^3.1.0 - checksum: 3ee4ae98777653d629068c7914a8df29affb399a385ae55954953afa0caa856bab0cf8e92cfa80d36db0e7dd08eada0a3597cffd2f503a9078410660f0609161 + checksum: 06ad79021adf9facff3937d387ed5949a2c42ef550401ce2b12df88816b2de30f5b868129a7af523c6036d18b76fb89d22c71d26223f1c2e07c40552f45f6387 languageName: node linkType: hard @@ -14812,13 +14603,12 @@ __metadata: languageName: node linkType: hard -"@openapi-contrib/openapi-schema-to-json-schema@npm:^3.0.0": - version: 3.0.3 - resolution: "@openapi-contrib/openapi-schema-to-json-schema@npm:3.0.3" +"@openapi-contrib/openapi-schema-to-json-schema@npm:~3.2.0": + version: 3.2.0 + resolution: "@openapi-contrib/openapi-schema-to-json-schema@npm:3.2.0" dependencies: fast-deep-equal: ^3.1.3 - lodash.clonedeep: ^4.5.0 - checksum: 2296925669a4a78548f8ba055fbfc1f292274572ecb082d1465b6a6255799f43f0538880009bf4010b2fa9e7c84e97f8aa04d22b330fd469677c594ed98df314 + checksum: c47cbf85bee3e38e06a627efbbdffd78c95cdadebf6d935092c8ff616e31a69fcfd739a5d9cca5b4b2c6aef49f8dbced6c300eac1f8ade66b3fab403df19ccb2 languageName: node linkType: hard @@ -14862,65 +14652,65 @@ __metadata: linkType: hard "@opentelemetry/api@npm:^1.0.1, @opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:^1.4.1": - version: 1.6.0 - resolution: "@opentelemetry/api@npm:1.6.0" - checksum: 3283b78b62a39f6568eaa050ac7045fcca747679e255874f6d2107cb8e1a3b2e10bfbf553c3e82a72500fb5fdca49dc07a5fe27fd6980debac24506cca638859 + version: 1.7.0 + resolution: "@opentelemetry/api@npm:1.7.0" + checksum: 2398cbe65f199c3a7050125b3ad9c835f789bb0a616665e9c7f4475a29ac8334b6a3c15f38db48d345b522180c41c00b04cc174cd0eeffba98eb4874a565fa7e languageName: node linkType: hard -"@opentelemetry/core@npm:1.17.1": - version: 1.17.1 - resolution: "@opentelemetry/core@npm:1.17.1" +"@opentelemetry/core@npm:1.18.1": + version: 1.18.1 + resolution: "@opentelemetry/core@npm:1.18.1" dependencies: - "@opentelemetry/semantic-conventions": 1.17.1 + "@opentelemetry/semantic-conventions": 1.18.1 peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.7.0" - checksum: 06157f4a51dd1b3c98487c0d29a927a5a0fbbc997a81b04ccc4923968424582f517969b91c4f4f19dc1718f27a97f43b0b07af1310a5c240a96c5ff14c4b5cec + "@opentelemetry/api": ">=1.0.0 <1.8.0" + checksum: dfb3181836ce04d2e983c0e8382e4bd0228ec42280e0a3f5330e2742903c0fb1db0efc2792479d27f928533a386f163c2e0fce2a2f45b05e66b2809d268915dc languageName: node linkType: hard -"@opentelemetry/exporter-prometheus@npm:^0.44.0": - version: 0.44.0 - resolution: "@opentelemetry/exporter-prometheus@npm:0.44.0" +"@opentelemetry/exporter-prometheus@npm:^0.45.0": + version: 0.45.1 + resolution: "@opentelemetry/exporter-prometheus@npm:0.45.1" dependencies: - "@opentelemetry/core": 1.17.1 - "@opentelemetry/resources": 1.17.1 - "@opentelemetry/sdk-metrics": 1.17.1 + "@opentelemetry/core": 1.18.1 + "@opentelemetry/resources": 1.18.1 + "@opentelemetry/sdk-metrics": 1.18.1 peerDependencies: "@opentelemetry/api": ^1.3.0 - checksum: f0c093ba8b70c23f16fb08e7f2ca59986dff853ae006fd42864b952e4dc9ceac97fcb423586288828f1a35271589a6676eed46f2017369d59e8ed3315e6ac79d + checksum: 033fda6759610350d7f11c91d66a2c0e3cc7ac1182267e6ed4aba2fb90add66e344925e6ab89db76ff91c7fa67c82c0c4099657c5a9b68c4140ca4d0a3c1abac languageName: node linkType: hard -"@opentelemetry/resources@npm:1.17.1": - version: 1.17.1 - resolution: "@opentelemetry/resources@npm:1.17.1" +"@opentelemetry/resources@npm:1.18.1": + version: 1.18.1 + resolution: "@opentelemetry/resources@npm:1.18.1" dependencies: - "@opentelemetry/core": 1.17.1 - "@opentelemetry/semantic-conventions": 1.17.1 + "@opentelemetry/core": 1.18.1 + "@opentelemetry/semantic-conventions": 1.18.1 peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.7.0" - checksum: ea4ec5568f5b67626be6eb2b975614d140dab4f6eb7ca73ee30d0f1957ef9779953956d1d44c35bb124c75e311b34a05e2036b32fcf31cf50ae983154df9ee3d + "@opentelemetry/api": ">=1.0.0 <1.8.0" + checksum: b3311734802dca77eb379331ae7c409867ffe82cf17bca0e362de49e2d28313441a0177f62fc8c6c1f605bfc82c50e80ac065f17d81fc4fa131afff146db6432 languageName: node linkType: hard -"@opentelemetry/sdk-metrics@npm:1.17.1, @opentelemetry/sdk-metrics@npm:^1.13.0": - version: 1.17.1 - resolution: "@opentelemetry/sdk-metrics@npm:1.17.1" +"@opentelemetry/sdk-metrics@npm:1.18.1, @opentelemetry/sdk-metrics@npm:^1.13.0": + version: 1.18.1 + resolution: "@opentelemetry/sdk-metrics@npm:1.18.1" dependencies: - "@opentelemetry/core": 1.17.1 - "@opentelemetry/resources": 1.17.1 + "@opentelemetry/core": 1.18.1 + "@opentelemetry/resources": 1.18.1 lodash.merge: ^4.6.2 peerDependencies: - "@opentelemetry/api": ">=1.3.0 <1.7.0" - checksum: 6f6a59c5f594ebfc75da7ba203cb35a9271f4536ed4c2499c83f5953b3a2486d306d7aa17f0d7c2fde0efb8cbe9ac4346988adab0e039d082ec95d8d32703509 + "@opentelemetry/api": ">=1.3.0 <1.8.0" + checksum: ed2b87ea6380adc04bf50955cf7ae65220c6f35292b7d0535562c2e83d8b672306103c48fd45f3cc03ab3d640a8d2c6e367b265f5f4b0cbe03b0f51eb85759c7 languageName: node linkType: hard -"@opentelemetry/semantic-conventions@npm:1.17.1": - version: 1.17.1 - resolution: "@opentelemetry/semantic-conventions@npm:1.17.1" - checksum: 16161f70526d2abcd37a39771229ffe01a25d569f76c86e97200dc20399e7fa87b231c557a9654629b4789e945350e4fc55f88df979a502911f1dde4643ad416 +"@opentelemetry/semantic-conventions@npm:1.18.1": + version: 1.18.1 + resolution: "@opentelemetry/semantic-conventions@npm:1.18.1" + checksum: b60c008c01067c0e8f130ab5d61f5207c85b6db08fa926f629c854ab9917ca93fbabd7ae8d1586f9f82e3b29706b0444ded9d6781f7fb7a003eeb27d89af468f languageName: node linkType: hard @@ -15002,13 +14792,13 @@ __metadata: linkType: hard "@playwright/test@npm:^1.32.3": - version: 1.38.1 - resolution: "@playwright/test@npm:1.38.1" + version: 1.39.0 + resolution: "@playwright/test@npm:1.39.0" dependencies: - playwright: 1.38.1 + playwright: 1.39.0 bin: playwright: cli.js - checksum: c5ec0b23261fe1ef163b6234f69263bc10e7e5a3fb676c7773ffc70b87459a7ab225f57c03b9de649475771638a04c2e00d9b2739304a4dcf5d3edf20a7a4a82 + checksum: e93e58fc1af4239f239b890374f066c9a758e2492d25e2c1a532f3f00782ab8e7706956a07540fd14882c74e75f5de36273621adce9b79afb8e36e6c15f1d539 languageName: node linkType: hard @@ -15728,6 +15518,13 @@ __metadata: languageName: node linkType: hard +"@remix-run/router@npm:1.11.0": + version: 1.11.0 + resolution: "@remix-run/router@npm:1.11.0" + checksum: 1966436ab3ab982862195e4871790644ce21e01511aa3f4350436296224e4dec2e6ee35f1f4cb83db69f7aa0e8ad4a0a01928b05359ae654edc8e2aa82bf754b + languageName: node + linkType: hard + "@remix-run/router@npm:1.3.2": version: 1.3.2 resolution: "@remix-run/router@npm:1.3.2" @@ -15735,13 +15532,6 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.9.0": - version: 1.9.0 - resolution: "@remix-run/router@npm:1.9.0" - checksum: 0537b0ff29879ac85077cb4c42eaca4a295b9efd71477848984c2f2dfa5741c9b83d3106a7bb72994a51a9adfeeab3b0f5a40f2dee8be3f0750feeeca2a6d513 - languageName: node - linkType: hard - "@repeaterjs/repeater@npm:3.0.4, @repeaterjs/repeater@npm:^3.0.4": version: 3.0.4 resolution: "@repeaterjs/repeater@npm:3.0.4" @@ -15749,9 +15539,9 @@ __metadata: languageName: node linkType: hard -"@rjsf/core@npm:5.13.0": - version: 5.13.0 - resolution: "@rjsf/core@npm:5.13.0" +"@rjsf/core@npm:5.13.6": + version: 5.13.6 + resolution: "@rjsf/core@npm:5.13.6" dependencies: lodash: ^4.17.21 lodash-es: ^4.17.21 @@ -15761,26 +15551,26 @@ __metadata: peerDependencies: "@rjsf/utils": ^5.12.x react: ^16.14.0 || >=17 - checksum: d7d66d20fcdf310f4b152c22e1ac1ca8abe5f40b502711c9cabc4241b3252ec0e58345aa194529d2bdfb7a51b9f1179c9ddefc0cdc7fd9f94ad10c5e5b1032b8 + checksum: 7c8782030ac661fccd36226d84bca701af8e42717cb0560fb606784d358b1724288275f7ec2f9905b2a006ab65aa51525176d180908c6817b432afff4e989bdb languageName: node linkType: hard -"@rjsf/material-ui@npm:5.13.0": - version: 5.13.0 - resolution: "@rjsf/material-ui@npm:5.13.0" +"@rjsf/material-ui@npm:5.13.6": + version: 5.13.6 + resolution: "@rjsf/material-ui@npm:5.13.6" peerDependencies: "@material-ui/core": ^4.12.3 "@material-ui/icons": ^4.11.2 "@rjsf/core": ^5.12.x "@rjsf/utils": ^5.12.x react: ^16.14.0 || >=17 - checksum: 4157a2f112aace66a284c4e40b3220676e884ef37ffdbda616406dfb1a30d58aef6e241c2093a589bbd2f73964db797d7378666e534acec952578075c62cbf6a + checksum: 4c7646c96f57576700dd4f62c2c58c7f93c5dcee1db0ca77a3594efc39084ad94e24241d93b3e8fb0d9136c226f9c56c9ab9af78a1972fc088de3f109fa84050 languageName: node linkType: hard -"@rjsf/utils@npm:5.13.0": - version: 5.13.0 - resolution: "@rjsf/utils@npm:5.13.0" +"@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 @@ -15789,13 +15579,13 @@ __metadata: react-is: ^18.2.0 peerDependencies: react: ^16.14.0 || >=17 - checksum: 283e2b405eac2f4fdd243b2e35ade7e83a4bf7551eb5e075499e8eb5d3a3ae161e9c047bcf63d2e6fef7c6b2e7438f1a150f353b909df992e85194940c311f9b + checksum: 1e6cdca9f547db4b96561752150c0aa4255426fa32ae84ea017b221e5816e7eb9ed985e9dbb73f1d83baaae36f892f1d10e2bf81d8a53f7e42b2bfc7df52d8e4 languageName: node linkType: hard -"@rjsf/validator-ajv8@npm:5.13.0": - version: 5.13.0 - resolution: "@rjsf/validator-ajv8@npm:5.13.0" +"@rjsf/validator-ajv8@npm:5.13.6": + version: 5.13.6 + resolution: "@rjsf/validator-ajv8@npm:5.13.6" dependencies: ajv: ^8.12.0 ajv-formats: ^2.1.1 @@ -15803,19 +15593,19 @@ __metadata: lodash-es: ^4.17.21 peerDependencies: "@rjsf/utils": ^5.12.x - checksum: dd36b12e26f213208b899087768b72f8e0763d9a9ac0ba478034270d4d5ac1cebb9ca3ec1a9150c95293b36620c41d5180efda677d23c644a4d4475d8fb49e75 + checksum: 1909cb6b23344dd32b6bc825cc49c5a0efef2aecda2df5a903c3e70449b0ee546d9d915c450bdebd89384490689e43584933b74c3d4439c624b4cd9e481c7c1d languageName: node linkType: hard "@roadiehq/backstage-plugin-buildkite@npm:^2.0.8": - version: 2.1.15 - resolution: "@roadiehq/backstage-plugin-buildkite@npm:2.1.15" + version: 2.1.16 + resolution: "@roadiehq/backstage-plugin-buildkite@npm:2.1.16" dependencies: - "@backstage/catalog-model": ^1.4.2 - "@backstage/core-components": ^0.13.5 - "@backstage/core-plugin-api": ^1.6.0 - "@backstage/plugin-catalog-react": ^1.8.4 - "@backstage/theme": ^0.4.2 + "@backstage/catalog-model": ^1.4.3 + "@backstage/core-components": ^0.13.7 + "@backstage/core-plugin-api": ^1.7.0 + "@backstage/plugin-catalog-react": ^1.8.5 + "@backstage/theme": ^0.4.3 "@material-ui/core": ^4.12.1 "@material-ui/icons": ^4.11.2 "@material-ui/lab": 4.0.0-alpha.57 @@ -15827,20 +15617,20 @@ __metadata: react-dom: ^16.13.1 || ^17.0.0 react-router: 6.0.0-beta.0 || ^6.3.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: 421a3e444b6c5945748d0842bc777efc9fe0e968dad3c59cdc0cbbcd841752bcf47d757f2fc307fa1245da884adfeb3e478cd23b2bb318f621e05ffa7c6ec21b + checksum: 716755abfc85c452382ca1535d819a7ebb9a52d024557c51d240df7193a15b98567dad5fe0dcbbf72df0b27f773f1be0f25a5e876024f3a1f03c0eff99fc7a2c languageName: node linkType: hard "@roadiehq/backstage-plugin-github-insights@npm:^2.0.5": - version: 2.3.21 - resolution: "@roadiehq/backstage-plugin-github-insights@npm:2.3.21" + version: 2.3.22 + resolution: "@roadiehq/backstage-plugin-github-insights@npm:2.3.22" dependencies: - "@backstage/catalog-model": ^1.4.2 - "@backstage/core-components": ^0.13.5 - "@backstage/core-plugin-api": ^1.6.0 - "@backstage/integration-react": ^1.1.19 - "@backstage/plugin-catalog-react": ^1.8.4 - "@backstage/theme": ^0.4.2 + "@backstage/catalog-model": ^1.4.3 + "@backstage/core-components": ^0.13.7 + "@backstage/core-plugin-api": ^1.7.0 + "@backstage/integration-react": ^1.1.20 + "@backstage/plugin-catalog-react": ^1.8.5 + "@backstage/theme": ^0.4.3 "@date-io/core": 2.10.7 "@material-ui/core": ^4.11.0 "@material-ui/icons": ^4.9.1 @@ -15855,19 +15645,19 @@ __metadata: react: ^16.13.1 || ^17.0.0 react-dom: ^16.13.1 || ^17.0.0 react-router: 6.0.0-beta.0 || ^6.3.0 - checksum: edb0ecee1778e0bacd1eff395aa723fef35338253a7f8e91ab93b5755b9ebac27e49e1768ee13163ade74edf0b0f620ab31b693674c746c3c1e35e1185f46636 + checksum: 1bdfa2dc1fca12f5a47a11a2df54a774992c1a91d294e646b70f1a197575b96c34da78356d230d0a65695348a1caef6ab62f2553e7e75a01504e58407108135a languageName: node linkType: hard "@roadiehq/backstage-plugin-github-pull-requests@npm:^2.2.7": - version: 2.5.18 - resolution: "@roadiehq/backstage-plugin-github-pull-requests@npm:2.5.18" + version: 2.5.19 + resolution: "@roadiehq/backstage-plugin-github-pull-requests@npm:2.5.19" dependencies: - "@backstage/catalog-model": ^1.4.2 - "@backstage/core-components": ^0.13.5 - "@backstage/core-plugin-api": ^1.6.0 - "@backstage/plugin-catalog-react": ^1.8.4 - "@backstage/plugin-home-react": ^0.1.3 + "@backstage/catalog-model": ^1.4.3 + "@backstage/core-components": ^0.13.7 + "@backstage/core-plugin-api": ^1.7.0 + "@backstage/plugin-catalog-react": ^1.8.5 + "@backstage/plugin-home-react": ^0.1.4 "@material-ui/core": ^4.11.0 "@material-ui/icons": ^4.9.1 "@material-ui/lab": ^4.0.0-alpha.60 @@ -15884,19 +15674,19 @@ __metadata: react: ^16.13.1 || ^17.0.0 react-dom: ^16.13.1 || ^17.0.0 react-router: 6.0.0-beta.0 || ^6.3.0 - checksum: 674644685ab61057d11ed4b372045ad0287fdf17de5c325d007f98726f6839678e47cb0e5b23cf344e62ab0a2c1a037df05ee9d0cad1dba85564e0df79481fc0 + checksum: 35d760d22626d6d76438db66e36610aff8f1b171ae4d60944edcd631427b55f2a0489339db761764d2d406c5d3480ec8786db16ffb803d28eb96544b8c8e75a7 languageName: node linkType: hard "@roadiehq/backstage-plugin-travis-ci@npm:^2.0.5": - version: 2.1.15 - resolution: "@roadiehq/backstage-plugin-travis-ci@npm:2.1.15" + version: 2.1.16 + resolution: "@roadiehq/backstage-plugin-travis-ci@npm:2.1.16" dependencies: - "@backstage/catalog-model": ^1.4.2 - "@backstage/core-components": ^0.13.5 - "@backstage/core-plugin-api": ^1.6.0 - "@backstage/plugin-catalog-react": ^1.8.4 - "@backstage/theme": ^0.4.2 + "@backstage/catalog-model": ^1.4.3 + "@backstage/core-components": ^0.13.7 + "@backstage/core-plugin-api": ^1.7.0 + "@backstage/plugin-catalog-react": ^1.8.5 + "@backstage/theme": ^0.4.3 "@material-ui/core": ^4.11.3 "@material-ui/icons": ^4.11.2 "@material-ui/lab": 4.0.0-alpha.57 @@ -15910,7 +15700,7 @@ __metadata: react-dom: ^16.13.1 || ^17.0.0 react-router: 6.0.0-beta.0 || ^6.3.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 - checksum: f285fa074049bb1d03adc3e04467a3700c3651550fc3304038c9169438e1bd3e12790309be9a86cfb76a97f53925165d6b91ab4d81985ce5bb2faa97e5b10b00 + checksum: 175cbae49d6f990cdc0c0d75d27dfe36717f615fea1d4faf350d618bfa4420995c378e3735546ec403ad3c726d18c6ab2bdfc0f72edea26001eb4798e4093305 languageName: node linkType: hard @@ -15933,19 +15723,19 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-inject@npm:^5.0.3": - version: 5.0.3 - resolution: "@rollup/plugin-inject@npm:5.0.3" +"@rollup/plugin-inject@npm:^5.0.5": + version: 5.0.5 + resolution: "@rollup/plugin-inject@npm:5.0.5" dependencies: "@rollup/pluginutils": ^5.0.1 estree-walker: ^2.0.2 - magic-string: ^0.27.0 + magic-string: ^0.30.3 peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true - checksum: d8458b11af3447710ce200fe2886faff07bb054e1269a4f06f5f3c1a1b83019b6ce7761badfa116ca96fbb9c49f16b94ad02d1a72c2fb64dc68cb7dd81331cb7 + checksum: 22cb772fd6f7178308b2ece95cdde5f8615f6257197832166294552a7e4c0d3976dc996cbfa6470af3151d8b86c00091aa93da5f4db6ec563f11b6db29fd1b63 languageName: node linkType: hard @@ -16034,7 +15824,7 @@ __metadata: languageName: node linkType: hard -"@rrweb/types@npm:^2.0.0-alpha.8": +"@rrweb/types@npm:^2.0.0-alpha.11": version: 2.0.0-alpha.11 resolution: "@rrweb/types@npm:2.0.0-alpha.11" dependencies: @@ -16277,23 +16067,23 @@ __metadata: languageName: node linkType: hard -"@smithy/abort-controller@npm:^2.0.1, @smithy/abort-controller@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/abort-controller@npm:2.0.12" +"@smithy/abort-controller@npm:^2.0.1, @smithy/abort-controller@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/abort-controller@npm:2.0.13" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 187bbe7819271de99c8218d0df08d7b56131a7563e1822ef3142ecdad258201c9cc792e222d59145f6f59f6260e3c4ae2ef09b76370daa393797fad1b3d56551 + checksum: 6f62555669d7fec47427343b82b135cf5a87613a7479e32e6324e9090a7b4e2b3da1be0a916848478062841e619c48ba5f71f5ba8ce9be73115cb293776aa9aa languageName: node linkType: hard -"@smithy/chunked-blob-reader-native@npm:^2.0.0": - version: 2.0.0 - resolution: "@smithy/chunked-blob-reader-native@npm:2.0.0" +"@smithy/chunked-blob-reader-native@npm:^2.0.1": + version: 2.0.1 + resolution: "@smithy/chunked-blob-reader-native@npm:2.0.1" dependencies: - "@smithy/util-base64": ^2.0.0 + "@smithy/util-base64": ^2.0.1 tslib: ^2.5.0 - checksum: 5f656dbc4913ab8312b6e687938f534a2ed28e749335560c21a6975f691630ede80afc4a81007078692da4eaa91839ae0a6e65dc39f3faf4423538f5d9bef37b + checksum: db13a380a51ace30c8ed5947ea1b9fa65f5f5d0dbb722b4abc4d19e4a1215979174f35365c692f9fe7d3c116eaaf90dd9fb58e1dcff4fe943fc76d86c7f1798d languageName: node linkType: hard @@ -16306,142 +16096,142 @@ __metadata: languageName: node linkType: hard -"@smithy/config-resolver@npm:^2.0.16": - version: 2.0.16 - resolution: "@smithy/config-resolver@npm:2.0.16" - dependencies: - "@smithy/node-config-provider": ^2.1.3 - "@smithy/types": ^2.4.0 - "@smithy/util-config-provider": ^2.0.0 - "@smithy/util-middleware": ^2.0.5 - tslib: ^2.5.0 - checksum: d92948bc42e59c451ff0cf5cf803b6cb13c664dd920d43c0f5a647193c93aa3634fa88391e85dad1c159f535432bfdd7653de8450599b4170e4adced2c8c9850 - languageName: node - linkType: hard - -"@smithy/credential-provider-imds@npm:^2.0.0, @smithy/credential-provider-imds@npm:^2.0.18": +"@smithy/config-resolver@npm:^2.0.18": version: 2.0.18 - resolution: "@smithy/credential-provider-imds@npm:2.0.18" + resolution: "@smithy/config-resolver@npm:2.0.18" dependencies: - "@smithy/node-config-provider": ^2.1.3 - "@smithy/property-provider": ^2.0.13 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/types": ^2.5.0 + "@smithy/util-config-provider": ^2.0.0 + "@smithy/util-middleware": ^2.0.6 tslib: ^2.5.0 - checksum: 12e4a436429b140a2d85e34842d9deb42d7507fe3d3b26070f45f484bf8ecba9ac4fe3f9deb87252f3f6e5ae31d19c9e61147079c69716c2f4bcd0aa4d2c73b8 + checksum: 40d89b243143baf61e2ab7495a97594b33a15ca7b498fc40b04c1b19f754eab95ab840733f6c63e7ac42b282c96d0925d256cdf399c915a0e24e75a7c6258a10 languageName: node linkType: hard -"@smithy/eventstream-codec@npm:^2.0.1, @smithy/eventstream-codec@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/eventstream-codec@npm:2.0.12" +"@smithy/credential-provider-imds@npm:^2.0.0, @smithy/credential-provider-imds@npm:^2.1.1": + version: 2.1.1 + resolution: "@smithy/credential-provider-imds@npm:2.1.1" + dependencies: + "@smithy/node-config-provider": ^2.1.5 + "@smithy/property-provider": ^2.0.14 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + tslib: ^2.5.0 + checksum: 110c4185b39849c9baac6355deac959fbe6ff5bfcaeb6cafd6ff3c30b98fffe618d3b08aa2ef538b8f6f1f84e0f56b7f2d7f60c603967f5410768e8da002f8e9 + languageName: node + linkType: hard + +"@smithy/eventstream-codec@npm:^2.0.1, @smithy/eventstream-codec@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/eventstream-codec@npm:2.0.13" dependencies: "@aws-crypto/crc32": 3.0.0 - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 "@smithy/util-hex-encoding": ^2.0.0 tslib: ^2.5.0 - checksum: 38e457645512d06e9b74bdb8b33df8b712e96b97e59b7cd51c9d31686ba71b7f4e094615dedcca7a1790fdb7e52f3e0791af7d7b66ca46e0556544827a311d5b + checksum: fdae10c869061e6335903d9f0d80dbd0bb9fb5af484c97e5c9490a59ce3d27ca0bba8683149ee2dee7045c84c4d8c014b411611164535bb53936e1fef21ed8bc languageName: node linkType: hard -"@smithy/eventstream-serde-browser@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/eventstream-serde-browser@npm:2.0.12" +"@smithy/eventstream-serde-browser@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/eventstream-serde-browser@npm:2.0.13" dependencies: - "@smithy/eventstream-serde-universal": ^2.0.12 - "@smithy/types": ^2.4.0 + "@smithy/eventstream-serde-universal": ^2.0.13 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 685d9d874e019d62cacac4d98c19ffbd8496c68efa0968f43f93cbcf3bcaa0db2c5ae060d0550c50bd24a6b1a15ea2b94ce7fed121733bb060dd536b7e618ff6 + checksum: 1107de0ed525cd7cc1315693d8b1601da09c66131b808496f0869324e87e9bced2efc06425dc8761756f4ceca24b6ae9ba7d4fca239fcf49d4fcc5aed93f4421 languageName: node linkType: hard -"@smithy/eventstream-serde-config-resolver@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/eventstream-serde-config-resolver@npm:2.0.12" +"@smithy/eventstream-serde-config-resolver@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/eventstream-serde-config-resolver@npm:2.0.13" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 1fbed5f1b1c5fb8830d9940e2d8d56e1c33dd3ce5e5a79f259f0dacaa8ec6dfa4203163b63e707769e4153d1d17680cbf195690b596a44da6f43a62f66bad1aa + checksum: 29de012f1224ec5b9079088d55f06315be60729a6455aa1b340f6eac05fe53fd07c785d8f1908bdf8a97aa7fb4142a6ebf6715f479bf09c021680b55050c83bc languageName: node linkType: hard -"@smithy/eventstream-serde-node@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/eventstream-serde-node@npm:2.0.12" +"@smithy/eventstream-serde-node@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/eventstream-serde-node@npm:2.0.13" dependencies: - "@smithy/eventstream-serde-universal": ^2.0.12 - "@smithy/types": ^2.4.0 + "@smithy/eventstream-serde-universal": ^2.0.13 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 541f57903daa13d78b09b23ac74a6643e8260b4c9afe9375344ccc347c62fdc1fc0c162f763f733b7bd46f8ceb240890cfc89f786bd49efd57cf43d74c9b3f6b + checksum: c83fdaf2ccc42a4f5f0d153adb37dd409cc78c15c1c73608a39af42219a714e30d9e47c3d80f2da1b810643c1964649b8d115e3a706f43b6401c3aab3b8f322f languageName: node linkType: hard -"@smithy/eventstream-serde-universal@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/eventstream-serde-universal@npm:2.0.12" +"@smithy/eventstream-serde-universal@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/eventstream-serde-universal@npm:2.0.13" dependencies: - "@smithy/eventstream-codec": ^2.0.12 - "@smithy/types": ^2.4.0 + "@smithy/eventstream-codec": ^2.0.13 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: fea8ad03da25f92b0f3a0b20398a410bbf264aad6318b2cea9c8740cd86b1b130f3b52a07fb2b25e82b19eb44d60ec3770b17667a6842d404548e200a085ead9 + checksum: 138fa619e3ae588438fd962a1a12988c8ec22b330d7cc787be75b5ec7650aa5cabec047c8ef0601545d0614d13803f1ec1f2d185f68bface54ccf643c5055075 languageName: node linkType: hard -"@smithy/fetch-http-handler@npm:^2.2.4": - version: 2.2.4 - resolution: "@smithy/fetch-http-handler@npm:2.2.4" +"@smithy/fetch-http-handler@npm:^2.2.6": + version: 2.2.6 + resolution: "@smithy/fetch-http-handler@npm:2.2.6" dependencies: - "@smithy/protocol-http": ^3.0.8 - "@smithy/querystring-builder": ^2.0.12 - "@smithy/types": ^2.4.0 - "@smithy/util-base64": ^2.0.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/querystring-builder": ^2.0.13 + "@smithy/types": ^2.5.0 + "@smithy/util-base64": ^2.0.1 tslib: ^2.5.0 - checksum: 37b9dfdd35ff4a997de07f3aacdaf4acb3881b3586b3c2bbf27f163066a241d54ce471fe100353e2bea3f3cd71ec8ef57a0a1f78f897e11c9166f75b06902cfc + checksum: 2bc59c5bd9ad5ffe72f1a686853444318118a0ac833acf6029114236804480ac3d9a9d41e0d92cea0263a2aa7d76a82dd8b6850ecfea2e4eeed30e1d8225ccc3 languageName: node linkType: hard -"@smithy/hash-blob-browser@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/hash-blob-browser@npm:2.0.12" +"@smithy/hash-blob-browser@npm:^2.0.14": + version: 2.0.14 + resolution: "@smithy/hash-blob-browser@npm:2.0.14" dependencies: "@smithy/chunked-blob-reader": ^2.0.0 - "@smithy/chunked-blob-reader-native": ^2.0.0 - "@smithy/types": ^2.4.0 + "@smithy/chunked-blob-reader-native": ^2.0.1 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 212dd0200020c13c98efaea4544d81acf286ecebf6b8751b7205797da7b0282b17df1e85385525a479c7d3a1f7fd17100f8083974fb33e220e084f310b86f578 + checksum: c492891d1854ad2ed9a99dbe815b2e5e9970cef45647c770182be47bb715ddf238fae2865af7e4c3f04ffc4e6ce386fe2a6bc211549b2c3dfa2c0eb7b91924a6 languageName: node linkType: hard -"@smithy/hash-node@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/hash-node@npm:2.0.12" +"@smithy/hash-node@npm:^2.0.15": + version: 2.0.15 + resolution: "@smithy/hash-node@npm:2.0.15" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 "@smithy/util-buffer-from": ^2.0.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: e2b36a60c812fb716091ea06d205113cdee9ba4dfdd608bb1723e635f9bd53c4f8a9bd038f2c6fb369a91beee3189123925e2543ee373b81a77d62e71170523c + checksum: c3a2efed56ee6f58811d3a87a6e272a9c5fd82db527ea2c72cfe39401b61417676f2d7f952926be7b51ece134e662a8608a4ff4c2c500eb756a91a41384b716e languageName: node linkType: hard -"@smithy/hash-stream-node@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/hash-stream-node@npm:2.0.12" +"@smithy/hash-stream-node@npm:^2.0.15": + version: 2.0.15 + resolution: "@smithy/hash-stream-node@npm:2.0.15" dependencies: - "@smithy/types": ^2.4.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/types": ^2.5.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: 83b395ad6e529a23f82ca006597b08e5e83cf35e92b6813624cb8735632f7271e13249ffc687d6c21dbabccec92fc73fcf747e7dd7096d6d913a33d1e6842c7d + checksum: 9588a91c6cfbe65289632a9d4369b340e949b83552311520e1df95d2f06456f8d11be0c6227eb266c96cbc56b7f9b631d75462616544b38fb160a616244a3996 languageName: node linkType: hard -"@smithy/invalid-dependency@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/invalid-dependency@npm:2.0.12" +"@smithy/invalid-dependency@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/invalid-dependency@npm:2.0.13" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 3b8a218ad67d3eca06d1646f21e52bf7704449fec714a0c113ab5db100605b05b37b12facd00b92df1203d5bec66ff4ed5e763691ac7c098b85854f194eefb58 + checksum: f744eb38f5ee77d0b8ef5c57dfabf9befda4626f68808742e8b42754eba05e1def3e2a24e0daf2940b5454f52460af14e871dd8431b0237e87cb300be6704057 languageName: node linkType: hard @@ -16454,161 +16244,161 @@ __metadata: languageName: node linkType: hard -"@smithy/md5-js@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/md5-js@npm:2.0.12" +"@smithy/md5-js@npm:^2.0.15": + version: 2.0.15 + resolution: "@smithy/md5-js@npm:2.0.15" dependencies: - "@smithy/types": ^2.4.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/types": ^2.5.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: c6b90d31d89ff386d13b8ecad7aeb2d63fd6b534f0954745b34690fdb4b2520f228769c4ef2967a476a2cd5d6de0151be2998714c5ba1fde2253976012b18fba + checksum: d5a40f063629977201bcf72092ed4e2bfea18134ef693721f69823356a878f919ec4b00b621ee078201167e429e1eb79e1d80c26f03b06d7ee999bfbd882788b languageName: node linkType: hard -"@smithy/middleware-content-length@npm:^2.0.14": - version: 2.0.14 - resolution: "@smithy/middleware-content-length@npm:2.0.14" +"@smithy/middleware-content-length@npm:^2.0.15": + version: 2.0.15 + resolution: "@smithy/middleware-content-length@npm:2.0.15" dependencies: - "@smithy/protocol-http": ^3.0.8 - "@smithy/types": ^2.4.0 + "@smithy/protocol-http": ^3.0.9 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: ff289f3c7ec4dbf53297e5968196444a387ddd3e67cb8426e40cadc096e7a5127e30315520761aa53a98daecfde0e6ecc195a722d4b31b7662f63b3286474224 + checksum: f22a35e175f09b929655eb1445dc0954b2f1580bffc41b91cd01f67bf0e41367e510919f213c239157083b2a25f1aa0b9cc60b1b6832f3e03d4e00ec3228e7cb languageName: node linkType: hard -"@smithy/middleware-endpoint@npm:^2.1.3": - version: 2.1.3 - resolution: "@smithy/middleware-endpoint@npm:2.1.3" +"@smithy/middleware-endpoint@npm:^2.2.0": + version: 2.2.0 + resolution: "@smithy/middleware-endpoint@npm:2.2.0" dependencies: - "@smithy/middleware-serde": ^2.0.12 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/shared-ini-file-loader": ^2.2.2 - "@smithy/types": ^2.4.0 - "@smithy/url-parser": ^2.0.12 - "@smithy/util-middleware": ^2.0.5 + "@smithy/middleware-serde": ^2.0.13 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/shared-ini-file-loader": ^2.2.4 + "@smithy/types": ^2.5.0 + "@smithy/url-parser": ^2.0.13 + "@smithy/util-middleware": ^2.0.6 tslib: ^2.5.0 - checksum: 62dfcb031bccb575a33f04ca8d684634eb03585530b28ffe759242dc13fef7e11755673d3d7d1be15a90f933f579614bc78d83dad0747e3bf344c60cb2212d92 + checksum: 2cf37d0859b2bb24deeca9e9907be38f120be56967970c0adbb443a9e126fd9889012b2d871df1fa1a1b2367f80b097f3f152d6bf8e4fdaf01fc6c714a1cc963 languageName: node linkType: hard -"@smithy/middleware-retry@npm:^2.0.18": - version: 2.0.18 - resolution: "@smithy/middleware-retry@npm:2.0.18" +"@smithy/middleware-retry@npm:^2.0.20": + version: 2.0.20 + resolution: "@smithy/middleware-retry@npm:2.0.20" dependencies: - "@smithy/node-config-provider": ^2.1.3 - "@smithy/protocol-http": ^3.0.8 - "@smithy/service-error-classification": ^2.0.5 - "@smithy/types": ^2.4.0 - "@smithy/util-middleware": ^2.0.5 - "@smithy/util-retry": ^2.0.5 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/protocol-http": ^3.0.9 + "@smithy/service-error-classification": ^2.0.6 + "@smithy/types": ^2.5.0 + "@smithy/util-middleware": ^2.0.6 + "@smithy/util-retry": ^2.0.6 tslib: ^2.5.0 uuid: ^8.3.2 - checksum: 7372232d35fbff0f770e4ec608940c81a776040971556e3a328980ebcceb9f9469eb09e5d6014811c42759c77653ded4cbbccc21b7c26f3405c7299062a523b3 + checksum: 8b76aaeba90dd80409a615f5c866ae8490b537bcc21c0bb5371026a891b7c74ac0a1647175bd1752b2c3d6a1b443eddddf2dc093b24da585d924e957dea18113 languageName: node linkType: hard -"@smithy/middleware-serde@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/middleware-serde@npm:2.0.12" - dependencies: - "@smithy/types": ^2.4.0 - tslib: ^2.5.0 - checksum: 5e8b04511c017bcadbf1a6efc6c71588586cabaa130df10562a74159d128e56965581799e80a0645557bab03df8bea187b21cb1fd536e17cf73148e5b678925f - languageName: node - linkType: hard - -"@smithy/middleware-stack@npm:^2.0.6": - version: 2.0.6 - resolution: "@smithy/middleware-stack@npm:2.0.6" - dependencies: - "@smithy/types": ^2.4.0 - tslib: ^2.5.0 - checksum: 3626b71364b83d091751cd6ad7f7bc655a1746f970c63ea3205c2bc171a596a734394d556fcf66f1458b8151fe54cab5bf774ee66b4d40c3dd9d9e7d9114f905 - languageName: node - linkType: hard - -"@smithy/node-config-provider@npm:^2.1.3": - version: 2.1.3 - resolution: "@smithy/node-config-provider@npm:2.1.3" - dependencies: - "@smithy/property-provider": ^2.0.13 - "@smithy/shared-ini-file-loader": ^2.2.2 - "@smithy/types": ^2.4.0 - tslib: ^2.5.0 - checksum: 22e188fbc099616e50661afb0decb88ba67b396a1fbed122ad2a857a2a9e4a80d34a68d793cca6cb9e34a299ca1cde2bf3b9ab2b97b733bae838852acec080c5 - languageName: node - linkType: hard - -"@smithy/node-http-handler@npm:^2.1.7, @smithy/node-http-handler@npm:^2.1.8": - version: 2.1.8 - resolution: "@smithy/node-http-handler@npm:2.1.8" - dependencies: - "@smithy/abort-controller": ^2.0.12 - "@smithy/protocol-http": ^3.0.8 - "@smithy/querystring-builder": ^2.0.12 - "@smithy/types": ^2.4.0 - tslib: ^2.5.0 - checksum: 17e51b8c0b2dc7dcf7e32bc2cbd836220f86355b4d630f0b94fad4ed79dfa737b4ecbb7c72752b59e6849ca342c4a3ade89846e0276d986a72d25ed280ce3a8c - languageName: node - linkType: hard - -"@smithy/property-provider@npm:^2.0.0, @smithy/property-provider@npm:^2.0.13": +"@smithy/middleware-serde@npm:^2.0.13": version: 2.0.13 - resolution: "@smithy/property-provider@npm:2.0.13" + resolution: "@smithy/middleware-serde@npm:2.0.13" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 62443ec94d4dafaa0c2f285957264b3b548fd5a164ebd1ef02e4286c55d3e07e4d22d695fc2857ad0b1e406d01bf27271e9d7c3c05465638da0226ae4305d3d7 + checksum: 549bdc9d2a79ee746572d631c0f10f700fa251a46ca289271ce1904027b483ac617f2e01c43b3f7f202395588f6607f436b32930318a83ecd6004a0b869ccf09 languageName: node linkType: hard -"@smithy/protocol-http@npm:^3.0.8": - version: 3.0.8 - resolution: "@smithy/protocol-http@npm:3.0.8" +"@smithy/middleware-stack@npm:^2.0.7": + version: 2.0.7 + resolution: "@smithy/middleware-stack@npm:2.0.7" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: deb4f7d863bcc67724555b3a1ffb8e605a3df63cde9f40234813f072184bb68f5c33388c1934f56576b08a877bb8c9c0bfb849deb0526b55a9410678040fa019 + checksum: 46405edb32290c1d6e291352a943687afcdacbaea413494f86b61b99b7a85ffc8f8f5aaf58f14ecc3c7cd80535231047d748e5d9ee3c38cd1b02c20daea938aa languageName: node linkType: hard -"@smithy/querystring-builder@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/querystring-builder@npm:2.0.12" +"@smithy/node-config-provider@npm:^2.1.5": + version: 2.1.5 + resolution: "@smithy/node-config-provider@npm:2.1.5" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/property-provider": ^2.0.14 + "@smithy/shared-ini-file-loader": ^2.2.4 + "@smithy/types": ^2.5.0 + tslib: ^2.5.0 + checksum: 813a0b0fa9758cc181074e1b3c1d7d3a9598e7bbbbed5da24eb38ec3053a8c00d675ee293d245d84cb601ade2e83e3faa054e68131307973419f93828abeb780 + languageName: node + linkType: hard + +"@smithy/node-http-handler@npm:^2.1.7, @smithy/node-http-handler@npm:^2.1.9": + version: 2.1.9 + resolution: "@smithy/node-http-handler@npm:2.1.9" + dependencies: + "@smithy/abort-controller": ^2.0.13 + "@smithy/protocol-http": ^3.0.9 + "@smithy/querystring-builder": ^2.0.13 + "@smithy/types": ^2.5.0 + tslib: ^2.5.0 + checksum: 43f85155bcf08cfe2d2ca91decae932def73e41925151d4c5e039db5c2f3cd9ab0fcf04b05958e8861d1a0df7d4f9667e4434800db3408024c23832a2395d148 + languageName: node + linkType: hard + +"@smithy/property-provider@npm:^2.0.0, @smithy/property-provider@npm:^2.0.14": + version: 2.0.14 + resolution: "@smithy/property-provider@npm:2.0.14" + dependencies: + "@smithy/types": ^2.5.0 + tslib: ^2.5.0 + checksum: 44cd1b4eeb07be4b88c6a2e8a1f4cd6b56e40f1f457b64f596fc2f46ce7c4991230b0c9654cb4489f93897678b81457a1cac104f566d9856cfbc92a66efa1a2e + languageName: node + linkType: hard + +"@smithy/protocol-http@npm:^3.0.9": + version: 3.0.9 + resolution: "@smithy/protocol-http@npm:3.0.9" + dependencies: + "@smithy/types": ^2.5.0 + tslib: ^2.5.0 + checksum: d10f57da9c60f1b0806ae10b0482ee97b227b76151c55daebc57c7dab55dbee2329b3f36d6d7811b547994b8c2db5dddff0aedead9eede459856b5bc5b104723 + languageName: node + linkType: hard + +"@smithy/querystring-builder@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/querystring-builder@npm:2.0.13" + dependencies: + "@smithy/types": ^2.5.0 "@smithy/util-uri-escape": ^2.0.0 tslib: ^2.5.0 - checksum: d7d0608ac14d8ccd2b418743fc91be9c77b75a302a7552f666a81454fa1764e2162fb2c2f7655cf24045ae44416252362111b9612ea9759dbc1f27f75a71aa42 + checksum: 453cdd8b28b310bd9d591f54e884c68b2215c03684aa7b8ae9844e57709e3f22c5ee5abc6441d8446023a7c4197232b7b7aa6fa7068af9f2654491a9a7c35ce6 languageName: node linkType: hard -"@smithy/querystring-parser@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/querystring-parser@npm:2.0.12" +"@smithy/querystring-parser@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/querystring-parser@npm:2.0.13" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 889dad387fda7db289d0360cbc38901d2c726d164c56915c76ee125bb8059f8a86e28442841000112c3b8a5a3c7701da391f961350969ea5242c6cdf55f296cf + checksum: aaaa21dcdaa44d5d3d734512e3fe8591fff9713dc32da129aa836d938f5469286952eba997adc68fb2f9d8655b0e02a4bba7a6163ff22f799880c913b74396dd languageName: node linkType: hard -"@smithy/service-error-classification@npm:^2.0.5": - version: 2.0.5 - resolution: "@smithy/service-error-classification@npm:2.0.5" +"@smithy/service-error-classification@npm:^2.0.6": + version: 2.0.6 + resolution: "@smithy/service-error-classification@npm:2.0.6" dependencies: - "@smithy/types": ^2.4.0 - checksum: cd4b9fcc5cd940035ca4f3e832f8480d75eb81c90501bdb5c9295c5fd26487ca2e2f3d3efa9a322faeaedf10d6d8324327cd3341fc05d38f8605006ad836abaa + "@smithy/types": ^2.5.0 + checksum: 07be989a2d3e17e14f8c7824bf9342632ec5ed1e4e0b4f2d242442f49a50058db5cbb7b8419b684126bf5c4ba08f6bce3360f43d73bd2def15771a1af7c1c95f languageName: node linkType: hard -"@smithy/shared-ini-file-loader@npm:^2.0.6, @smithy/shared-ini-file-loader@npm:^2.2.2": - version: 2.2.2 - resolution: "@smithy/shared-ini-file-loader@npm:2.2.2" +"@smithy/shared-ini-file-loader@npm:^2.0.6, @smithy/shared-ini-file-loader@npm:^2.2.4": + version: 2.2.4 + resolution: "@smithy/shared-ini-file-loader@npm:2.2.4" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 851b1ed096609a3c860aebdf7110629783e4824a246d96b10a262426bb90aa4eb2e0370ff489dec48c1dcbd812d95bd3208d785f34c22c2f20249a36bf5ea762 + checksum: 790cc9c1e0d39ec179fcb97f612205770112ed14fa6626b2dee81ef140d6fa0d89a87825ccddda35475f9de9e6b8b70228565b2ed90c1487de20b603cc79505a languageName: node linkType: hard @@ -16628,15 +16418,15 @@ __metadata: languageName: node linkType: hard -"@smithy/smithy-client@npm:^2.1.12": - version: 2.1.12 - resolution: "@smithy/smithy-client@npm:2.1.12" +"@smithy/smithy-client@npm:^2.1.15": + version: 2.1.15 + resolution: "@smithy/smithy-client@npm:2.1.15" dependencies: - "@smithy/middleware-stack": ^2.0.6 - "@smithy/types": ^2.4.0 - "@smithy/util-stream": ^2.0.17 + "@smithy/middleware-stack": ^2.0.7 + "@smithy/types": ^2.5.0 + "@smithy/util-stream": ^2.0.20 tslib: ^2.5.0 - checksum: 9e2944a9c753511777468ec40a3295e5351d08349258a57b70dfc9a96e882efed6075eb7fd3c0494fa07279bdefdfad2e5aecf7930685c656131a97d56aae209 + checksum: ad9aa105748866f22147d5e357759edd4cc4e263269b50ad4d9d2f4ec211297d90bd768cd4f182eb8230a32134166b38532b24a8884589e75c417a6e964eaa6d languageName: node linkType: hard @@ -16649,33 +16439,33 @@ __metadata: languageName: node linkType: hard -"@smithy/types@npm:^2.0.2, @smithy/types@npm:^2.4.0": - version: 2.4.0 - resolution: "@smithy/types@npm:2.4.0" +"@smithy/types@npm:^2.0.2, @smithy/types@npm:^2.5.0": + version: 2.5.0 + resolution: "@smithy/types@npm:2.5.0" dependencies: tslib: ^2.5.0 - checksum: 936690f8ba9323c05a1046102f83d7ed76c5c2f2405ca22e8bfed8d66a5ba12d74a187c10d93b085d6822b98edaec7b6309a4401f036099bf239a0bf5cdcf00d + checksum: 9e03dcf6c9ae7239218ccecae0a04d5f0aaab42e17a326590becfd68f1b15ba1291ed408501efab4a20a0542d995b5a859ab58ca83cd4f3e2dbf430785e207a6 languageName: node linkType: hard -"@smithy/url-parser@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/url-parser@npm:2.0.12" +"@smithy/url-parser@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/url-parser@npm:2.0.13" dependencies: - "@smithy/querystring-parser": ^2.0.12 - "@smithy/types": ^2.4.0 + "@smithy/querystring-parser": ^2.0.13 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 40324cee758137342573e9f7bf685bc7c3f8284ff2f15d3c68a244dacf26f62cd92b234f220ddfc2963038ef766dd73c3f70642c592a49bd10432c5432fb1ab6 + checksum: 96b64d0740aa8ce365316a361f5549c55fee92218e6d5673750ce8036bb68a9c200f2a39a945e548815c5206a5f28cb0022155e60d357fbb4a6bb41381d4b622 languageName: node linkType: hard -"@smithy/util-base64@npm:^2.0.0": - version: 2.0.0 - resolution: "@smithy/util-base64@npm:2.0.0" +"@smithy/util-base64@npm:^2.0.1": + version: 2.0.1 + resolution: "@smithy/util-base64@npm:2.0.1" dependencies: "@smithy/util-buffer-from": ^2.0.0 tslib: ^2.5.0 - checksum: 52124a684dfac853288acd2a0ffff02559c21bf7faaa3db58a914e4acb4b1f7925fd48593e7545db87f8f962250824d1249dc8be645ecbd2c1dd1728cfe1069b + checksum: 6320916b50a0f4048462564cbc413e619ee02747e188463721670ce554d0b1652517068a1aa066209101a2185b4f3d13afd0c173aac99c461ca685a1fa15f934 languageName: node linkType: hard @@ -16716,31 +16506,42 @@ __metadata: languageName: node linkType: hard -"@smithy/util-defaults-mode-browser@npm:^2.0.16": - version: 2.0.16 - resolution: "@smithy/util-defaults-mode-browser@npm:2.0.16" +"@smithy/util-defaults-mode-browser@npm:^2.0.19": + version: 2.0.19 + resolution: "@smithy/util-defaults-mode-browser@npm:2.0.19" dependencies: - "@smithy/property-provider": ^2.0.13 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 + "@smithy/property-provider": ^2.0.14 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 bowser: ^2.11.0 tslib: ^2.5.0 - checksum: 8dae0256e89c13ab7bcd791fe336124adc17d95401ceb7152784a809ed9ba09a639573c1ce2bf32b12964f7181aeb2cdfc283d820301f2b3a82ef4906fe83280 + checksum: 13b1f9fed2a9bbb9f755b192e1ddaccdb5624f104f89c0f0404c48ad1eafb006733f9b930692e50261c8479821cdcce08cfb71771ea5c0d112638bd4d23ba24d languageName: node linkType: hard -"@smithy/util-defaults-mode-node@npm:^2.0.21": - version: 2.0.21 - resolution: "@smithy/util-defaults-mode-node@npm:2.0.21" +"@smithy/util-defaults-mode-node@npm:^2.0.25": + version: 2.0.25 + resolution: "@smithy/util-defaults-mode-node@npm:2.0.25" dependencies: - "@smithy/config-resolver": ^2.0.16 - "@smithy/credential-provider-imds": ^2.0.18 - "@smithy/node-config-provider": ^2.1.3 - "@smithy/property-provider": ^2.0.13 - "@smithy/smithy-client": ^2.1.12 - "@smithy/types": ^2.4.0 + "@smithy/config-resolver": ^2.0.18 + "@smithy/credential-provider-imds": ^2.1.1 + "@smithy/node-config-provider": ^2.1.5 + "@smithy/property-provider": ^2.0.14 + "@smithy/smithy-client": ^2.1.15 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: ce2643ad99181b91b4eb00f2b2b34d12ff006ac1770333ae62541cfc7b98b873e233933d483d7bb0a443a8155debd94731a1df0f4cc572e6cc5ddbf97416e2d7 + checksum: 8e82f7f0c4260475e172f5baaf449155150c7d5ccb7939ccee3a061831b58998c55046cfd89761c06e43637e3e50805ca38277c5410f59b0906323e748285b80 + languageName: node + linkType: hard + +"@smithy/util-endpoints@npm:^1.0.4": + version: 1.0.4 + resolution: "@smithy/util-endpoints@npm:1.0.4" + dependencies: + "@smithy/node-config-provider": ^2.1.5 + "@smithy/types": ^2.5.0 + tslib: ^2.5.0 + checksum: 8c121070c0207b728e498a9d0b6082fcc83098b0ab33fde9b0b2db1bef724affc8712d9ae251bc155f595b7ca61a61529b519597c549808129d51bfdef9ad119 languageName: node linkType: hard @@ -16753,40 +16554,40 @@ __metadata: languageName: node linkType: hard -"@smithy/util-middleware@npm:^2.0.0, @smithy/util-middleware@npm:^2.0.5": - version: 2.0.5 - resolution: "@smithy/util-middleware@npm:2.0.5" +"@smithy/util-middleware@npm:^2.0.0, @smithy/util-middleware@npm:^2.0.6": + version: 2.0.6 + resolution: "@smithy/util-middleware@npm:2.0.6" dependencies: - "@smithy/types": ^2.4.0 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: 9d001723e7472c0d78619320235f66d1de42f16e13d1189697f8e447d05643047ab97965525b147eaafbb0e169563ecb5b806da2d02bd4ce0b652b72df4d9131 + checksum: bf31193bbd08691c23e18da069fe95e2e989fcfde87133d183d469dc6e34d76918d56d68f5e5ff15d4f58575e7426ca6f952d248e51421739a2968c51e42e5b7 languageName: node linkType: hard -"@smithy/util-retry@npm:^2.0.5": - version: 2.0.5 - resolution: "@smithy/util-retry@npm:2.0.5" +"@smithy/util-retry@npm:^2.0.6": + version: 2.0.6 + resolution: "@smithy/util-retry@npm:2.0.6" dependencies: - "@smithy/service-error-classification": ^2.0.5 - "@smithy/types": ^2.4.0 + "@smithy/service-error-classification": ^2.0.6 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: e7169b458a9c194104e16014b2829deddb9ee4175fd17bd933d0ab9ec9df065cf23816b605eafb6604da1111e3280c5fea4da98dd8ec5f5f3e1c30e166119808 + checksum: c37d163f83981ca58c7d924b178a09e18abc915ffb5efb20fcc4e662ad909938296fd295244ed84a209e84e56d66a629a9eba655306ca401c1a3b91c4433ff22 languageName: node linkType: hard -"@smithy/util-stream@npm:^2.0.17": - version: 2.0.17 - resolution: "@smithy/util-stream@npm:2.0.17" +"@smithy/util-stream@npm:^2.0.20": + version: 2.0.20 + resolution: "@smithy/util-stream@npm:2.0.20" dependencies: - "@smithy/fetch-http-handler": ^2.2.4 - "@smithy/node-http-handler": ^2.1.8 - "@smithy/types": ^2.4.0 - "@smithy/util-base64": ^2.0.0 + "@smithy/fetch-http-handler": ^2.2.6 + "@smithy/node-http-handler": ^2.1.9 + "@smithy/types": ^2.5.0 + "@smithy/util-base64": ^2.0.1 "@smithy/util-buffer-from": ^2.0.0 "@smithy/util-hex-encoding": ^2.0.0 - "@smithy/util-utf8": ^2.0.0 + "@smithy/util-utf8": ^2.0.2 tslib: ^2.5.0 - checksum: acd68f7b092fdf3560f5d88f3f81d1bfab4c634f8b7acd8eca1993c8ce789d9652d23048c9e891a42dd12dd71e7a9756b9879ae95fccd1cd92f7ad8204c97d68 + checksum: 24aeaa4cbb69c1faecf35a5c15631beae92742b0deb140fd565053aa995bd5587fef3150e58cc87d16896bf35ebefd5afcc894daee0dde4d44deafd4a158ff22 languageName: node linkType: hard @@ -16799,24 +16600,24 @@ __metadata: languageName: node linkType: hard -"@smithy/util-utf8@npm:^2.0.0": - version: 2.0.0 - resolution: "@smithy/util-utf8@npm:2.0.0" +"@smithy/util-utf8@npm:^2.0.0, @smithy/util-utf8@npm:^2.0.2": + version: 2.0.2 + resolution: "@smithy/util-utf8@npm:2.0.2" dependencies: "@smithy/util-buffer-from": ^2.0.0 tslib: ^2.5.0 - checksum: bc8cda84f85b513380a61352635b306ae50d3b92974454db32835b39bbaa38150332b89346098ba9dea2e0002e2963fcbdd622bc9b3eec7b7ea8fa3f8c7ce737 + checksum: e38fd6324ca2858f76fb6fce427c03faec599213acf95a5b18eb77b72cdf9327bd688e5a260dbccc0f512ea5426422ed200122a9542c00b14a6d9becc3f84c79 languageName: node linkType: hard -"@smithy/util-waiter@npm:^2.0.12": - version: 2.0.12 - resolution: "@smithy/util-waiter@npm:2.0.12" +"@smithy/util-waiter@npm:^2.0.13": + version: 2.0.13 + resolution: "@smithy/util-waiter@npm:2.0.13" dependencies: - "@smithy/abort-controller": ^2.0.12 - "@smithy/types": ^2.4.0 + "@smithy/abort-controller": ^2.0.13 + "@smithy/types": ^2.5.0 tslib: ^2.5.0 - checksum: af35c36a58585472aae9e06ea000a113110f22bed179687213336a014b002deb867cb094f9cb01bc43856235df05517baf08009b3b929a48b48f964c426c1ffc + checksum: 1325887f9002b9f08c5cfcabcf35ce4488b4c2d009333955a166b27aa40b149a19f8359fdd8b265995409f64686bfb3aa02eb7bc18aea15aaa8d309d640107a5 languageName: node linkType: hard @@ -16883,7 +16684,7 @@ __metadata: languageName: node linkType: hard -"@stoplight/json-ref-readers@npm:1.2.2": +"@stoplight/json-ref-readers@npm:1.2.2, @stoplight/json-ref-readers@npm:^1.2.2": version: 1.2.2 resolution: "@stoplight/json-ref-readers@npm:1.2.2" dependencies: @@ -16893,11 +16694,11 @@ __metadata: languageName: node linkType: hard -"@stoplight/json-ref-resolver@npm:~3.1.5": - version: 3.1.5 - resolution: "@stoplight/json-ref-resolver@npm:3.1.5" +"@stoplight/json-ref-resolver@npm:^3.1.5, @stoplight/json-ref-resolver@npm:~3.1.6": + version: 3.1.6 + resolution: "@stoplight/json-ref-resolver@npm:3.1.6" dependencies: - "@stoplight/json": ^3.17.0 + "@stoplight/json": ^3.21.0 "@stoplight/path": ^1.3.2 "@stoplight/types": ^12.3.0 || ^13.0.0 "@types/urijs": ^1.19.19 @@ -16905,13 +16706,13 @@ __metadata: fast-memoize: ^2.5.2 immer: ^9.0.6 lodash: ^4.17.21 - tslib: ^2.3.1 + tslib: ^2.6.0 urijs: ^1.19.11 - checksum: b2df82e899717ffa7bab9ec4c380f206511b3971d242724afd34e8b964e5aa7be2a52e32ba48d435548a9ac13a63a2271ca69182abec8506fc3bb3cc129f6380 + checksum: 57c944cc8cee51b18fd8165aae7431eddf3b6ca96f2de7a264d890f18a869e5abb7750d48a77455ee1c688ac440efa4115bc8e912efce7c83140834bae49879e languageName: node linkType: hard -"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:~3.21.0": +"@stoplight/json@npm:^3.17.0, @stoplight/json@npm:^3.17.1, @stoplight/json@npm:^3.20.2, @stoplight/json@npm:^3.21.0, @stoplight/json@npm:~3.21.0": version: 3.21.0 resolution: "@stoplight/json@npm:3.21.0" dependencies: @@ -16939,7 +16740,7 @@ __metadata: languageName: node linkType: hard -"@stoplight/spectral-core@npm:^1.15.1, @stoplight/spectral-core@npm:^1.18.0, @stoplight/spectral-core@npm:^1.7.0, @stoplight/spectral-core@npm:^1.8.0, @stoplight/spectral-core@npm:^1.8.1": +"@stoplight/spectral-core@npm:^1.15.1, @stoplight/spectral-core@npm:^1.16.1, @stoplight/spectral-core@npm:^1.18.0, @stoplight/spectral-core@npm:^1.7.0, @stoplight/spectral-core@npm:^1.8.0, @stoplight/spectral-core@npm:^1.8.1": version: 1.18.3 resolution: "@stoplight/spectral-core@npm:1.18.3" dependencies: @@ -17030,16 +16831,16 @@ __metadata: languageName: node linkType: hard -"@stoplight/spectral-ref-resolver@npm:^1.0.0": - version: 1.0.3 - resolution: "@stoplight/spectral-ref-resolver@npm:1.0.3" +"@stoplight/spectral-ref-resolver@npm:^1.0.0, @stoplight/spectral-ref-resolver@npm:^1.0.3": + version: 1.0.4 + resolution: "@stoplight/spectral-ref-resolver@npm:1.0.4" dependencies: "@stoplight/json-ref-readers": 1.2.2 - "@stoplight/json-ref-resolver": ~3.1.5 + "@stoplight/json-ref-resolver": ~3.1.6 "@stoplight/spectral-runtime": ^1.1.2 dependency-graph: 0.11.0 tslib: ^2.3.1 - checksum: efe93b1d1d32647b675c221530ecb20c55303dfcd1009efd8e036f6415eb1255fff19781358a74046160516a7b7088b6329885bb507a444c14db32fa23392bc9 + checksum: 1e9b2e211d2724e0bab7d817a5128f7b6cab9f0f5281d07223ace1d541a51a0eb3901b9f7b02d4b0484df1cb2a3f7239ec33a974321438d3d08ce7996fd6fcc4 languageName: node linkType: hard @@ -17090,7 +16891,7 @@ __metadata: languageName: node linkType: hard -"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.0.0, @stoplight/types@npm:^13.14.0, @stoplight/types@npm:^13.15.0, @stoplight/types@npm:^13.6.0": +"@stoplight/types@npm:^12.3.0 || ^13.0.0, @stoplight/types@npm:^13.0.0, @stoplight/types@npm:^13.12.0, @stoplight/types@npm:^13.14.0, @stoplight/types@npm:^13.15.0, @stoplight/types@npm:^13.6.0": version: 13.20.0 resolution: "@stoplight/types@npm:13.20.0" dependencies: @@ -17313,322 +17114,366 @@ __metadata: languageName: node linkType: hard -"@swagger-api/apidom-ast@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ast@npm:0.77.0" +"@swagger-api/apidom-ast@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ast@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-error": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-error": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.1.1 stampit: ^4.3.2 unraw: ^3.0.0 - checksum: ffd54c63103bb24763f6531f672d8b8112bcc6a6730b770621f2b95a0e25e72cdcf513608739006a6a937b82e59d16b9368e95f1dc7560388ccdb65178b9501d + checksum: 7449e1c3eb316920e277d773a3504af9379ade513836342a55817888c73ad65bf08c6c11222fbd9f6862108ab3fad3d2ce2dfa7ab4f9acf48a3134f27f057f87 languageName: node linkType: hard -"@swagger-api/apidom-core@npm:>=0.77.0 <1.0.0, @swagger-api/apidom-core@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-core@npm:0.77.0" +"@swagger-api/apidom-core@npm:>=0.83.0 <1.0.0, @swagger-api/apidom-core@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-core@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-ast": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@types/ramda": ~0.29.6 minim: ~0.23.8 ramda: ~0.29.0 ramda-adjunct: ^4.1.1 short-unique-id: ^5.0.2 stampit: ^4.3.2 - checksum: 06251765371bc89cedbd142979913c8b5006e6c434e21f9567816a0da7450ed4e7d0430db487cfad1f0244f63a1adaad48a7115148029a9bf034cca995eb0df4 + checksum: acbdd94eabb7ad44ba5c7c1e69a831bd5b53aca6f4e66abb66ad5e8d53717cb453a5885c51008b6a7b5f7e16de8660a1b5652a4498883c84d37cb62b093e3e91 languageName: node linkType: hard -"@swagger-api/apidom-error@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-error@npm:0.77.0" +"@swagger-api/apidom-error@npm:>=0.83.0 <1.0.0, @swagger-api/apidom-error@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-error@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@types/ramda": ~0.29.3 + checksum: 94fee6b4ee4a60a7d121d17c92808bec452bd7c638c3ecceda6fc427f47a0297e78a2366a37c7216b84b4a95aead825eb421356fa17dc67dd44da86e27660d1c + languageName: node + linkType: hard + +"@swagger-api/apidom-json-pointer@npm:>=0.83.0 <1.0.0, @swagger-api/apidom-json-pointer@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-json-pointer@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 9a9424cdd659b024d7e5afbcf66808c15ff9455c21beda2f8f2442b798f4968c424e5bdc71f70a4284e7feed1ea1697d09823d65b91c752efc0a2767119e9674 + checksum: b48d784f18a8d8e948292c1126a0b768a0df347d31b6b1e4fa28df64ceb83cbb5d465a80fc87e127529e339000eb97d28f7c4d632af47db3dbe7eeb92f9477c1 languageName: node linkType: hard -"@swagger-api/apidom-json-pointer@npm:>=0.77.0 <1.0.0, @swagger-api/apidom-json-pointer@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-json-pointer@npm:0.77.0" +"@swagger-api/apidom-ns-api-design-systems@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-api-design-systems@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-1": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 711a533d1a386e296525bbb131948e24ca548ee0d4de67acd8ae9f37097fef5801d82887eecdb9a45f954fb10c30666634fa78edb2e09d061beaab8dde47da35 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-asyncapi-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-asyncapi-2@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-json-schema-draft-7": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 0c7e6bc35c2b5e46bd08922309cd494133302ce3b6b8d0cbfbfb99106ea7c1e160ca4ab11f21161598c532c86fafa9127320e5b561560a01e51ceef9d545e767 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-json-schema-draft-4@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-json-schema-draft-4@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-ast": ^0.83.0 + "@swagger-api/apidom-core": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 7fb5db60a95d3531b9fb38693a0b758a8bb3e946f7e7f4e202eaef093cdd53c6289031c8b8977e8548c6376b8e41a627827b64e2c9f5de2f63fc3a427e2f670b + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-json-schema-draft-6@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-json-schema-draft-6@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-ns-json-schema-draft-4": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 60d3d359bf0e8054bad013fb2d7bd4c020d4fb0ce6819538b47986ea7f89269af5f1c3b65c7ddb864bc502a7c41e6069c042a9be753cd9d47dc13b9d0572d216 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-json-schema-draft-7@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-json-schema-draft-7@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-ns-json-schema-draft-6": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 01623f0c65795d1022e903d39858caac018f9fe338049247ea668805e1926d05713faae9f8ea43188e465a1e2f6783a5e3b38036965b56859036a16d8deb3b86 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-openapi-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-openapi-2@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-ns-json-schema-draft-4": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 078b138517b0c0dffa67186f2a23938ba87c98c9dd98d431ff812a8be45b3b711e22749b62e22ccd70d4615a92c0ca442b793386fe201583aa8c52556260b082 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-openapi-3-0@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-openapi-3-0@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-ns-json-schema-draft-4": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: dabe0745da3c4a3e719f1d9d7d3fbcd177c3735ec00ad762414ed6d9d82eed43b0897896d48e3b8690186029b952146b8bfcab2406d91797e6a9f81f451c51f3 + languageName: node + linkType: hard + +"@swagger-api/apidom-ns-openapi-3-1@npm:>=0.83.0 <1.0.0, @swagger-api/apidom-ns-openapi-3-1@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-ns-openapi-3-1@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-ast": ^0.83.0 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-0": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.1.1 + stampit: ^4.3.2 + checksum: 499818a4e437017f7a7ca8861dc1b8e90ba8bb8c300a1f2754bb7b2b05f95e0e897f6305bec1aa5c5af0f03c94e541660a412da25467091bcf35847cc2ee6a4c + languageName: node + linkType: hard + +"@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-api-design-systems": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 55f1b0d72eb96b9079f67a028d882841c94ab88a0ee67b826ab79d543763eae9428607dd47efb5524ce9bf80321620465f35d296282e1f3d0a6fd969c5269057 + checksum: 5a0ccf6158f4d9582002c3df4c30136ad8e0f7ee8e75a32f000d638e9b1906e1c42d9137fc4093532bbdbc7ebb3b23eb9fe2819690ae7643e9dde301710b264f languageName: node linkType: hard -"@swagger-api/apidom-ns-api-design-systems@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-api-design-systems@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-1": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: 93dd9b8c30592c8b98798aa7243d322fc4f287bd37ffb00b0a503f9c24759c96f9538212ca28972f684f9cb62ee7e6b8a4f76ac90e2b61616c4adb7b978a026a - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-asyncapi-2@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-asyncapi-2@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-json-schema-draft-7": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: 3675d90580baabcd4b866ca8a18f2eee865d2b5be0313fd7d6d8abfb4e342c5fdcc40b11abdff5547098f0bf44a85967f31fc1e8a266b3f3608628139981f808 - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-json-schema-draft-4@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-json-schema-draft-4@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^0.77.0 - "@swagger-api/apidom-core": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: d8f2a94fab06d731f397a8a5eb950053a2af67509155f2379033ed59592f95dad2ab9a1d15e39bfd606cb2d11003230b7e34bb2f52a837640d8b9c20f1e96a0d - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-json-schema-draft-6@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-json-schema-draft-6@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@swagger-api/apidom-ns-json-schema-draft-4": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: e80387564631180bd132f76046cbf8f773d6e1a4cd8cef9210320d5b8d4bec047a7884428ec625f9cb002b8d455bfffb5de5369647be6e25ef16b669568611e7 - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-json-schema-draft-7@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-json-schema-draft-7@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@swagger-api/apidom-ns-json-schema-draft-6": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: c57146e2adfa810a2d7204a72fe952914fb9ae66bcdba27f495d216dc15ed8e81c7d7d77eb8b27cd1efadb662059fdb761de5e1ba9e0ca36ba32cdc2fe34c7b7 - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-openapi-3-0@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-openapi-3-0@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-json-schema-draft-4": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: 54ab6155addc04c5c889768438b9e5fb084e084f2226034cafd71a1b22a66c90cd29d7731b24330a914cd5c049d0f2cfca92fc541eb3a3f297fdd9ca0b97036b - languageName: node - linkType: hard - -"@swagger-api/apidom-ns-openapi-3-1@npm:>=0.77.0 <1.0.0, @swagger-api/apidom-ns-openapi-3-1@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-ns-openapi-3-1@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^0.77.0 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-0": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.1.1 - stampit: ^4.3.2 - checksum: cac2c97892f104ef130a75e3ff6e244b36e0f9706d9a8106ab7bfa8eb0d64a547970b7a54ab5cc67c90b28a9ddc7141d5819015ad1682a9ef116348bb14b3401 - languageName: node - linkType: hard - -"@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-json@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-api-design-systems": ^0.77.0 - "@swagger-api/apidom-parser-adapter-json": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-api-design-systems": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 98278205fc50670f3b7bcade96326354f51e28071b2a9c33044d9b547c199d6386e2050fb27c0b939cf6feab0b3433b2f01f27b40d08e5e214221058a00243c9 + checksum: add8a138f379eddf4ce0fa78ffaf91d65c66b073d7304e11ed9db7f6262e2a981e8c9cb5cd36bb2471f573a37179c0f5414be9934714cc9166a98bfb6766931e languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-api-design-systems-yaml@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-api-design-systems": ^0.77.0 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-asyncapi-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 996b6f77458d3f9ca4bbe1680f87bb0226eec48ee5d81c653f3341565a091a5dc118a01dd715e593cc61069b5476bd20d89fd3cb7e60d51d66d08f3095869e0c + checksum: 0f510d2fb6b69daaebbc55cb186820394584941495ca2d7ae3ad608cc78f48f7b49d8dbf7299ac3fde2c553c8b0244bf265037e435e1e79176afc30029f127ca languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-asyncapi-json-2@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-asyncapi-2": ^0.77.0 - "@swagger-api/apidom-parser-adapter-json": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-asyncapi-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 1dca476bc5b38f3a7da2c8b3a37d6fc18933acaf097c898d50541e323607b038388b84f4df01a68d7a955d2baeedc9359e00aa3bb866372c27e2d49d123450af + checksum: 46c4fff48263ec0bb40698ded08018c2d6bb653da1e88b1a50ea1b433b83a922a65029d09a77b0febaed6b26822ac520222a8495eafc5f86d81be003b8d0f418 languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-json@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-json@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-asyncapi-2": ^0.77.0 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.77.0 - "@types/ramda": ~0.29.3 - ramda: ~0.29.0 - ramda-adjunct: ^4.0.0 - checksum: 0d39636ad24c7dc3d8008bf36a887ef374b6cc7d3da70615f593604daabfb950217be2d648a48eefe0ec8a8b797f1097568d9658dcc628b1d7f6f2f85f16f2f8 - languageName: node - linkType: hard - -"@swagger-api/apidom-parser-adapter-json@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-json@npm:0.77.0" - dependencies: - "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^0.77.0 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-ast": ^0.83.0 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@types/ramda": ~0.29.6 node-gyp: latest ramda: ~0.29.0 ramda-adjunct: ^4.1.1 stampit: ^4.3.2 tree-sitter: =0.20.4 - tree-sitter-json: =0.20.0 + tree-sitter-json: =0.20.1 web-tree-sitter: =0.20.3 - checksum: 4201832631976179d738de8e80c42c07d3bc9e369485b68b6074dab3cae5753ddc908bb875418fd8b90bdd290e1dfe12d058fc32b0a2285f98aa975bb2d6f754 + checksum: be94a40fb8d342fe6394f01a803f0403612a796017bd6169dd52c201b26d60ed36cf6b7363faf2c8203fa67b65349d74c99b685c589ffbad30c26df29a3a53db languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-openapi-json-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-2@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-0": ^0.77.0 - "@swagger-api/apidom-parser-adapter-json": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 2b98f225839c556ae332766960b49477cf5f3f89a710f8eb8151eb078827f5fc82dc5f1d8691454200a24aa192ad3799fe2446c4a779fba137ac2ee09fb0ee01 + checksum: e65c17bc9809af2b4c240c7f128258602bb8bdb440ad508ef08f5829b3347cc053624d117a4297c806a621ed61d9a53158a4aa4ed5cb3487a38935c32226d57d languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-0@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-1": ^0.77.0 - "@swagger-api/apidom-parser-adapter-json": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-0": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: a033f89957c4ef1e25f093026462d361942d613622f69acfd460c57485d183642ea9c29a004d94cff108779f2e55378cae5cd4dfd6e28fc20ecf93a5310369c8 + checksum: 3a0df777ad9dfdc6e9f6fb4984dfd3e3299a3ceff430719dc26eda9526e2102f786c89a08705cd780602eab5e85344ebe82dca1043741ecbf3ebd7b1961c109c languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-json-3-1@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-0": ^0.77.0 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-1": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: ce1b582d4c8f5abaaa595e6064e61c5003697257dac21b3e1602f43f42510284c2e9b720380a94e2eb035abec90a25e5ced41071a5560600bc0ad85ad3651d4a + checksum: 5cec1f6237871f479233d75b862ccf774ffe5c6d63c9f08734fa6c0067e53ec9091683e5d309bf94cf080bd570bd4cc2496c85988ec0d52cdc378219033a8bdc languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-2@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-1": ^0.77.0 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 ramda: ~0.29.0 ramda-adjunct: ^4.0.0 - checksum: 169fb616d2c2f3b5f136450122c9c5c6e5016d50efe5b2e64b67fde72359fc7114580b22f952ae97e5d6f30377e3b8688cc610e679f2ebf1c4e5e973130fd9e1 + checksum: bee0a9f82ddd02c1cbcf2b90896b70c2607a3ff53ca4431d176639878e0da0173946d6e303bab69d4d794dde178fcbd3c815428123f73eca2095ca89e828330d languageName: node linkType: hard -"@swagger-api/apidom-parser-adapter-yaml-1-2@npm:^0.77.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-parser-adapter-yaml-1-2@npm:0.77.0" +"@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-ast": ^0.77.0 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-0": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.0.0 + checksum: d6b3db2b4bf6280a14a76c29b9b6998380a1af09c0726bf736c7b64b30999268c2360776a284c76c2ec45d19f7c106816c98b2f399ec6225cfc9222dee3fb6ff + languageName: node + linkType: hard + +"@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-1": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 + ramda: ~0.29.0 + ramda-adjunct: ^4.0.0 + checksum: 6bd8cf74b04d7f8fbf0cb0202253db349c7ce1ace7ccc9cff72ae36035a3dac5606e73fc5a829f0ac02af2369aff81ad3991701674091e692ffefb4ffed9499d + languageName: node + linkType: hard + +"@swagger-api/apidom-parser-adapter-yaml-1-2@npm:^0.83.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-parser-adapter-yaml-1-2@npm:0.83.0" + dependencies: + "@babel/runtime-corejs3": ^7.20.7 + "@swagger-api/apidom-ast": ^0.83.0 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@types/ramda": ~0.29.6 node-gyp: latest ramda: ~0.29.0 ramda-adjunct: ^4.1.1 @@ -17636,32 +17481,35 @@ __metadata: tree-sitter: =0.20.4 tree-sitter-yaml: =0.5.0 web-tree-sitter: =0.20.3 - checksum: 8f58f0b05c4e1cce86c456bf5f4d68a479992542620194fd8207b4550c6b876568847583e19b2f1855afe20946197742c1a7ddddb36f175e82f638dce4c33a07 + checksum: df777f06199a82b8ccfb3ea53def7bbd08d06f3e3f4b5083526661bc86dd920ac83ca5b34dcaa26c0194d1dd7e104b6f324454790504b6934eb684011f6a5749 languageName: node linkType: hard -"@swagger-api/apidom-reference@npm:>=0.77.0 <1.0.0": - version: 0.77.0 - resolution: "@swagger-api/apidom-reference@npm:0.77.0" +"@swagger-api/apidom-reference@npm:>=0.83.0 <1.0.0": + version: 0.83.0 + resolution: "@swagger-api/apidom-reference@npm:0.83.0" dependencies: "@babel/runtime-corejs3": ^7.20.7 - "@swagger-api/apidom-core": ^0.77.0 - "@swagger-api/apidom-error": ^0.77.0 - "@swagger-api/apidom-json-pointer": ^0.77.0 - "@swagger-api/apidom-ns-asyncapi-2": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-0": ^0.77.0 - "@swagger-api/apidom-ns-openapi-3-1": ^0.77.0 - "@swagger-api/apidom-parser-adapter-api-design-systems-json": ^0.77.0 - "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": ^0.77.0 - "@swagger-api/apidom-parser-adapter-asyncapi-json-2": ^0.77.0 - "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": ^0.77.0 - "@swagger-api/apidom-parser-adapter-json": ^0.77.0 - "@swagger-api/apidom-parser-adapter-openapi-json-3-0": ^0.77.0 - "@swagger-api/apidom-parser-adapter-openapi-json-3-1": ^0.77.0 - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": ^0.77.0 - "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": ^0.77.0 - "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.77.0 - "@types/ramda": ~0.29.3 + "@swagger-api/apidom-core": ^0.83.0 + "@swagger-api/apidom-error": ^0.83.0 + "@swagger-api/apidom-json-pointer": ^0.83.0 + "@swagger-api/apidom-ns-asyncapi-2": ^0.83.0 + "@swagger-api/apidom-ns-openapi-2": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-0": ^0.83.0 + "@swagger-api/apidom-ns-openapi-3-1": ^0.83.0 + "@swagger-api/apidom-parser-adapter-api-design-systems-json": ^0.83.0 + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": ^0.83.0 + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-json": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-json-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": ^0.83.0 + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": ^0.83.0 + "@swagger-api/apidom-parser-adapter-yaml-1-2": ^0.83.0 + "@types/ramda": ~0.29.6 axios: ^1.4.0 minimatch: ^7.4.3 process: ^0.11.10 @@ -17675,6 +17523,8 @@ __metadata: optional: true "@swagger-api/apidom-ns-asyncapi-2": optional: true + "@swagger-api/apidom-ns-openapi-2": + optional: true "@swagger-api/apidom-ns-openapi-3-0": optional: true "@swagger-api/apidom-ns-openapi-3-1": @@ -17689,17 +17539,21 @@ __metadata: optional: true "@swagger-api/apidom-parser-adapter-json": optional: true + "@swagger-api/apidom-parser-adapter-openapi-json-2": + optional: true "@swagger-api/apidom-parser-adapter-openapi-json-3-0": optional: true "@swagger-api/apidom-parser-adapter-openapi-json-3-1": optional: true + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": + optional: true "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": optional: true "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": optional: true "@swagger-api/apidom-parser-adapter-yaml-1-2": optional: true - checksum: 19c9fc67aa37d0377eb210a49dfbc219be65c70ca8f3cc497453b5a4f76e597e363990aec0d36fbab9a43401ba6c1152c62ee3920d8f3f462f68ef957b911b77 + checksum: b19c9c98cda575b139b1556327809c2367cca9e169ac50ea64049f6cc64148630709e5cc11573124460bcd5f5fc834c0c4434b8564fac4488e16de3cef65a16f languageName: node linkType: hard @@ -18001,8 +17855,8 @@ __metadata: linkType: hard "@testing-library/react@npm:^14.0.0": - version: 14.0.0 - resolution: "@testing-library/react@npm:14.0.0" + version: 14.1.0 + resolution: "@testing-library/react@npm:14.1.0" dependencies: "@babel/runtime": ^7.12.5 "@testing-library/dom": ^9.0.0 @@ -18010,7 +17864,7 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 4a54c8f56cc4a39b50803205f84f06280bb76521d6d5d4b3b36651d760c7c7752ef142d857d52aaf4fad4848ed7a8be49afc793a5dda105955d2f8bef24901ac + checksum: e76681911947f0981a1a72802ea01abeacdc4973c62deaf19c206cb9ff8d23eff5e3888c572303614686f029ee8a2a2dad6d0f0a9fb222944dbd9e0ea573b248 languageName: node linkType: hard @@ -18070,15 +17924,15 @@ __metadata: languageName: node linkType: hard -"@ts-morph/common@npm:~0.18.0": - version: 0.18.1 - resolution: "@ts-morph/common@npm:0.18.1" +"@ts-morph/common@npm:~0.21.0": + version: 0.21.0 + resolution: "@ts-morph/common@npm:0.21.0" dependencies: fast-glob: ^3.2.12 - minimatch: ^5.1.0 - mkdirp: ^1.0.4 + minimatch: ^7.4.3 + mkdirp: ^2.1.6 path-browserify: ^1.0.1 - checksum: 848fff5f7a6428d7c2f055de20cf8df864a967aac0cc03adc558d853442085a8fd9dec70429da24d67d263794b315edb0791c46d23ad9ae513251a7702df8031 + checksum: c322e2a58608d7d924646b10ba9ad432b03e7b119788c9f0f270550bd5aca22947fcaa1c63f27e80898a50de3ed99fc8d9c23569c6a2f3f36c9307e35ceba3ed languageName: node linkType: hard @@ -18402,11 +18256,11 @@ __metadata: linkType: hard "@types/cors@npm:^2.8.6": - version: 2.8.15 - resolution: "@types/cors@npm:2.8.15" + version: 2.8.16 + resolution: "@types/cors@npm:2.8.16" dependencies: "@types/node": "*" - checksum: ef7b0aba4c6a4c1fe9d459bd471ebaa891a75319682c9248daa17720003d1d0d2c59de4bdb6868630596ade9b7c3c949e652d6141b14c6fe4387ffcc520d0f3f + checksum: 0c760aa826167a42bfbccff00d67e39c9dd9852e0cd88610f6d3ea1ed17e438df0f8f1f3175c77bfbfdee4c77bf677b12f6b5bd309358c30b5d0e758624b7250 languageName: node linkType: hard @@ -18870,12 +18724,13 @@ __metadata: languageName: node linkType: hard -"@types/jenkins@npm:^0.23.1": - version: 0.23.4 - resolution: "@types/jenkins@npm:0.23.4" +"@types/jenkins@npm:^1.0.0": + version: 1.0.2 + resolution: "@types/jenkins@npm:1.0.2" dependencies: "@types/node": "*" - checksum: 378af85d2f7c3da13cb04098837224551d5d048e6a7b87e78aea8c5e4385f8a1b2cdabd592bb7a6eaa0d46a27eb840c3aa3baa35f1f0449f7f03b8eb527c8562 + form-data: ^4.0.0 + checksum: c02895642c81a74cb40740117b5fce0af768ac7985028b6fd0c68d88b350261473db8c05681fc1de0c612579f905f283f0de33efe683ea9a716ae5264287bfba languageName: node linkType: hard @@ -18889,12 +18744,12 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:^29.0.0": - version: 29.5.7 - resolution: "@types/jest@npm:29.5.7" + version: 29.5.8 + resolution: "@types/jest@npm:29.5.8" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: e28624ccb0ef1255a03fbbb4b5bc3e5cbcdc450d39e0739985ff679b124198f808c38c8c3e67859c6efc0e848196deeb8cfed028e12a821c511dfc1112a2d6e9 + checksum: ca8438a5b4c098c8c023e9d5b279ea306494a1d0b5291cfb498100fa780377145f068b2a021d545b0398bbe0328dcc37044dd3aaf3c6c0fe9b0bef7b46a63453 languageName: node linkType: hard @@ -18939,12 +18794,12 @@ __metadata: linkType: hard "@types/jscodeshift@npm:^0.11.0": - version: 0.11.9 - resolution: "@types/jscodeshift@npm:0.11.9" + version: 0.11.10 + resolution: "@types/jscodeshift@npm:0.11.10" dependencies: ast-types: ^0.14.1 recast: ^0.20.3 - checksum: a5b0bc6250dad3dfbaa9af71f56e65979cbfb632ee3d8da43bd79e729eaf231bc15356cc5de45c7e1f634881ab541f712cdbf554f89032273819c49bc397882e + checksum: 91cd3ec925e4a9624fe0f5490ac1509b1f9b34bd7beed89c210eb0bec340c7b4627beef27912e5408aeb4dd6e2d7e37d2fd6a66a8436cd2c56c5cb7e0ddc2cbb languageName: node linkType: hard @@ -19073,9 +18928,9 @@ __metadata: linkType: hard "@types/lunr@npm:^2.3.3": - version: 2.3.5 - resolution: "@types/lunr@npm:2.3.5" - checksum: c68c2bdb0af765e05ebb67ac773e98423080bbe5f7c7456ade9259dbb6bd808bd50d2c91e61ca216c4f36dc799d3058e97d514b76cdeb221b3fb20799fe266fa + version: 2.3.7 + resolution: "@types/lunr@npm:2.3.7" + checksum: 188a18f035e042f4c23e807ae752bfdb0076a0446ff8285b3c10572008fb00282dfeebdbbd566bfcf65dbb073daf552477a0ccbf426ebaa5ce88c0088a860924 languageName: node linkType: hard @@ -19096,10 +18951,10 @@ __metadata: languageName: node linkType: hard -"@types/marked@npm:^4.0.0": - version: 4.3.2 - resolution: "@types/marked@npm:4.3.2" - checksum: c1107079d6c368dd60a668a41aa2101d006cad404b6eb4af6723d419dc869b278928fb769825f11d0d311a8cf437428992729c8a47253b6a3894a6326b1ee4d9 +"@types/marked@npm:^5.0.0": + version: 5.0.2 + resolution: "@types/marked@npm:5.0.2" + checksum: 2875618970bd5aaba472e313c799bbe241fe9e31d1e79782841a0cc04e08ab2a98653166f1fb99bf8bcf140d3878c3ab960a12aa8f0fb949d8277e8a01d3411b languageName: node linkType: hard @@ -19199,21 +19054,21 @@ __metadata: linkType: hard "@types/node-fetch@npm:^2.5.0, @types/node-fetch@npm:^2.5.12, @types/node-fetch@npm:^2.5.7, @types/node-fetch@npm:^2.6.1": - version: 2.6.6 - resolution: "@types/node-fetch@npm:2.6.6" + version: 2.6.9 + resolution: "@types/node-fetch@npm:2.6.9" dependencies: "@types/node": "*" form-data: ^4.0.0 - checksum: ac66389d9d597ab91f5e5d3724e594965b9f80ae5841ab5da9f0c3bd54ceac084591cfe69b1c413f18bb7efdd97002d05bd7651d58ba0c6c10f804f4fd85e598 + checksum: 212269aff4b251477c13c33cee6cea23e4fd630be6c0bfa3714968cce7efd7055b52f2f82aab3394596d8c758335cc802e7c5fa3f775e7f2a472fa914c90dc15 languageName: node linkType: hard "@types/node-forge@npm:^1.3.0": - version: 1.3.8 - resolution: "@types/node-forge@npm:1.3.8" + version: 1.3.9 + resolution: "@types/node-forge@npm:1.3.9" dependencies: "@types/node": "*" - checksum: fa75d22ef65671732f31965ea28618c52a1b4ef0fa44fa35110ba0fa375e35563e056c21545cf1b23a4b0b6546333e8885db003957b0cd8a45fecef16000ff63 + checksum: 4ffab54136960b0944af942a44206470e98766b89b867b6126ebc65c6f21463fd9ea20b26714216e153fbbee7ca5ce689db9067ea286a92b34368a5e2f77601f languageName: node linkType: hard @@ -19278,9 +19133,9 @@ __metadata: linkType: hard "@types/nunjucks@npm:^3.1.4": - version: 3.2.5 - resolution: "@types/nunjucks@npm:3.2.5" - checksum: 3b2990bb7999af5640d47c296ec01f9f96356a31b3aa935f3a7d9cac428b10b5061fe3b8328761ab267cb0151a040a4c8f9789d1f5c93179a00c9056c0676a64 + version: 3.2.6 + resolution: "@types/nunjucks@npm:3.2.6" + checksum: a139cc51d877052f5a471516acfc091b48c8c6e999aeaf1148e775c8dfd722f999731b092c9174492af0f7d4a6cd592004562356fbf51af8ce8fc88ee3c29e97 languageName: node linkType: hard @@ -19301,50 +19156,50 @@ __metadata: linkType: hard "@types/parse-link-header@npm:^2.0.1": - version: 2.0.2 - resolution: "@types/parse-link-header@npm:2.0.2" - checksum: 5b586d44dc2a4671222358da90cd8f6143606efc06c319043404d9a323e574ae7297ecae304f60fbf0358bf659038f7c95b570252af7f869028a7e74cd8c8d55 + version: 2.0.3 + resolution: "@types/parse-link-header@npm:2.0.3" + checksum: 600093cd66fcc3841e799837581ba9d33ae49c299c00ad3d55791a90f5baa876511cf39aecbf06bc07c60eb7ccd6766ecc8feff52ecae241621f7b1e6c6cdcbc languageName: node linkType: hard "@types/passport-auth0@npm:^1.0.5": - version: 1.0.8 - resolution: "@types/passport-auth0@npm:1.0.8" + version: 1.0.9 + resolution: "@types/passport-auth0@npm:1.0.9" dependencies: "@types/express": "*" "@types/passport": "*" - checksum: fd4534596ec4daf61a8acf66c13a2434b54b5da269c86ed67d2d0cdf654be7cd5da808426150db91ce25ddf37a83c75424e17ad7feeea697b6eb9c4b85678833 + checksum: 5ce21dff0ec2662e5b18a96fe337a680d09d1bd935ab1a263d3d4b6a332ed321ef8d774f3e23b460ebf1361344f0e9bd8354389e4983e3c4dce5457d1c20d60f languageName: node linkType: hard "@types/passport-github2@npm:^1.2.4": - version: 1.2.8 - resolution: "@types/passport-github2@npm:1.2.8" + version: 1.2.9 + resolution: "@types/passport-github2@npm:1.2.9" dependencies: "@types/express": "*" "@types/passport": "*" "@types/passport-oauth2": "*" - checksum: 31ad5dfec1031e55c4faadf302e6467114e57bb093501c3f6d6fe5fc0c399a87a16a463725fa0bf4a0ac2944cf66cb458a9289aed727d21a67d97d833002994c + checksum: 375b16d5ab80ff0601a56abc1a2ec1eadda0a8f38bef9c5d7406b6141751a10f6bb565890459a27ecbcb9a622771250fd5539e0842ce1b205f68dc4c3d83c235 languageName: node linkType: hard "@types/passport-google-oauth20@npm:^2.0.3": - version: 2.0.13 - resolution: "@types/passport-google-oauth20@npm:2.0.13" + version: 2.0.14 + resolution: "@types/passport-google-oauth20@npm:2.0.14" dependencies: "@types/express": "*" "@types/passport": "*" "@types/passport-oauth2": "*" - checksum: 0068a92f202bfb1a4935ddf7c6f11975bd6fbc30db3d4f2a7cf5d74aa3455b57b4083884ec069c87eda7746b35b6777018dcf983533bd50677e4cf684c091632 + checksum: 1f013dec6e6b168e7971ae1f7815b5eb015830d2da5bdb0d2fc5e3dbdf9ef7e39e2d1c62495a50d763abda9b59f7c1e35f83945ddfc309ba74cb46695da4a792 languageName: node linkType: hard "@types/passport-microsoft@npm:^1.0.0": - version: 1.0.2 - resolution: "@types/passport-microsoft@npm:1.0.2" + version: 1.0.3 + resolution: "@types/passport-microsoft@npm:1.0.3" dependencies: "@types/passport-oauth2": "*" - checksum: c8173898aba22d443cacf764da991be8461a034328bdff00ff048e76fa930d3a72e7d28f049e79c12bd35d46acdbf08f2e0f7796c7915b2018c0647d7e6ac589 + checksum: 68e9204e90b4a195a1476cfc966d5165febcbb60948a9e98e5dab66f9080a69a2d5f76473a09aed26e00e776038ae63852e44889adb6e45a1851365ca10e5060 languageName: node linkType: hard @@ -19360,56 +19215,56 @@ __metadata: linkType: hard "@types/passport-saml@npm:^1.1.3": - version: 1.1.5 - resolution: "@types/passport-saml@npm:1.1.5" + version: 1.1.6 + resolution: "@types/passport-saml@npm:1.1.6" dependencies: "@types/express": "*" "@types/passport": "*" - checksum: 505fdf8ccdac8a3e5730c37a98742af8c8557e2a1604b25759de1631939494089ea9f6935bf74ab46d227d6ff69d2ca9cf7deea05c44938d661fff6609a3bca2 + checksum: 91609adca645d79d9248a7e21a77df37015a6ab9a051d9eded0beea983c36928ffa004f48d96c86182a34a30181e5dc204b983eabddf8cd2d91a7784a4ce6dc6 languageName: node linkType: hard "@types/passport-strategy@npm:^0.2.35": - version: 0.2.37 - resolution: "@types/passport-strategy@npm:0.2.37" + version: 0.2.38 + resolution: "@types/passport-strategy@npm:0.2.38" dependencies: "@types/express": "*" "@types/passport": "*" - checksum: ca85308b0bba74e299dde4c31a26fb11559d62c87daa9a2321edc0f99930efdf45913acf0bf54162623a98ad0559a277b2ad95c4b26b518db1e93a02ede89e28 + checksum: b580e165182b137a6e57b6b7511904e6c875a5e372f08679ec54f456dc5c2a72d86f23d9373a52d8286b207fe8240946686f9e3d50b0bc1b4f7316f336a06fa2 languageName: node linkType: hard "@types/passport@npm:*, @types/passport@npm:^1.0.3": - version: 1.0.13 - resolution: "@types/passport@npm:1.0.13" + version: 1.0.15 + resolution: "@types/passport@npm:1.0.15" dependencies: "@types/express": "*" - checksum: 84330bedb330302ffd92b009b9b88eb20d3c66b659b383badb9aa3035612b40b47052153858b2498a95d9979d668443bdee3182345819cb18635dfb7f24c109c + checksum: bf96312a2824b180a3202e01ffb19860813cf3d5fa617a0f0a8d0a4a36899c955280db5697b0b243b4dfbc2032e6b7695fdc6990a93f27ca1d0e2a072e01066a languageName: node linkType: hard "@types/pg@npm:^8.6.6": - version: 8.10.8 - resolution: "@types/pg@npm:8.10.8" + version: 8.10.9 + resolution: "@types/pg@npm:8.10.9" dependencies: "@types/node": "*" pg-protocol: "*" pg-types: ^4.0.1 - checksum: 7f249376c9c959998c01a9886dba45bacaabfbc1783b0083dd22091f67f7ef5fba9db495bef072834380ed29be28e46b39210949f0583527f6f420c8950a9352 + checksum: c0c750af1f0945fe31c2793931da33bf596476ec8b52babfdb20f61006570c1c6c7f62f2dedd0cb9aefd2cddab238f2ed279337d3b2aa734ddd1ee8958e2355e languageName: node linkType: hard "@types/ping@npm:^0.4.1": - version: 0.4.3 - resolution: "@types/ping@npm:0.4.3" - checksum: 8b0855eeeea0f894c90415dab8eb467cb7142b883cf30473663a93e82f58ad08f5fd9d07460d5f8e7fa3c5987c15c9a638e236a118a0cee9c566f95e53095406 + version: 0.4.4 + resolution: "@types/ping@npm:0.4.4" + checksum: 48233c0c8a82d25bf91c6102201be295406a9831119f7797660dfcd73d6831971753b61aaefe3981c898a2d7a8f097dee04fe50dea166f91ab138d241bb584d8 languageName: node linkType: hard -"@types/pluralize@npm:^0.0.32": - version: 0.0.32 - resolution: "@types/pluralize@npm:0.0.32" - checksum: 788aa2ad144a0e7b318d03bddfeefecd65e97793e0faad748c458538abd8d680bcc096fe1219567a7c19d41d23b74e45868d7d43a06a44135798eb8da09a1655 +"@types/pluralize@npm:^0.0.33": + version: 0.0.33 + resolution: "@types/pluralize@npm:0.0.33" + checksum: 282d42dc0187e5e0912f9f36ee0f5615bfd273a08d40afe5bf5881cb28daf1977abe10564543032aa0f42352ebba739ff3d86bf5562ac4691c6d1761fcc7cf39 languageName: node linkType: hard @@ -19420,10 +19275,19 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0, @types/prop-types@npm:^15.7.3, @types/prop-types@npm:^15.7.9": - version: 15.7.9 - resolution: "@types/prop-types@npm:15.7.9" - checksum: c7591d3ff7593e243908a07e1d3e2bb6e8879008af5800d8378115a90d0fdf669a1cae72a6d7f69e59c4fa7bb4c8ed61f6ebc1c520fe110c6f2b03ac02414072 +"@types/prop-types@npm:*, @types/prop-types@npm:^15.0.0, @types/prop-types@npm:^15.7.10, @types/prop-types@npm:^15.7.3": + version: 15.7.10 + resolution: "@types/prop-types@npm:15.7.10" + checksum: 39ecc2d9e439ed16b32937a08d98b84ed4a70f53bcd52c8564c0cd7a36fe1004ca83a1fb94b13c1b7a5c048760f06445c3c6a91a6972c8eff652c0b50c9424b1 + languageName: node + linkType: hard + +"@types/protocol-buffers-schema@npm:^3.4.1": + version: 3.4.3 + resolution: "@types/protocol-buffers-schema@npm:3.4.3" + dependencies: + "@types/node": "*" + checksum: a07e150d4737fea79ea8b58be8b8828c9736319f3d8bce92d282b424629ebcd5e056d083b1f8c150a0a7213cdf518bd62c8c7725473f2214f23f5331adead5fb languageName: node linkType: hard @@ -19443,12 +19307,12 @@ __metadata: languageName: node linkType: hard -"@types/ramda@npm:~0.29.3": - version: 0.29.3 - resolution: "@types/ramda@npm:0.29.3" +"@types/ramda@npm:~0.29.6": + version: 0.29.8 + resolution: "@types/ramda@npm:0.29.8" dependencies: - types-ramda: ^0.29.4 - checksum: 172b18d62473d4bffb1e4e92fa293e56fa4f85fcf91b1b2c9178955f775e34065cc408e93f1171436b52e240599ecb1be51955dab07ca389bf2da98f85f820a9 + types-ramda: ^0.29.5 + checksum: 9883baa6b19290822753332af90aaa8c0f612c87c740b1a64067524b2afee1871200d85b5ae4ae3b10627435fa045c314a615fec3e53d222c99f0aa6193cd271 languageName: node linkType: hard @@ -19460,29 +19324,29 @@ __metadata: linkType: hard "@types/react-dom@npm:^18": - version: 18.2.14 - resolution: "@types/react-dom@npm:18.2.14" + version: 18.2.15 + resolution: "@types/react-dom@npm:18.2.15" dependencies: "@types/react": "*" - checksum: 890289c70d1966c168037637c09cacefe6205bdd27a33252144a6b432595a2943775ac1a1accac0beddaeb67f8fdf721e076acb1adc990b08e51c3d9fd4e780c + checksum: 8e9631600c21ff561328e38a951d1991b3b3b20f538af4c0efbd1327c883a5573a63f50e1b945c34fa51b114b30e1ca5e62317bd54f21e063d6697b4be843a03 languageName: node linkType: hard "@types/react-grid-layout@npm:^1.3.2": - version: 1.3.4 - resolution: "@types/react-grid-layout@npm:1.3.4" + version: 1.3.5 + resolution: "@types/react-grid-layout@npm:1.3.5" dependencies: "@types/react": "*" - checksum: e960b250f22b799a52c740a68a73bf1c97ba97148abfe4c270c4d227a821c98b93487510a6270a57e394ff467eaaa7a3c1378e71ef4d78659fd65eb87873c923 + checksum: 59e92cac78712bf527e8c9147f70c121a9a7f6faaf1ee5c979c38a9e9445148f5003d6a37a769b6695fdca65e71567033858fc0e1371937c79dcb35f4b36ae5e languageName: node linkType: hard "@types/react-helmet@npm:^6.1.0": - version: 6.1.8 - resolution: "@types/react-helmet@npm:6.1.8" + version: 6.1.9 + resolution: "@types/react-helmet@npm:6.1.9" dependencies: "@types/react": "*" - checksum: 380d6aa2760a43dab59d46f291caf9498abfda813e343aeaea8b814fe21a69b27e9ad97962b5541ad75179eb9b7875027e4fcc7009187b2f68251ac9f0923a2c + checksum: 4f96b338b6500042a1dde6e7af0e109df91f5ec52a1200dd9511748f85cd659b22e84b51677f86fb1c319dd9e0da56c6947b7130cb1f8989a8ff8e5c2cc26007 languageName: node linkType: hard @@ -19499,29 +19363,29 @@ __metadata: linkType: hard "@types/react-sparklines@npm:^1.7.0": - version: 1.7.3 - resolution: "@types/react-sparklines@npm:1.7.3" + version: 1.7.5 + resolution: "@types/react-sparklines@npm:1.7.5" dependencies: "@types/react": "*" - checksum: 4bcdc526ba2bab1354c8add8a01e10c42203950edfeda70d304a50b51f299c27432a8c8a7bbfce1a860a2b72bbfaf867bafe1b01f877cdaaae54e4ed209554f0 + checksum: e79755fb1ed504d36ca0b6aec4e7ef54eba30448a27c275ef56b55132c37761c11d693f885e248e2e8ba80f294bf9475e7d0e15ce5f5bb2a2219f07f18488409 languageName: node linkType: hard "@types/react-syntax-highlighter@npm:^15.0.0": - version: 15.5.9 - resolution: "@types/react-syntax-highlighter@npm:15.5.9" + version: 15.5.10 + resolution: "@types/react-syntax-highlighter@npm:15.5.10" dependencies: "@types/react": "*" - checksum: b03c2b4b62a950f29cb46a5eae95b81add333b0d2b107d1d35c4efe639529ba424dab364d09b3d57ecef0f0394369d6680caaed80872184ebf5fb84749095808 + checksum: 07da5fa432883130289aac2547bd5ddcb568c33b834983829933067c379ddb9a6de200d10174dabb0b4476ba3fce54761c7c8be1ede8a51cd0c1b1ca9cb6867e languageName: node linkType: hard "@types/react-text-truncate@npm:^0.14.0": - version: 0.14.2 - resolution: "@types/react-text-truncate@npm:0.14.2" + version: 0.14.4 + resolution: "@types/react-text-truncate@npm:0.14.4" dependencies: "@types/react": "*" - checksum: 714b8dade2cd149b3a353c6914065f8aaf2e8d01c21fc1e92afe9e9cf19b037c6a9c34c9100a8009848a6d8747fbd0f4c3b2fe4676b0afa35e347b2fecc92811 + checksum: bbefba6aebb607fd0c5121b587f9604cd7c8a0b676666f85cbd8e6c64d17e72f633288601386b82cc97227d39e0a4e8b37de437e524295520641a4873fa1bff5 languageName: node linkType: hard @@ -19544,31 +19408,31 @@ __metadata: linkType: hard "@types/react-virtualized-auto-sizer@npm:^1.0.1": - version: 1.0.2 - resolution: "@types/react-virtualized-auto-sizer@npm:1.0.2" + version: 1.0.3 + resolution: "@types/react-virtualized-auto-sizer@npm:1.0.3" dependencies: "@types/react": "*" - checksum: b94702678431df4efd0accc30c4657745a65f1128a46e5f68b52d269069c7aef0560ea8cb7f2c6c15fd2b47abd9efa0381ff0e847cceea4074cad73cbcece96a + checksum: 7fcc516241903b937481b567a560c75cd23d27e63222938db725972d93cde0c07f846f98e104c78edcaa765608be156a9d08cf24e2261a3e11463b11343d964c languageName: node linkType: hard "@types/react-window@npm:^1.8.5": - version: 1.8.7 - resolution: "@types/react-window@npm:1.8.7" + version: 1.8.8 + resolution: "@types/react-window@npm:1.8.8" dependencies: "@types/react": "*" - checksum: e135299b5d55b63eb3f400570b77ff64afaeeb305587f71f7e20734a879aaddec6f6d24180e54c6c2f3200a71712ac7e6f1474733fe71e879a65f9e4ab113977 + checksum: 253c9d6e0c942f34633edbddcbc369324403c42458ff004457c5bd5972961d8433a909c0cc1a89c918063d5eb85ecbdd774142af2555fae61f4ceb3ba9884b5a languageName: node linkType: hard "@types/react@npm:^18": - version: 18.2.36 - resolution: "@types/react@npm:18.2.36" + version: 18.2.37 + resolution: "@types/react@npm:18.2.37" dependencies: "@types/prop-types": "*" "@types/scheduler": "*" csstype: ^3.0.2 - checksum: 561fab294117983f3d245a63730bcffb423fc2a1b0f27d20c870abc5d980bc206a74f741cb11b5170fcdf0e747ac05448369cd930fbf345f74ed567f8fef3a9e + checksum: 2d2599f1a09e4f678509161fea8baeaf76d21deee460f4f3ccc1ca431ebe85f896d7d0b906127de17e97ed57240cec61955eb97d0b5d9cbf4e97fd6620b1acdb languageName: node linkType: hard @@ -19582,28 +19446,28 @@ __metadata: linkType: hard "@types/recharts@npm:^1.8.14, @types/recharts@npm:^1.8.15": - version: 1.8.26 - resolution: "@types/recharts@npm:1.8.26" + version: 1.8.27 + resolution: "@types/recharts@npm:1.8.27" dependencies: "@types/d3-shape": ^1 "@types/react": "*" - checksum: fb644ca93b12691ab45ac2bab863051945f9f33ddf52ad07857c982995262b14135c6d18ec3caed71f4fe7c4a6933b69e62bee3aba8e0bf3463f04e0d6ae7952 + checksum: d37fa91a35c07dfc95587f2a9e06e661c35e26b070b04e8fb325b89aee676c3953aba9fe2b27f740dc5ecf111a38540c3f2bdb33f47f3249c60bb21c28c9c9df languageName: node linkType: hard "@types/recursive-readdir@npm:^2.2.0": - version: 2.2.3 - resolution: "@types/recursive-readdir@npm:2.2.3" + version: 2.2.4 + resolution: "@types/recursive-readdir@npm:2.2.4" dependencies: "@types/node": "*" - checksum: 9a9136b93a133de006bf6d9b2f8bbae6e308a0b5a9c9acf490848de3ec3621804a09bc166999e81beace3151cacc2085f5617d90eaa329a99f73c1bb6806531d + checksum: df74312b83870829b81208b6a745d9de75127ac73187808eb60581906e70f606786dd0d3c2e6c69daf6f31833ea052e6d7a3033fd0de9a7dc1eb43f10ae3df0c languageName: node linkType: hard "@types/regression@npm:^2.0.0": - version: 2.0.4 - resolution: "@types/regression@npm:2.0.4" - checksum: e35f7474103ecd9750da2daa6182e236e096ad9edeba70e479a6f6dbe1486b3b7b03dac1976976622161e8f48ef92f83f1ed3f1d42b8e6ba249a50c168059a46 + version: 2.0.5 + resolution: "@types/regression@npm:2.0.5" + checksum: b8eac5c024838f7491d36fe277981ed56f2b4e31f9e228f1837d13e1346abc7f41ed5031eb876af462f4e05afb9a6b48c4a44b6cbabff97af64faae246313997 languageName: node linkType: hard @@ -19655,12 +19519,12 @@ __metadata: linkType: hard "@types/rollup-plugin-peer-deps-external@npm:^2.2.0": - version: 2.2.3 - resolution: "@types/rollup-plugin-peer-deps-external@npm:2.2.3" + version: 2.2.4 + resolution: "@types/rollup-plugin-peer-deps-external@npm:2.2.4" dependencies: "@types/node": "*" rollup: ^0.63.4 - checksum: aa656653c469d50fd68cdb6af332032952a27fd761155e749df14e2379eec77fa24a40910c1f207f2d7a2f0c2274087882dea0ce52ad8031b1066e64905dfbc8 + checksum: 215849a0ae0f5bd4aec0ae2c1f05defaca1a88013b1c89ebfd207a4732799b970b0aaf7d3fe1797548f08c972e1bd028352d3193d00cb570d58cd86fd4da9447 languageName: node linkType: hard @@ -19674,11 +19538,11 @@ __metadata: linkType: hard "@types/sanitize-html@npm:^2.6.2": - version: 2.9.3 - resolution: "@types/sanitize-html@npm:2.9.3" + version: 2.9.4 + resolution: "@types/sanitize-html@npm:2.9.4" dependencies: htmlparser2: ^8.0.0 - checksum: 882a39ec767e0c5fd4402108db4b8e4f85ff555cf490ad8c7340d9c58c57c3ffefa33c0d248d5e67047df6f744ca60e125da5485efc18ac450783f3900178373 + checksum: 196c6b0a307b6e0482cbad4d28c5f3f7bf03001bdc30ad1a18b61a5074ddbf9c1f32adee539ecd83370fceea2ef501955a2c3f27f820c229974a265d31832c95 languageName: node linkType: hard @@ -19697,9 +19561,9 @@ __metadata: linkType: hard "@types/semver@npm:^7.3.12, @types/semver@npm:^7.3.8, @types/semver@npm:^7.5.0": - version: 7.5.4 - resolution: "@types/semver@npm:7.5.4" - checksum: 120c0189f6fec5f2d12d0d71ac8a4cfa952dc17fa3d842e8afddb82bba8828a4052f8799c1653e2b47ae1977435f38e8985658fde971905ce5afb8e23ee97ecf + version: 7.5.5 + resolution: "@types/semver@npm:7.5.5" + checksum: 533e6c93d1262d65f449423d94a445f7f3db0672e7429f21b6a1636d6051dbab3a2989ddcda9b79c69bb37830931d09fc958a65305a891357f5cea3257c297f5 languageName: node linkType: hard @@ -19714,11 +19578,11 @@ __metadata: linkType: hard "@types/serve-handler@npm:^6.1.0": - version: 6.1.3 - resolution: "@types/serve-handler@npm:6.1.3" + version: 6.1.4 + resolution: "@types/serve-handler@npm:6.1.4" dependencies: "@types/node": "*" - checksum: 9202122f38a5d317abd03bee56921398cd1a6bd01274271eb1f4b2810ff2825037aece51acb9d88ced043a3b9530c3836165d4fbef961523cc941fd0860937de + checksum: 47aac3d609b904d20cedd894889e8c148b87e354613b1eaf3eb96fbb0de61ac1507114301e74ab9381cdf439046d4425e357b7fed78907ccceb85ecd4879bc40 languageName: node linkType: hard @@ -19809,11 +19673,11 @@ __metadata: linkType: hard "@types/stoppable@npm:^1.1.0": - version: 1.1.2 - resolution: "@types/stoppable@npm:1.1.2" + version: 1.1.3 + resolution: "@types/stoppable@npm:1.1.3" dependencies: "@types/node": "*" - checksum: 729137560d508786dd381b96206074b6a622387a5c8a1f082fa23620a0734b84e909a972dee4dbc1891272b8fcdbd30f372043c43bdf917f2a5bfb7ac6640cf0 + checksum: 53cbe08da33d2babb4ee98fe123c1e08bc5a26f547a2eaeac7c279743bbee5f9b49c0772db6a106471a07092916deb9bb7e0632fd502585d45d9c398f036938d languageName: node linkType: hard @@ -19837,11 +19701,11 @@ __metadata: linkType: hard "@types/supertest@npm:^2.0.12, @types/supertest@npm:^2.0.8": - version: 2.0.15 - resolution: "@types/supertest@npm:2.0.15" + version: 2.0.16 + resolution: "@types/supertest@npm:2.0.16" dependencies: "@types/superagent": "*" - checksum: 89c1983662f0ab20969b3a6c44344397fd222d0f78b282619aabbe817f7c88a64210fd2b8b8f075ea22a27084e30ebc287bc5105619cbbf9af7f008e77f6eb93 + checksum: 2fc998ea698e0467cdbe3bea0ebce2027ea3a45a13e51a6cecb0435f44b486faecf99c34d8702d2d7fe033e6e09fdd2b374af52ecc8d0c69a1deec66b8c0dd52 languageName: node linkType: hard @@ -19855,21 +19719,21 @@ __metadata: linkType: hard "@types/swagger-ui-react@npm:^4.18.0": - version: 4.18.2 - resolution: "@types/swagger-ui-react@npm:4.18.2" + version: 4.18.3 + resolution: "@types/swagger-ui-react@npm:4.18.3" dependencies: "@types/react": "*" - checksum: 71c5659f6d4bd75da20923aea551ecf013f4bc5af25cb03824ae6a8d324704ca413a0031c0488107c748000ff919b2179a36f34ab8d47e3519617217a95de039 + checksum: 4927314f1b0d68edf200ef15bca7555f12ec1bb8cc699fa397ef2f4e1e1873d17880b663bbc6d70e30149e50c3e7055178c1e0aad110520dfb31d781ab326dcb languageName: node linkType: hard "@types/tar@npm:^6.1.1": - version: 6.1.7 - resolution: "@types/tar@npm:6.1.7" + version: 6.1.9 + resolution: "@types/tar@npm:6.1.9" dependencies: "@types/node": "*" minipass: ^4.0.0 - checksum: 74a346c86eb9fd1d7849b675e019ec784accf2f4a2abedc607e5449809f5205db6c31a7c0e7ac34e1ae5beabc3d260dbf82d7829398791397b971a56de4028b9 + checksum: d3765d47ab1d4ae35e40a1fd5f460e3413eea960e960443ed3de257425a62ba4d900dbe9ee5a2a740f4c68aa310597f56f74d274de070a06f45b8a913178a325 languageName: node linkType: hard @@ -19978,20 +19842,20 @@ __metadata: linkType: hard "@types/webpack-env@npm:^1.15.2, @types/webpack-env@npm:^1.15.3": - version: 1.18.3 - resolution: "@types/webpack-env@npm:1.18.3" - checksum: f24e82485d8e325b1875608766ba6dad2b2f53a0fb182bc96173b4590110c6b791163402cdf19b50c04e8c05292f227a08aafe9230b2bba52c40c5f7ceccc101 + version: 1.18.4 + resolution: "@types/webpack-env@npm:1.18.4" + checksum: f195b3ae974ac3b631477b57737dad7b6c44ecca86770cf3c29f284e02961c9f2dfc619e3e253d8c23966864cb052b1e8437e9834ede32ac97972e6e2235bb51 languageName: node linkType: hard "@types/webpack@npm:^5.28.0": - version: 5.28.3 - resolution: "@types/webpack@npm:5.28.3" + version: 5.28.5 + resolution: "@types/webpack@npm:5.28.5" dependencies: "@types/node": "*" tapable: ^2.2.0 webpack: ^5 - checksum: 8452528f7ff61eb5e53d9d1dc08c05c648af2d850e14debf49141859b72798ea2d91f2892f849d7fa97e208fef7ae82960eea24b1019cb072b4713b515e74bfc + checksum: 14359d9ccecef7ef1ea271c00baec5337213c7fda63a34c61b9e519505b3928d0807cdbb5b1172d1994e1179920b89c57eaf2cbf64599958b67cd70720ac2a9b languageName: node linkType: hard @@ -20012,11 +19876,11 @@ __metadata: linkType: hard "@types/xml2js@npm:*, @types/xml2js@npm:^0.4.7": - version: 0.4.13 - resolution: "@types/xml2js@npm:0.4.13" + version: 0.4.14 + resolution: "@types/xml2js@npm:0.4.14" dependencies: "@types/node": "*" - checksum: 757355c1867b4bd70a85cacac91ed771d172f269469b92b3bace2c7e91f9848ea3efa2be2901f831e2a632efbf6d128208a4495ec8a5fed9f7c12f2c9ec4d929 + checksum: df9f106b9953dcdec7ba3304ebc56d6c2f61d49bf556d600bed439f94a1733f73ca0bf2d0f64330b402191622862d9d6058bab9d7e3dcb5b0fe51ebdc4372aac languageName: node linkType: hard @@ -20046,18 +19910,18 @@ __metadata: linkType: hard "@types/yarnpkg__lockfile@npm:^1.1.4": - version: 1.1.8 - resolution: "@types/yarnpkg__lockfile@npm:1.1.8" - checksum: 96f1c673c0eca3cf55cf48158819625b6a8d203e9762ef0de77d21990def371bf0291fb8374d10fd125fd1571a71bcbed5bc1ca8f188e73032f997a5abee0665 + version: 1.1.9 + resolution: "@types/yarnpkg__lockfile@npm:1.1.9" + checksum: 8cad287732567efeab3da420115e4250d1b80ee6a6c1afa04db0bb18aa2bd71167f72b1ba9d782b7cbcdb1abaa02710a0dd48f0129eefdf939b58b08a61c7219 languageName: node linkType: hard "@types/yauzl@npm:^2.10.0": - version: 2.10.2 - resolution: "@types/yauzl@npm:2.10.2" + version: 2.10.3 + resolution: "@types/yauzl@npm:2.10.3" dependencies: "@types/node": "*" - checksum: 4ee53b704074064179ed50881b2dfa6f07f8a7032af487f513aa04f0ed333be4ff4231ac8531e6a2024cc45ac69a22e78a2ff4e39a6ed2fe8cc0bfabc353da45 + checksum: 5ee966ea7bd6b2802f31ad4281c92c4c0b6dfa593c378a2582c58541fa113bec3d70eb0696b34ad95e8e6861a884cba6c3e351285816693ed176222f840a8c08 languageName: node linkType: hard @@ -20069,21 +19933,21 @@ __metadata: linkType: hard "@types/zen-observable@npm:^0.8.0, @types/zen-observable@npm:^0.8.2": - version: 0.8.5 - resolution: "@types/zen-observable@npm:0.8.5" - checksum: 7a17f4d11cf97ac4abdbdedd18877ad751bcb38f678f58b404e770fd98bf236562f2c20310a1875f835982f3a9c9077b39d972e0be1d54635c5868603605fdf0 + version: 0.8.6 + resolution: "@types/zen-observable@npm:0.8.6" + checksum: 5110a0a019ff1c6571c9059d56910b3fa24862ae1211ee8cd71a304abd39aa415e3ea8110746e20db6757e4e08f4c0863216ab0f154c351bc89338bcde047868 languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/eslint-plugin@npm:6.7.5" +"@typescript-eslint/eslint-plugin@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.10.0" dependencies: "@eslint-community/regexpp": ^4.5.1 - "@typescript-eslint/scope-manager": 6.7.5 - "@typescript-eslint/type-utils": 6.7.5 - "@typescript-eslint/utils": 6.7.5 - "@typescript-eslint/visitor-keys": 6.7.5 + "@typescript-eslint/scope-manager": 6.10.0 + "@typescript-eslint/type-utils": 6.10.0 + "@typescript-eslint/utils": 6.10.0 + "@typescript-eslint/visitor-keys": 6.10.0 debug: ^4.3.4 graphemer: ^1.4.0 ignore: ^5.2.4 @@ -20096,25 +19960,25 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: c37edf5a703db4ff9227d67c2d2cf817e65c9afc94cc0e650fa3d2b05ac55201ef887ce9dadb9ca13779f4025bf4367e132b013e3559e777006a2332079bb180 + checksum: eaf1f66ae1915426dad8d229c8cb80d2b320572a30c3fbc57d560d40edc2d17d004101a2fcbe331bc458df19a00f8b705f2442ee02e028bb595f4e9f9152e99d languageName: node linkType: hard "@typescript-eslint/parser@npm:^6.7.2": - version: 6.7.5 - resolution: "@typescript-eslint/parser@npm:6.7.5" + version: 6.11.0 + resolution: "@typescript-eslint/parser@npm:6.11.0" dependencies: - "@typescript-eslint/scope-manager": 6.7.5 - "@typescript-eslint/types": 6.7.5 - "@typescript-eslint/typescript-estree": 6.7.5 - "@typescript-eslint/visitor-keys": 6.7.5 + "@typescript-eslint/scope-manager": 6.11.0 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/typescript-estree": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 debug: ^4.3.4 peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 63f988c1c87697bd20487933be952b97f7a5f2a9977f505af671c7d49367fc01ca508817576646caa937c15cc0a0ef1e86adff9111eb19df8b489e7436d10620 + checksum: e9cb175e3537b82aa8cd39641ecb4e656586f89f8365cf05400b5aa8794dac0c8c10c6aa2fd7c13a684f62c1493f5e41c5534df49d377abe9dc89d861a51195c languageName: node linkType: hard @@ -20128,22 +19992,32 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/scope-manager@npm:6.7.5" +"@typescript-eslint/scope-manager@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/scope-manager@npm:6.10.0" dependencies: - "@typescript-eslint/types": 6.7.5 - "@typescript-eslint/visitor-keys": 6.7.5 - checksum: f21858ed78f81ab2d9879139f69657fda2a7b901078f79df64d1262d80f84ef66c56525ed0bb5e393fa5ca5474ad97f2225b7f713977c2d0f79cda31b2744af9 + "@typescript-eslint/types": 6.10.0 + "@typescript-eslint/visitor-keys": 6.10.0 + checksum: c9b9483082ae853f10b888cf04d4a14f666ac55e749bfdb7b7f726fc51127a6340b5e2f50d93f134a8854ddcc41f7b116b214753251a8b033d0d84c600439c54 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/type-utils@npm:6.7.5" +"@typescript-eslint/scope-manager@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/scope-manager@npm:6.11.0" dependencies: - "@typescript-eslint/typescript-estree": 6.7.5 - "@typescript-eslint/utils": 6.7.5 + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 + checksum: d219a96fd80fb14176cdcc47b070e870c73ccc0dfb32a8657f6ceaefb613dc0ea240a77250dcfc437d9c9360ca165c2765d4cf8fe689dae7e9eee2c0d6a98a50 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/type-utils@npm:6.10.0" + dependencies: + "@typescript-eslint/typescript-estree": 6.10.0 + "@typescript-eslint/utils": 6.10.0 debug: ^4.3.4 ts-api-utils: ^1.0.1 peerDependencies: @@ -20151,7 +20025,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 8023d8ddcfbf4a0411b192016711068e9e6787c5811aee3a25ac40025ade0d063a1a3d7b38469e1a534bb31fa9dbeec08ab53b7a6d7b3128358294ac5b219d9a + checksum: cfe9520cf0c0f50b115d2591acb2abf99ffe5789b3536268ca65b624c8498812d91f187e80c41bea7cf2cebad9c38f69ef27440f872a20fb53c59856d8f5df38 languageName: node linkType: hard @@ -20162,10 +20036,17 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/types@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/types@npm:6.7.5" - checksum: f21e5726b60f13feb3a920c92515fbc1205ba0e9bba9959b2e42c02c282a0ab4fb0e5ae84f3807b9b1cf95036027e9033d92a911fa88e6c243a87621d8dd7a01 +"@typescript-eslint/types@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/types@npm:6.10.0" + checksum: e63a9e05eb3d736d02a09131627d5cb89394bf0d9d6b46fb4b620be902d89d73554720be65acbc194787bff9ffcd518c9a6cf88fd63e418232b4181e8d8438df + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/types@npm:6.11.0" + checksum: ca8a11320286c9b0759a70ec83b9fd99937c9686fafdd41d8ea09ed7b2fa12e6b342bf65547efe5495926cd04cfc6488315920e3caffd27f12d42cb9a8cf88c8 languageName: node linkType: hard @@ -20187,12 +20068,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/typescript-estree@npm:6.7.5" +"@typescript-eslint/typescript-estree@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.10.0" dependencies: - "@typescript-eslint/types": 6.7.5 - "@typescript-eslint/visitor-keys": 6.7.5 + "@typescript-eslint/types": 6.10.0 + "@typescript-eslint/visitor-keys": 6.10.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -20201,24 +20082,42 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 17685e8321edce1d1ec4278d84e63c0f41ccb19e9308f21c37450943ad0c33328755ac52b966e7855af17e01d22bc83d1fcda79c279fabe7d3460c8f315a7265 + checksum: 15bd8d9239a557071d6b03e7aa854b769fcc2dbdff587ed94be7ee8060dabdb05bcae4251df22432f625f82087e7f6986e9aab04f7eea35af694d4edd76a21af languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/utils@npm:6.7.5" +"@typescript-eslint/typescript-estree@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.11.0" + dependencies: + "@typescript-eslint/types": 6.11.0 + "@typescript-eslint/visitor-keys": 6.11.0 + debug: ^4.3.4 + globby: ^11.1.0 + is-glob: ^4.0.3 + semver: ^7.5.4 + ts-api-utils: ^1.0.1 + peerDependenciesMeta: + typescript: + optional: true + checksum: e137ba7c4cad08853a44d9c40072496ca5f2d440828be9fd2d207a59db56b05a6dcb4756f3ba341ee2ae714de45df80114477946d30801c5a46eed67314fd9c6 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/utils@npm:6.10.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 "@types/json-schema": ^7.0.12 "@types/semver": ^7.5.0 - "@typescript-eslint/scope-manager": 6.7.5 - "@typescript-eslint/types": 6.7.5 - "@typescript-eslint/typescript-estree": 6.7.5 + "@typescript-eslint/scope-manager": 6.10.0 + "@typescript-eslint/types": 6.10.0 + "@typescript-eslint/typescript-estree": 6.10.0 semver: ^7.5.4 peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: f365c654241f927e7784640079627d60a296aa3d575552b07594a69cfc419832eb5fa4adc87acb1988bea9741ae9cc4a5277dab168990310caef5de125255752 + checksum: b6bd4d68623fb8d616ae63a88f2954258411a0cc113029fba801d1e74b4c0319fdfbcac0070527afe5cc38c012c8718e4faecd1603000924d7b89e8fefc3f24d languageName: node linkType: hard @@ -20250,19 +20149,29 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.7.5": - version: 6.7.5 - resolution: "@typescript-eslint/visitor-keys@npm:6.7.5" +"@typescript-eslint/visitor-keys@npm:6.10.0": + version: 6.10.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.10.0" dependencies: - "@typescript-eslint/types": 6.7.5 + "@typescript-eslint/types": 6.10.0 eslint-visitor-keys: ^3.4.1 - checksum: 2df996742f63d89fa339b0e8ff3a3a289d36b3f584f7538a7626bed3869e9ae27f8f56ab31748519d25a63de2ae22a43dd8413610b00436ff342b0a17eb85289 + checksum: 9640bfae41e6109ffba31e68b1720382de0538d021261e2fc9e514c83c703084393c0818ca77ed26b950273e45e593371120281e8d4bbd09cb8c2d46c9fe4f03 languageName: node linkType: hard -"@uiw/codemirror-extensions-basic-setup@npm:4.21.19": - version: 4.21.19 - resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.21.19" +"@typescript-eslint/visitor-keys@npm:6.11.0": + version: 6.11.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.11.0" + dependencies: + "@typescript-eslint/types": 6.11.0 + eslint-visitor-keys: ^3.4.1 + checksum: 6aae9dd79963bbefbf2e310015b909627da541a13ab4d8359eea3c86c34fdbb91e583f65b5a99dee1959f7c5d67b21b45e5a05c63ddb4b82dacd60c890ce8b25 + languageName: node + linkType: hard + +"@uiw/codemirror-extensions-basic-setup@npm:4.21.20": + version: 4.21.20 + resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.21.20" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/commands": ^6.0.0 @@ -20279,19 +20188,19 @@ __metadata: "@codemirror/search": ">=6.0.0" "@codemirror/state": ">=6.0.0" "@codemirror/view": ">=6.0.0" - checksum: 85a1f8b3e071b4587f13609d8449406baa8dead51aa588b914ffa95aac1bdfe1e1aa78689d7927fb90a554b747409cc59cada18fcbe2c204f5936e5441fbade1 + checksum: 76a6caf05bbcf06c515c680ab952e79b8470ca10c9d8c3166fdb05310232239782b170da276b1dbf33900ca894332fc2aba3bd6955665b2c2580548c7e17cbc0 languageName: node linkType: hard "@uiw/react-codemirror@npm:^4.9.3": - version: 4.21.19 - resolution: "@uiw/react-codemirror@npm:4.21.19" + version: 4.21.20 + resolution: "@uiw/react-codemirror@npm:4.21.20" dependencies: "@babel/runtime": ^7.18.6 "@codemirror/commands": ^6.1.0 "@codemirror/state": ^6.1.1 "@codemirror/theme-one-dark": ^6.0.0 - "@uiw/codemirror-extensions-basic-setup": 4.21.19 + "@uiw/codemirror-extensions-basic-setup": 4.21.20 codemirror: ^6.0.0 peerDependencies: "@babel/runtime": ">=7.11.0" @@ -20301,7 +20210,14 @@ __metadata: codemirror: ">=6.0.0" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: bcd016ac806ff34ab3ab16e17090c80c0ed7f835835575c7a15b21238cae9169662444323cbbc8ef2a62c5e8fd7d8b668fd3562cf79b509ededaf7cd4970adf0 + checksum: 63ea348a922c535ff91c8bff1c1dac40ced0227d1c17139142dbc28017bb254cc32428a15686660ec4f4cd6935c574d627b6a4872910357af51da8e90faaf4da + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 4f656b7b4672f2ce6e272f2427d8b0824ed11546a601d8d5412b9d7704e83db38a8d9f402ecdf2b9063fc164af842ad0ec4a55819f621ed7e7ea4d1efcc74524 languageName: node linkType: hard @@ -20817,7 +20733,7 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:1, abbrev@npm:^1.0.0": +"abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" checksum: a4a97ec07d7ea112c517036882b2ac22f3109b7b19077dc656316d07d308438aac28e4d9746dc4d84bf6b1e75b4a7b0a5f3cb30592419f128ca9a8cee3bcfa17 @@ -20985,7 +20901,7 @@ __metadata: languageName: node linkType: hard -"ajv-errors@npm:~3.0.0": +"ajv-errors@npm:^3.0.0, ajv-errors@npm:~3.0.0": version: 3.0.0 resolution: "ajv-errors@npm:3.0.0" peerDependencies: @@ -21042,7 +20958,31 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.1, ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.5.5, ajv@npm:~6.12.6": +"ajv@npm:6.5.2": + version: 6.5.2 + resolution: "ajv@npm:6.5.2" + dependencies: + fast-deep-equal: ^2.0.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.1 + checksum: ac8590895952e6387f923cf7e130e2b4fac13e175caa2934c7792e8a54f2a619e805f769d6f1b5d26d75401fccbe69e5b1fe31ebae39f300c5660a78597ee2fb + languageName: node + linkType: hard + +"ajv@npm:^5.0.0": + version: 5.5.2 + resolution: "ajv@npm:5.5.2" + dependencies: + co: ^4.6.0 + fast-deep-equal: ^1.0.0 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.3.0 + checksum: a69645c843e1676b0ae1c5192786e546427f808f386d26127c6585479378066c64341ceec0b127b6789d79628e71d2a732d402f575b98f9262db230d7b715a94 + languageName: node + linkType: hard + +"ajv@npm:^6.12.2, ajv@npm:^6.12.4, ajv@npm:^6.12.5, ajv@npm:^6.5.5, ajv@npm:~6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -21054,7 +20994,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.2, ajv@npm:^8.12.0, ajv@npm:^8.6.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0, ajv@npm:^8.8.2": +"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.11.2, ajv@npm:^8.12.0, ajv@npm:^8.6.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0, ajv@npm:^8.8.2": version: 8.12.0 resolution: "ajv@npm:8.12.0" dependencies: @@ -21226,7 +21166,7 @@ __metadata: "@backstage/core-components": "workspace:^" "@backstage/frontend-plugin-api": "workspace:^" "@material-ui/icons": ^4.9.1 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 msw: ^1.0.0 peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 @@ -21346,7 +21286,7 @@ __metadata: languageName: node linkType: hard -"aria-query@npm:5.1.3, aria-query@npm:^5.0.0, aria-query@npm:^5.1.3": +"aria-query@npm:5.1.3": version: 5.1.3 resolution: "aria-query@npm:5.1.3" dependencies: @@ -21355,6 +21295,15 @@ __metadata: languageName: node linkType: hard +"aria-query@npm:^5.0.0, aria-query@npm:^5.3.0": + version: 5.3.0 + resolution: "aria-query@npm:5.3.0" + dependencies: + dequal: ^2.0.3 + checksum: 305bd73c76756117b59aba121d08f413c7ff5e80fa1b98e217a3443fcddb9a232ee790e24e432b59ae7625aebcf4c47cb01c2cac872994f0b426f5bdfcd96ba9 + languageName: node + linkType: hard + "array-buffer-byte-length@npm:^1.0.0": version: 1.0.0 resolution: "array-buffer-byte-length@npm:1.0.0" @@ -21386,23 +21335,16 @@ __metadata: languageName: node linkType: hard -"array-ify@npm:^1.0.0": - version: 1.0.0 - resolution: "array-ify@npm:1.0.0" - checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 - languageName: node - linkType: hard - -"array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": - version: 3.1.6 - resolution: "array-includes@npm:3.1.6" +"array-includes@npm:^3.1.6, array-includes@npm:^3.1.7": + version: 3.1.7 + resolution: "array-includes@npm:3.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.3 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 is-string: ^1.0.7 - checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 + checksum: 06f9e4598fac12a919f7c59a3f04f010ea07f0b7f0585465ed12ef528a60e45f374e79d1bddbb34cdd4338357d00023ddbd0ac18b0be36964f5e726e8965d7fc languageName: node linkType: hard @@ -21413,40 +21355,40 @@ __metadata: languageName: node linkType: hard -"array.prototype.findlastindex@npm:^1.2.2": - version: 1.2.2 - resolution: "array.prototype.findlastindex@npm:1.2.2" +"array.prototype.findlastindex@npm:^1.2.3": + version: 1.2.3 + resolution: "array.prototype.findlastindex@npm:1.2.3" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - get-intrinsic: ^1.1.3 - checksum: 8a166359f69a2a751c843f26b9c8cd03d0dc396a92cdcb85f4126b5f1cecdae5b2c0c616a71ea8aff026bde68165b44950b3664404bb73db0673e288495ba264 + get-intrinsic: ^1.2.1 + checksum: 31f35d7b370c84db56484618132041a9af401b338f51899c2e78ef7690fbba5909ee7ca3c59a7192085b328cc0c68c6fd1f6d1553db01a689a589ae510f3966e languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.3, array.prototype.flat@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flat@npm:1.3.1" +"array.prototype.flat@npm:^1.2.3, array.prototype.flat@npm:^1.3.1, array.prototype.flat@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flat@npm:1.3.2" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - checksum: 5a8415949df79bf6e01afd7e8839bbde5a3581300e8ad5d8449dea52639e9e59b26a467665622783697917b43bf39940a6e621877c7dd9b3d1c1f97484b9b88b + checksum: 5d6b4bf102065fb3f43764bfff6feb3295d372ce89591e6005df3d0ce388527a9f03c909af6f2a973969a4d178ab232ffc9236654149173e0e187ec3a1a6b87b languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.1": - version: 1.3.1 - resolution: "array.prototype.flatmap@npm:1.3.1" +"array.prototype.flatmap@npm:^1.3.1, array.prototype.flatmap@npm:^1.3.2": + version: 1.3.2 + resolution: "array.prototype.flatmap@npm:1.3.2" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 es-shim-unscopables: ^1.0.0 - checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + checksum: ce09fe21dc0bcd4f30271f8144083aa8c13d4639074d6c8dc82054b847c7fc9a0c97f857491f4da19d4003e507172a78f4bcd12903098adac8b9cd374f734be3 languageName: node linkType: hard @@ -21463,17 +21405,18 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.1": - version: 1.0.1 - resolution: "arraybuffer.prototype.slice@npm:1.0.1" +"arraybuffer.prototype.slice@npm:^1.0.2": + version: 1.0.2 + resolution: "arraybuffer.prototype.slice@npm:1.0.2" dependencies: array-buffer-byte-length: ^1.0.0 call-bind: ^1.0.2 define-properties: ^1.2.0 + es-abstract: ^1.22.1 get-intrinsic: ^1.2.1 is-array-buffer: ^3.0.2 is-shared-array-buffer: ^1.0.2 - checksum: e3e9b2a3e988ebfeddce4c7e8f69df730c9e48cb04b0d40ff0874ce3d86b3d1339dd520ffde5e39c02610bc172ecfbd4bc93324b1cabd9554c44a56b131ce0ce + checksum: c200faf437786f5b2c80d4564ff5481c886a16dee642ef02abdc7306c7edd523d1f01d1dd12b769c7eb42ac9bc53874510db19a92a2c035c0f6696172aafa5d3 languageName: node linkType: hard @@ -21559,10 +21502,10 @@ __metadata: languageName: node linkType: hard -"ast-types-flow@npm:^0.0.7": - version: 0.0.7 - resolution: "ast-types-flow@npm:0.0.7" - checksum: a26dcc2182ffee111cad7c471759b0bda22d3b7ebacf27c348b22c55f16896b18ab0a4d03b85b4020dce7f3e634b8f00b593888f622915096ea1927fa51866c4 +"ast-types-flow@npm:^0.0.8": + version: 0.0.8 + resolution: "ast-types-flow@npm:0.0.8" + checksum: 0a64706609a179233aac23817837abab614f3548c252a2d3d79ea1e10c74aa28a0846e11f466cf72771b6ed8713abc094dcf8c40c3ec4207da163efa525a94a8 languageName: node linkType: hard @@ -21718,33 +21661,33 @@ __metadata: languageName: node linkType: hard -"avsc@npm:^5.7.3": +"avsc@npm:^5.7.5, avsc@npm:^5.7.6": version: 5.7.7 resolution: "avsc@npm:5.7.7" checksum: e3361aa88a61397b3345876263f79c8c8bfe013d849142202758205459a37e24cdbf02edc49ae019d6e82d93bbc7bc73e9e7fefca049aae91626bae28de4d1a9 languageName: node linkType: hard -"aws-sdk-client-mock-jest@npm:^2.0.0": - version: 2.2.0 - resolution: "aws-sdk-client-mock-jest@npm:2.2.0" +"aws-sdk-client-mock-jest@npm:^3.0.0": + version: 3.0.0 + resolution: "aws-sdk-client-mock-jest@npm:3.0.0" dependencies: "@types/jest": ^28.1.3 tslib: ^2.1.0 peerDependencies: - aws-sdk-client-mock: 2.2.0 - checksum: 2b9367077b745df34da049e2c90f4d743e38369d2d0f0469582ad27a8db52c2f1d5a711ec93b398bd54b732e1454e0028ef161eaea29a0309094ca24ef51a926 + aws-sdk-client-mock: 3.0.0 + checksum: 83f49e1d048bf32bb88b6a2ac8b3d14761a14dd699adc7c0e4bd9397b4771dd3e23779ec180bf63c03be7e85b2322840373a4c4d9840722ab15d409d6f4e8bd1 languageName: node linkType: hard -"aws-sdk-client-mock@npm:^2.0.0": - version: 2.2.0 - resolution: "aws-sdk-client-mock@npm:2.2.0" +"aws-sdk-client-mock@npm:^3.0.0": + version: 3.0.0 + resolution: "aws-sdk-client-mock@npm:3.0.0" dependencies: "@types/sinon": ^10.0.10 sinon: ^14.0.2 tslib: ^2.1.0 - checksum: 25232d56cd0401bc1212730a4a0192efc5154a211a648fe0cb4d71bd693216f63c8f13776ef04b4b36fb8eb70b9a7d19d87a3979816b9fd153450d44515d5598 + checksum: 6298de923260bc824d0c2788196f8839a20da8d64ed82e662913f19417ab872c6cb4c029c5f8f2782da0a4c16e37a8ac077da0bdb19c4e0c82707cf286f7c5d3 languageName: node linkType: hard @@ -21769,10 +21712,10 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.6.2": - version: 4.6.2 - resolution: "axe-core@npm:4.6.2" - checksum: 81523eeaf101a3a129545a936d448d235ecf1f8c0daccdee224d29f63bec716fa38cf1a65c8462548b1f995624277eed790d9d9977ae40ba692c4cadf1196403 +"axe-core@npm:=4.7.0": + version: 4.7.0 + resolution: "axe-core@npm:4.7.0" + checksum: f086bcab42be1761ba2b0b127dec350087f4c3a853bba8dd58f69d898cefaac31a1561da23146f6f3c07954c76171d1f2ce460e555e052d2b02cd79af628fa4a languageName: node linkType: hard @@ -21818,23 +21761,23 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.4.0": - version: 1.5.1 - resolution: "axios@npm:1.5.1" +"axios@npm:^1.4.0, axios@npm:^1.6.0": + version: 1.6.2 + resolution: "axios@npm:1.6.2" dependencies: follow-redirects: ^1.15.0 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 4444f06601f4ede154183767863d2b8e472b4a6bfc5253597ed6d21899887e1fd0ee2b3de792ac4f8459fe2e359d2aa07c216e45fd8b9e4e0688a6ebf48a5a8d + checksum: 4a7429e2b784be0f2902ca2680964391eae7236faa3967715f30ea45464b98ae3f1c6f631303b13dfe721b17126b01f486c7644b9ef276bfc63112db9fd379f8 languageName: node linkType: hard -"axobject-query@npm:^3.1.1": - version: 3.1.1 - resolution: "axobject-query@npm:3.1.1" +"axobject-query@npm:^3.2.1": + version: 3.2.1 + resolution: "axobject-query@npm:3.2.1" dependencies: - deep-equal: ^2.0.5 - checksum: c12a5da10dc7bab75e1cda9b6a3b5fcf10eba426ddf1a17b71ef65a434ed707ede7d1c4f013ba1609e970bc8c0cddac01365080d376204314e9b294719acd8a5 + dequal: ^2.0.3 + checksum: a94047e702b57c91680e6a952ec4a1aaa2cfd0d80ead76bc8c954202980d8c51968a6ea18b4d8010e8e2cf95676533d8022a8ebba9abc1dfe25686721df26fd2 languageName: node linkType: hard @@ -22200,13 +22143,13 @@ __metadata: linkType: hard "better-sqlite3@npm:^9.0.0": - version: 9.0.0 - resolution: "better-sqlite3@npm:9.0.0" + version: 9.1.1 + resolution: "better-sqlite3@npm:9.1.1" dependencies: bindings: ^1.5.0 node-gyp: latest prebuild-install: ^7.1.1 - checksum: 53cf439f50768bbcb7adb4894adf6c5134f3479f04084e3009dbe92a00a84e7dd850e4b69262337d807578f3d76e26a40ccebc465e8574e807e27033fab0381a + checksum: b016b225b1c23717acb596848729ca9118d2496c3059643fcf23e11e22e63bf35bd1e61dd5b30c5b649d56df821521aba9c0f2cbad8fc7cdca9f3a4484e7ebcb languageName: node linkType: hard @@ -22859,13 +22802,14 @@ __metadata: languageName: node linkType: hard -"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind@npm:1.0.2" +"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5": + version: 1.0.5 + resolution: "call-bind@npm:1.0.5" dependencies: - function-bind: ^1.1.1 - get-intrinsic: ^1.0.2 - checksum: f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0 + function-bind: ^1.1.2 + get-intrinsic: ^1.2.1 + set-function-length: ^1.1.1 + checksum: 449e83ecbd4ba48e7eaac5af26fea3b50f8f6072202c2dd7c5a6e7a6308f2421abe5e13a3bbd55221087f76320c5e09f25a8fdad1bab2b77c68ae74d92234ea5 languageName: node linkType: hard @@ -23527,17 +23471,10 @@ __metadata: languageName: node linkType: hard -"code-block-writer@npm:^11.0.3": - version: 11.0.3 - resolution: "code-block-writer@npm:11.0.3" - checksum: f0a2605f19963d7087267c9b0fd0b05a6638a50e7b29b70f97aa01a514f59475b0626f8aa092188df853ee6d96745426dfa132d6a677795df462c6ce32c21639 - languageName: node - linkType: hard - -"code-error-fragment@npm:0.0.230": - version: 0.0.230 - resolution: "code-error-fragment@npm:0.0.230" - checksum: 6c5e800d6d70b30938cc85a2fc2c6069f028eadb58bceb65716b995ce6228c99906302f2c438ba50115fd81a1ee15dd95dc7d317b16a6c590e311ac7e50613f3 +"code-block-writer@npm:^12.0.0": + version: 12.0.0 + resolution: "code-block-writer@npm:12.0.0" + checksum: 9f6505a4d668c9131c6f3f686359079439e66d5f50c236614d52fcfa53aeb0bc615b2c6c64ef05b5511e3b0433ccfd9f7756ad40eb3b9298af6a7d791ab1981d languageName: node linkType: hard @@ -23749,20 +23686,13 @@ __metadata: languageName: node linkType: hard -"commander@npm:*, commander@npm:^11.0.0": +"commander@npm:*, commander@npm:11.1.0, commander@npm:^11.0.0": version: 11.1.0 resolution: "commander@npm:11.1.0" checksum: fd1a8557c6b5b622c89ecdfde703242ab7db3b628ea5d1755784c79b8e7cb0d74d65b4a262289b533359cd58e1bfc0bf50245dfbcd2954682a6f367c828b79ef languageName: node linkType: hard -"commander@npm:11.0.0": - version: 11.0.0 - resolution: "commander@npm:11.0.0" - checksum: 6621954e1e1d078b4991c1f5bbd9439ad37aa7768d6ab4842de1dbd4d222c8a27e1b8e62108b3a92988614af45031d5bb2a2aaa92951f4d0c934d1a1ac564bb4 - languageName: node - linkType: hard - "commander@npm:7.1.0": version: 7.1.0 resolution: "commander@npm:7.1.0" @@ -23798,7 +23728,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^5.1.0": +"commander@npm:^5.0.0, commander@npm:^5.1.0": version: 5.1.0 resolution: "commander@npm:5.1.0" checksum: 0b7fec1712fbcc6230fcb161d8d73b4730fa91a21dc089515489402ad78810547683f058e2a9835929c212fead1d6a6ade70db28bbb03edbc2829a9ab7d69447 @@ -23861,16 +23791,6 @@ __metadata: languageName: node linkType: hard -"compare-func@npm:^2.0.0": - version: 2.0.0 - resolution: "compare-func@npm:2.0.0" - dependencies: - array-ify: ^1.0.0 - dot-prop: ^5.1.0 - checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d - languageName: node - linkType: hard - "compare-versions@npm:4.1.4": version: 4.1.4 resolution: "compare-versions@npm:4.1.4" @@ -24168,17 +24088,6 @@ __metadata: languageName: node linkType: hard -"conventional-changelog-conventionalcommits@npm:^5.0.0": - version: 5.0.0 - resolution: "conventional-changelog-conventionalcommits@npm:5.0.0" - dependencies: - compare-func: ^2.0.0 - lodash: ^4.17.15 - q: ^1.5.1 - checksum: b67d12e4e0fdde5baa32c3d77af472de38646a18657b26f5543eecce041a318103092fbfcef247e2319a16957c9ac78c6ea78acc11a5db6acf74be79a28c561f - languageName: node - linkType: hard - "convert-source-map@npm:^1.5.0, convert-source-map@npm:^1.6.0": version: 1.9.0 resolution: "convert-source-map@npm:1.9.0" @@ -24278,9 +24187,9 @@ __metadata: linkType: hard "core-js@npm:^3.26.0, core-js@npm:^3.6.5": - version: 3.33.0 - resolution: "core-js@npm:3.33.0" - checksum: dd62217935ac281faf6f833bb306fb891162919fcf9c1f0c975b1b91e82ac09a940f5deb5950bbb582739ceef716e8bd7e4f9eab8328932fb029d3bc2ecb2881 + version: 3.33.2 + resolution: "core-js@npm:3.33.2" + checksum: 71de081acbd060ff985afdcdf2552de4a00ab3ac4695c77f3535b72ddf4526920dcd0cb73e72e57c2ae16e384838a6d55790e138f0a19d60afcf851f89d0064d languageName: node linkType: hard @@ -24457,11 +24366,11 @@ __metadata: linkType: hard "cronstrue@npm:^2.2.0, cronstrue@npm:^2.32.0": - version: 2.32.0 - resolution: "cronstrue@npm:2.32.0" + version: 2.43.0 + resolution: "cronstrue@npm:2.43.0" bin: cronstrue: bin/cli.js - checksum: a0925e256583122792fe2f3b92cd49b954ab3e4466c7569a9148b9981db8a389faca139d4eb215142e7b67438a5562219956c56041ed0b8b046b798e72a357a8 + checksum: 4926fe3036bba549b0ddee8c0027104c301d46390f83a235a31f95f31c09a3fc0e47a7fd46e434c3bb74960aa55fb75691197349750e9758b30b014b7cdcc4bb languageName: node linkType: hard @@ -24486,6 +24395,15 @@ __metadata: languageName: node linkType: hard +"cross-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "cross-fetch@npm:4.0.0" + dependencies: + node-fetch: ^2.6.12 + checksum: ecca4f37ffa0e8283e7a8a590926b66713a7ef7892757aa36c2d20ffa27b0ac5c60dcf453119c809abe5923fc0bae3702a4d896bfb406ef1077b0d0018213e24 + languageName: node + linkType: hard + "cross-spawn@npm:^5.1.0": version: 5.1.0 resolution: "cross-spawn@npm:5.1.0" @@ -24676,7 +24594,7 @@ __metadata: languageName: node linkType: hard -"css-unit-converter@npm:^1.1.1, css-unit-converter@npm:^1.1.2": +"css-unit-converter@npm:^1.1.2": version: 1.1.2 resolution: "css-unit-converter@npm:1.1.2" checksum: 07888033346a5128f34dbe2f72884c966d24e9f29db24416dcde92860242490617ef9a178ac193a92f730834bbeea026cdc7027701d92ba9bbbe59db7a37eb2a @@ -25115,13 +25033,6 @@ __metadata: languageName: node linkType: hard -"dataloader@npm:^1.4.0": - version: 1.4.0 - resolution: "dataloader@npm:1.4.0" - checksum: e2c93d43afde68980efc0cd9ff48e9851116e27a9687f863e02b56d46f7e7868cc762cd6dcbaf4197e1ca850a03651510c165c2ae24b8e9843fd894002ad0e20 - languageName: node - linkType: hard - "dataloader@npm:^2.0.0, dataloader@npm:^2.2.2": version: 2.2.2 resolution: "dataloader@npm:2.2.2" @@ -25376,6 +25287,17 @@ __metadata: languageName: node linkType: hard +"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1": + version: 1.1.1 + resolution: "define-data-property@npm:1.1.1" + dependencies: + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: a29855ad3f0630ea82e3c5012c812efa6ca3078d5c2aa8df06b5f597c1cde6f7254692df41945851d903e05a1668607b6d34e778f402b9ff9ffb38111f1a3f0d + languageName: node + linkType: hard + "define-lazy-prop@npm:^2.0.0": version: 2.0.0 resolution: "define-lazy-prop@npm:2.0.0" @@ -25383,13 +25305,14 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0": - version: 1.2.0 - resolution: "define-properties@npm:1.2.0" +"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" dependencies: + define-data-property: ^1.0.1 has-property-descriptors: ^1.0.0 object-keys: ^1.1.1 - checksum: e60aee6a19b102df4e2b1f301816804e81ab48bb91f00d0d935f269bf4b3f79c88b39e4f89eaa132890d23267335fd1140dfcd8d5ccd61031a0a2c41a54e33a6 + checksum: b4ccd00597dd46cb2d4a379398f5b19fca84a16f3374e2249201992f36b30f6835949a9429669ee6b41b6e837205a163eadd745e472069e70dfc10f03e5fcc12 languageName: node linkType: hard @@ -25483,7 +25406,7 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.0, dequal@npm:^2.0.2": +"dequal@npm:^2.0.0, dequal@npm:^2.0.2, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 @@ -25862,7 +25785,7 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^5.1.0, dot-prop@npm:^5.2.0": +"dot-prop@npm:^5.2.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" dependencies: @@ -25894,13 +25817,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^8.1.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 38e902c80b0666ab59e9310a3d24ed237029a7ce34d976796349765ac96b8d769f6df19090f1f471b77a25ca391971efde8a1ea63bb83111bd8bec8e5cc9b2cd - languageName: node - linkType: hard - "drange@npm:^1.0.2": version: 1.1.1 resolution: "drange@npm:1.1.1" @@ -25976,7 +25892,7 @@ __metadata: "@types/puppeteer": ^5.4.4 chalk: ^4.0.0 commander: ^9.1.0 - cross-fetch: ^3.1.5 + cross-fetch: ^4.0.0 fs-extra: 10.1.0 handlebars: ^4.7.3 mysql2: ^2.2.5 @@ -26055,8 +25971,8 @@ __metadata: linkType: hard "elastic-builder@npm:^2.16.0": - version: 2.22.0 - resolution: "elastic-builder@npm:2.22.0" + version: 2.23.0 + resolution: "elastic-builder@npm:2.23.0" dependencies: lodash.has: ^4.5.2 lodash.hasin: ^4.5.2 @@ -26066,7 +25982,7 @@ __metadata: lodash.isobject: ^3.0.2 lodash.isstring: ^4.0.1 lodash.omit: ^4.5.0 - checksum: 484ba84df363e76c993ecbe7e91297f6a9ee32b7062fc62554cd32405f0dea9d94618be9abceaa98b54169091208a52350ab77243dd5027df30061319168d84b + checksum: 6cd3d6fd3ea20adb2f48a21d3bd25fd89dd9f692feab95357356b8a814f5a36579c7a8326e818127fc5ec50774c1818c4f8e5d0aeea00cccd0aeda5563e17123 languageName: node linkType: hard @@ -26252,25 +26168,25 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.19.0, es-abstract@npm:^1.20.4, es-abstract@npm:^1.21.2, es-abstract@npm:^1.21.3": - version: 1.22.1 - resolution: "es-abstract@npm:1.22.1" +"es-abstract@npm:^1.20.4, es-abstract@npm:^1.22.1": + version: 1.22.3 + resolution: "es-abstract@npm:1.22.3" dependencies: array-buffer-byte-length: ^1.0.0 - arraybuffer.prototype.slice: ^1.0.1 + arraybuffer.prototype.slice: ^1.0.2 available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.5 es-set-tostringtag: ^2.0.1 es-to-primitive: ^1.2.1 - function.prototype.name: ^1.1.5 - get-intrinsic: ^1.2.1 + function.prototype.name: ^1.1.6 + get-intrinsic: ^1.2.2 get-symbol-description: ^1.0.0 globalthis: ^1.0.3 gopd: ^1.0.1 - has: ^1.0.3 has-property-descriptors: ^1.0.0 has-proto: ^1.0.1 has-symbols: ^1.0.3 + hasown: ^2.0.0 internal-slot: ^1.0.5 is-array-buffer: ^3.0.2 is-callable: ^1.2.7 @@ -26278,24 +26194,24 @@ __metadata: is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 - is-typed-array: ^1.1.10 + is-typed-array: ^1.1.12 is-weakref: ^1.0.2 - object-inspect: ^1.12.3 + object-inspect: ^1.13.1 object-keys: ^1.1.1 object.assign: ^4.1.4 - regexp.prototype.flags: ^1.5.0 - safe-array-concat: ^1.0.0 + regexp.prototype.flags: ^1.5.1 + safe-array-concat: ^1.0.1 safe-regex-test: ^1.0.0 - string.prototype.trim: ^1.2.7 - string.prototype.trimend: ^1.0.6 - string.prototype.trimstart: ^1.0.6 + string.prototype.trim: ^1.2.8 + string.prototype.trimend: ^1.0.7 + string.prototype.trimstart: ^1.0.7 typed-array-buffer: ^1.0.0 typed-array-byte-length: ^1.0.0 typed-array-byte-offset: ^1.0.0 typed-array-length: ^1.0.4 unbox-primitive: ^1.0.2 - which-typed-array: ^1.1.10 - checksum: 614e2c1c3717cb8d30b6128ef12ea110e06fd7d75ad77091ca1c5dbfb00da130e62e4bbbbbdda190eada098a22b27fe0f99ae5a1171dac2c8663b1e8be8a3a9b + which-typed-array: ^1.1.13 + checksum: b1bdc962856836f6e72be10b58dc128282bdf33771c7a38ae90419d920fc3b36cc5d2b70a222ad8016e3fc322c367bf4e9e89fc2bc79b7e933c05b218e83d79a languageName: node linkType: hard @@ -26330,21 +26246,25 @@ __metadata: languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.12": - version: 1.0.12 - resolution: "es-iterator-helpers@npm:1.0.12" +"es-iterator-helpers@npm:^1.0.12, es-iterator-helpers@npm:^1.0.15": + version: 1.0.15 + resolution: "es-iterator-helpers@npm:1.0.15" dependencies: asynciterator.prototype: ^1.0.0 - es-abstract: ^1.21.3 + call-bind: ^1.0.2 + define-properties: ^1.2.1 + es-abstract: ^1.22.1 es-set-tostringtag: ^2.0.1 function-bind: ^1.1.1 + get-intrinsic: ^1.2.1 globalthis: ^1.0.3 + has-property-descriptors: ^1.0.0 has-proto: ^1.0.1 has-symbols: ^1.0.3 internal-slot: ^1.0.5 - iterator.prototype: ^1.1.0 - safe-array-concat: ^1.0.0 - checksum: df1800a64be755e61718d2e62eef17c22590ed668c44eb3a5c9b78f874e8e01bfa7ba27a0f258b1322f577c2b2032fec194aa20912f7417ddc580c4ec31882e4 + iterator.prototype: ^1.1.2 + safe-array-concat: ^1.0.1 + checksum: 50081ae5c549efe62e5c1d244df0194b40b075f7897fc2116b7e1aa437eb3c41f946d2afda18c33f9b31266ec544765932542765af839f76fa6d7b7855d1e0e1 languageName: node linkType: hard @@ -26808,14 +26728,14 @@ __metadata: languageName: node linkType: hard -"eslint-import-resolver-node@npm:^0.3.7": - version: 0.3.7 - resolution: "eslint-import-resolver-node@npm:0.3.7" +"eslint-import-resolver-node@npm:^0.3.9": + version: 0.3.9 + resolution: "eslint-import-resolver-node@npm:0.3.9" dependencies: debug: ^3.2.7 - is-core-module: ^2.11.0 - resolve: ^1.22.1 - checksum: 3379aacf1d2c6952c1b9666c6fa5982c3023df695430b0d391c0029f6403a7775414873d90f397e98ba6245372b6c8960e16e74d9e4a3b0c0a4582f3bdbe3d6e + is-core-module: ^2.13.0 + resolve: ^1.22.4 + checksum: 439b91271236b452d478d0522a44482e8c8540bf9df9bd744062ebb89ab45727a3acd03366a6ba2bdbcde8f9f718bab7fe8db64688aca75acf37e04eafd25e22 languageName: node linkType: hard @@ -26846,35 +26766,35 @@ __metadata: linkType: hard "eslint-plugin-import@npm:^2.25.4": - version: 2.28.1 - resolution: "eslint-plugin-import@npm:2.28.1" + version: 2.29.0 + resolution: "eslint-plugin-import@npm:2.29.0" dependencies: - array-includes: ^3.1.6 - array.prototype.findlastindex: ^1.2.2 - array.prototype.flat: ^1.3.1 - array.prototype.flatmap: ^1.3.1 + array-includes: ^3.1.7 + array.prototype.findlastindex: ^1.2.3 + array.prototype.flat: ^1.3.2 + array.prototype.flatmap: ^1.3.2 debug: ^3.2.7 doctrine: ^2.1.0 - eslint-import-resolver-node: ^0.3.7 + eslint-import-resolver-node: ^0.3.9 eslint-module-utils: ^2.8.0 - has: ^1.0.3 - is-core-module: ^2.13.0 + hasown: ^2.0.0 + is-core-module: ^2.13.1 is-glob: ^4.0.3 minimatch: ^3.1.2 - object.fromentries: ^2.0.6 - object.groupby: ^1.0.0 - object.values: ^1.1.6 + object.fromentries: ^2.0.7 + object.groupby: ^1.0.1 + object.values: ^1.1.7 semver: ^6.3.1 tsconfig-paths: ^3.14.2 peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - checksum: e8ae6dd8f06d8adf685f9c1cfd46ac9e053e344a05c4090767e83b63a85c8421ada389807a39e73c643b9bff156715c122e89778169110ed68d6428e12607edf + checksum: 19ee541fb95eb7a796f3daebe42387b8d8262bbbcc4fd8a6e92f63a12035f3d2c6cb8bc0b6a70864fa14b1b50ed6b8e6eed5833e625e16cb6bb98b665beff269 languageName: node linkType: hard "eslint-plugin-jest@npm:^27.0.0": - version: 27.4.2 - resolution: "eslint-plugin-jest@npm:27.4.2" + version: 27.6.0 + resolution: "eslint-plugin-jest@npm:27.6.0" dependencies: "@typescript-eslint/utils": ^5.10.0 peerDependencies: @@ -26886,33 +26806,33 @@ __metadata: optional: true jest: optional: true - checksum: 99a8301ae00c37da97866b8b13c89a077716d2c653b26bc417d242e7300a43237c0017fd488c43966fa38585f19050facdbbc71d03ca36a1ce6f2ba930a9143e + checksum: 4c42641f9bf2d597761637028083e20b9f81762308e98baae40eb805d3e81ff8d837f06f4f0c1a2fd249e2be2fb24d33b7aafeaa8942de805c2b8d7c3b6fc4e4 languageName: node linkType: hard "eslint-plugin-jsx-a11y@npm:^6.5.1": - version: 6.7.1 - resolution: "eslint-plugin-jsx-a11y@npm:6.7.1" + version: 6.8.0 + resolution: "eslint-plugin-jsx-a11y@npm:6.8.0" dependencies: - "@babel/runtime": ^7.20.7 - aria-query: ^5.1.3 - array-includes: ^3.1.6 - array.prototype.flatmap: ^1.3.1 - ast-types-flow: ^0.0.7 - axe-core: ^4.6.2 - axobject-query: ^3.1.1 + "@babel/runtime": ^7.23.2 + aria-query: ^5.3.0 + array-includes: ^3.1.7 + array.prototype.flatmap: ^1.3.2 + ast-types-flow: ^0.0.8 + axe-core: =4.7.0 + axobject-query: ^3.2.1 damerau-levenshtein: ^1.0.8 emoji-regex: ^9.2.2 - has: ^1.0.3 - jsx-ast-utils: ^3.3.3 - language-tags: =1.0.5 + es-iterator-helpers: ^1.0.15 + hasown: ^2.0.0 + jsx-ast-utils: ^3.3.5 + language-tags: ^1.0.9 minimatch: ^3.1.2 - object.entries: ^1.1.6 - object.fromentries: ^2.0.6 - semver: ^6.3.0 + object.entries: ^1.1.7 + object.fromentries: ^2.0.7 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: f166dd5fe7257c7b891c6692e6a3ede6f237a14043ae3d97581daf318fc5833ddc6b4871aa34ab7656187430170500f6d806895747ea17ecdf8231a666c3c2fd + checksum: 3dec00e2a3089c4c61ac062e4196a70985fb7eda1fd67fe035363d92578debde92fdb8ed2e472321fc0d71e75f4a1e8888c6a3218c14dd93c8e8d19eb6f51554 languageName: node linkType: hard @@ -26964,14 +26884,14 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-testing-library@npm:^5.9.1": - version: 5.11.1 - resolution: "eslint-plugin-testing-library@npm:5.11.1" +"eslint-plugin-testing-library@npm:^6.0.0": + version: 6.1.2 + resolution: "eslint-plugin-testing-library@npm:6.1.2" dependencies: "@typescript-eslint/utils": ^5.58.0 peerDependencies: eslint: ^7.5.0 || ^8.0.0 - checksum: 9f3fc68ef9f13016a4381b33ab5dbffcc189e5de3eaeba184bcf7d2771faa7f54e59c04b652162fb1c0f83fb52428dd909db5450a25508b94be59eba69fcc990 + checksum: 74e6b1bdff52e9a3937be1ae0e3ddb6cfedcd97044ac5275be6e7472c77cf8ae0f6e29fd7d3b90aac1318e22850086e73ee8dde7de8d9034be59cdfed9ba7bd7 languageName: node linkType: hard @@ -27019,16 +26939,17 @@ __metadata: linkType: hard "eslint@npm:^8.33.0, eslint@npm:^8.6.0": - version: 8.51.0 - resolution: "eslint@npm:8.51.0" + version: 8.53.0 + resolution: "eslint@npm:8.53.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/regexpp": ^4.6.1 - "@eslint/eslintrc": ^2.1.2 - "@eslint/js": 8.51.0 - "@humanwhocodes/config-array": ^0.11.11 + "@eslint/eslintrc": ^2.1.3 + "@eslint/js": 8.53.0 + "@humanwhocodes/config-array": ^0.11.13 "@humanwhocodes/module-importer": ^1.0.1 "@nodelib/fs.walk": ^1.2.8 + "@ungap/structured-clone": ^1.2.0 ajv: ^6.12.4 chalk: ^4.0.0 cross-spawn: ^7.0.2 @@ -27061,7 +26982,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 214fa5d1fcb67af1b8992ce9584ccd85e1aa7a482f8b8ea5b96edc28fa838a18a3b69456db45fc1ed3ef95f1e9efa9714f737292dc681e572d471d02fda9649c + checksum: 2da808655c7aa4b33f8970ba30d96b453c3071cc4d6cd60d367163430677e32ff186b65270816b662d29139283138bff81f28dddeb2e73265495245a316ed02c languageName: node linkType: hard @@ -27469,7 +27390,7 @@ __metadata: react-use: ^17.2.4 vite: ^4.4.9 vite-plugin-html: ^3.2.0 - vite-plugin-node-polyfills: ^0.14.1 + vite-plugin-node-polyfills: ^0.16.0 zen-observable: ^0.10.0 languageName: unknown linkType: soft @@ -27577,7 +27498,7 @@ __metadata: "@gitbeaker/node": ^35.1.0 "@octokit/rest": ^19.0.3 "@opentelemetry/api": ^1.4.1 - "@opentelemetry/exporter-prometheus": ^0.44.0 + "@opentelemetry/exporter-prometheus": ^0.45.0 "@opentelemetry/sdk-metrics": ^1.13.0 "@types/dockerode": ^3.3.0 "@types/express": ^4.17.6 @@ -27599,20 +27520,20 @@ __metadata: languageName: unknown linkType: soft -"execa@npm:7.2.0": - version: 7.2.0 - resolution: "execa@npm:7.2.0" +"execa@npm:8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" dependencies: cross-spawn: ^7.0.3 - get-stream: ^6.0.1 - human-signals: ^4.3.0 + get-stream: ^8.0.1 + human-signals: ^5.0.0 is-stream: ^3.0.0 merge-stream: ^2.0.0 npm-run-path: ^5.1.0 onetime: ^6.0.0 - signal-exit: ^3.0.7 + signal-exit: ^4.1.0 strip-final-newline: ^3.0.0 - checksum: 14fd17ba0ca8c87b277584d93b1d9fc24f2a65e5152b31d5eb159a3b814854283eaae5f51efa9525e304447e2f757c691877f7adff8fde5746aae67eb1edd1cc + checksum: cac1bf86589d1d9b73bdc5dda65c52012d1a9619c44c526891956745f7b366ca2603d29fe3f7460bacc2b48c6eab5d6a4f7afe0534b31473d3708d1265545e1f languageName: node linkType: hard @@ -27719,8 +27640,8 @@ __metadata: linkType: hard "express-openapi-validator@npm:^5.0.4": - version: 5.0.6 - resolution: "express-openapi-validator@npm:5.0.6" + version: 5.1.0 + resolution: "express-openapi-validator@npm:5.1.0" dependencies: "@apidevtools/json-schema-ref-parser": ^9.1.2 "@types/multer": ^1.4.7 @@ -27737,7 +27658,7 @@ __metadata: multer: ^1.4.5-lts.1 ono: ^7.1.3 path-to-regexp: ^6.2.0 - checksum: 41a2451271fb907f1402b294a8537a8731cbdae6dfe2d2f04b0cbb2de55643b58b82e836bfd511992fe9f050524600684286284ec85a94de7e27f617eef57c31 + checksum: 8014636cf7122af318aaa6f91e19ac78e125c691b49a85483264c93ad820790f2d32016a118ac743ae8710a985ef4ca4931f4eab47705f4231564aec487fc271 languageName: node linkType: hard @@ -27894,6 +27815,20 @@ __metadata: languageName: node linkType: hard +"fast-deep-equal@npm:^1.0.0": + version: 1.1.0 + resolution: "fast-deep-equal@npm:1.1.0" + checksum: 69b4c9534d9805f13a341aa72f69641d0b9ae3cc8beb25c64e68a257241c7bb34370266db27ae4fc3c4da0518448c01a5f587a096a211471c86a38facd9a1486 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^2.0.1": + version: 2.0.1 + resolution: "fast-deep-equal@npm:2.0.1" + checksum: b701835a87985e0ec4925bdf1f0c1e7eb56309b5d12d534d5b4b69d95a54d65bb16861c081781ead55f73f12d6c60ba668713391ee7fbf6b0567026f579b7b0b + languageName: node + linkType: hard + "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" @@ -27901,10 +27836,10 @@ __metadata: languageName: node linkType: hard -"fast-equals@npm:^4.0.3": - version: 4.0.3 - resolution: "fast-equals@npm:4.0.3" - checksum: 3d5935b757f9f2993e59b5164a7a9eeda0de149760495375cde14a4ed725186a7e6c1c0d58f7d42d2f91deb97f3fce1e0aad5591916ef0984278199a85c87c87 +"fast-equals@npm:^5.0.0": + version: 5.0.1 + resolution: "fast-equals@npm:5.0.1" + checksum: fbb3b6a74f3a0fa930afac151ff7d01639159b4fddd2678b5d50708e0ba38e9ec14602222d10dadb8398187342692c04fbef5a62b1cfcc7942fe03e754e064bc languageName: node linkType: hard @@ -28782,22 +28717,22 @@ __metadata: languageName: node linkType: hard -"function-bind@npm:^1.1.1": - version: 1.1.1 - resolution: "function-bind@npm:1.1.1" - checksum: b32fbaebb3f8ec4969f033073b43f5c8befbb58f1a79e12f1d7490358150359ebd92f49e72ff0144f65f2c48ea2a605bff2d07965f548f6474fd8efd95bf361a +"function-bind@npm:^1.1.1, function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 2b0ff4ce708d99715ad14a6d1f894e2a83242e4a52ccfcefaee5e40050562e5f6dafc1adbb4ce2d4ab47279a45dc736ab91ea5042d843c3c092820dfe032efb1 languageName: node linkType: hard -"function.prototype.name@npm:^1.1.5": - version: 1.1.5 - resolution: "function.prototype.name@npm:1.1.5" +"function.prototype.name@npm:^1.1.5, function.prototype.name@npm:^1.1.6": + version: 1.1.6 + resolution: "function.prototype.name@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.0 - functions-have-names: ^1.2.2 - checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + functions-have-names: ^1.2.3 + checksum: 7a3f9bd98adab09a07f6e1f03da03d3f7c26abbdeaeee15223f6c04a9fb5674792bdf5e689dac19b97ac71de6aad2027ba3048a9b883aa1b3173eed6ab07f479 languageName: node linkType: hard @@ -28808,7 +28743,7 @@ __metadata: languageName: node linkType: hard -"functions-have-names@npm:^1.2.2, functions-have-names@npm:^1.2.3": +"functions-have-names@npm:^1.2.3": version: 1.2.3 resolution: "functions-have-names@npm:1.2.3" checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5 @@ -28913,15 +28848,15 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1": - version: 1.2.1 - resolution: "get-intrinsic@npm:1.2.1" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2": + version: 1.2.2 + resolution: "get-intrinsic@npm:1.2.2" dependencies: - function-bind: ^1.1.1 - has: ^1.0.3 + function-bind: ^1.1.2 has-proto: ^1.0.1 has-symbols: ^1.0.3 - checksum: 5b61d88552c24b0cf6fa2d1b3bc5459d7306f699de060d76442cce49a4721f52b8c560a33ab392cf5575b7810277d54ded9d4d39a1ea61855619ebc005aa7e5f + hasown: ^2.0.0 + checksum: 447ff0724df26829908dc033b62732359596fcf66027bc131ab37984afb33842d9cd458fd6cecadfe7eac22fd8a54b349799ed334cf2726025c921c7250e7417 languageName: node linkType: hard @@ -28971,13 +28906,20 @@ __metadata: languageName: node linkType: hard -"get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": +"get-stream@npm:^6.0.0": version: 6.0.1 resolution: "get-stream@npm:6.0.1" checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad languageName: node linkType: hard +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 01e3d3cf29e1393f05f44d2f00445c5f9ec3d1c49e8179b31795484b9c117f4c695e5e07b88b50785d5c8248a788c85d9913a79266fc77e3ef11f78f10f1b974 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.0": version: 1.0.0 resolution: "get-symbol-description@npm:1.0.0" @@ -29036,11 +28978,11 @@ __metadata: linkType: hard "git-url-parse@npm:^13.0.0, git-url-parse@npm:^13.1.0": - version: 13.1.0 - resolution: "git-url-parse@npm:13.1.0" + version: 13.1.1 + resolution: "git-url-parse@npm:13.1.1" dependencies: git-up: ^7.0.0 - checksum: 212a9b0343e9199998b6a532efe2014476a7a1283af393663ca49ac28d4768929aad16d3322e2685236065ee394dbc93e7aa63a48956531e984c56d8b5edb54d + checksum: 8a6111814f4dfff304149b22c8766dc0a90c10e4ea5b5d103f7c3f14b0a711c7b20fc5a9e03c0e2d29123486ac648f9e19f663d8132f69549bee2de49ee96989 languageName: node linkType: hard @@ -29365,11 +29307,11 @@ __metadata: languageName: node linkType: hard -"graphiql@npm:3.0.6, graphiql@npm:^3.0.6": - version: 3.0.6 - resolution: "graphiql@npm:3.0.6" +"graphiql@npm:3.0.9, graphiql@npm:^3.0.6": + version: 3.0.9 + resolution: "graphiql@npm:3.0.9" dependencies: - "@graphiql/react": ^0.19.4 + "@graphiql/react": ^0.20.2 "@graphiql/toolkit": ^0.9.1 graphql-language-service: ^5.2.0 markdown-it: ^12.2.0 @@ -29377,7 +29319,7 @@ __metadata: graphql: ^15.5.0 || ^16.0.0 react: ^16.8.0 || ^17 || ^18 react-dom: ^16.8.0 || ^17 || ^18 - checksum: 34d35ca4b46ce1e0cef0362f15d091481d2275e4a5b537b5715cfbaee15b1e114c31f35a63558a6f74a754687fbf4bc977411818af34e2e471a96902370c40f2 + checksum: 4431842ddcee548bb0aacbe6c8d2eaf3a8cd34fcdb584d98e0983dec21bdeeeaee4550c80a34debd290aebbd8535dae488d2d0beb85e1cb59b89ba4ed08ef32c languageName: node linkType: hard @@ -29439,8 +29381,8 @@ __metadata: linkType: hard "graphql-modules@npm:^2.0.0": - version: 2.2.0 - resolution: "graphql-modules@npm:2.2.0" + version: 2.3.0 + resolution: "graphql-modules@npm:2.3.0" dependencies: "@graphql-tools/schema": ^10.0.0 "@graphql-tools/wrap": ^10.0.0 @@ -29448,7 +29390,7 @@ __metadata: ramda: ^0.29.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 81e36df3869f54274b1ab2d178d96ae649f6261724235566361caa770a6011b02633e211cdd2e57b4720b8fa61c2469618a1dc7e2ed213855bf48a2fbf30a76d + checksum: aea97b00535914d472c544a9e104091b7208f56634f622471bd8389e7702483cdff4f38fd0877f1c9ebb93d3fabed443b10e49d88f0624642271a5d1479d971e languageName: node linkType: hard @@ -29528,11 +29470,11 @@ __metadata: linkType: hard "graphql-ws@npm:^5.4.1, graphql-ws@npm:^5.9.0": - version: 5.14.1 - resolution: "graphql-ws@npm:5.14.1" + version: 5.14.2 + resolution: "graphql-ws@npm:5.14.2" peerDependencies: graphql: ">=0.11 <=16" - checksum: bf6aa9446496f11e74d5fea17672050fb02f0303c6a7bf1e2692b7ea88059a18837f437e2ec8ba3cf7bb5bc2a18dddeebe9a8c6e6036914c3776297c48c1a398 + checksum: ee9affa2478b9d262405986f07616267b4db10ae45cf32fffb551572fb5bf5e1e3aa6652375511b3ff640d382c74c1327ce75ff1ee2fa8b964b3ef3d55d97f75 languageName: node linkType: hard @@ -29760,6 +29702,15 @@ __metadata: languageName: node linkType: hard +"hasown@npm:^2.0.0": + version: 2.0.0 + resolution: "hasown@npm:2.0.0" + dependencies: + function-bind: ^1.1.2 + checksum: 6151c75ca12554565098641c98a40f4cc86b85b0fd5b6fe92360967e4605a4f9610f7757260b4e8098dd1c2ce7f4b095f2006fe72a570e3b6d2d28de0298c176 + languageName: node + linkType: hard + "hast-util-parse-selector@npm:^2.0.0": version: 2.2.4 resolution: "hast-util-parse-selector@npm:2.2.4" @@ -30211,17 +30162,17 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^4.3.0": - version: 4.3.0 - resolution: "human-signals@npm:4.3.0" - checksum: 662b976b1063a8afb8fd7fa50bde6975997e17ea6ceba2aad54aacf1dc239a2cd7d14d27b3ceca0c6288627f4b45c56c2c89618455ff52cd9377c02d6328cd7c +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 6504560d5ed91444f16bea3bd9dfc66110a339442084e56c3e7fa7bbdf3f406426d6563d662bdce67064b165eac31eeabfc0857ed170aaa612cf14ec9f9a464c languageName: node linkType: hard "humanize-duration@npm:^3.25.1, humanize-duration@npm:^3.26.0, humanize-duration@npm:^3.27.0, humanize-duration@npm:^3.27.1": - version: 3.30.0 - resolution: "humanize-duration@npm:3.30.0" - checksum: 6eaf888219801d47d42cfb03523e736367c260e3f32cddb4e30c30f49500e08e7cdfd413f02a5ed24943ef382b3e89c8a11e6eda3a432846385903a9f49e576a + version: 3.31.0 + resolution: "humanize-duration@npm:3.31.0" + checksum: a21b1c80d43580c28fef07213846f74703c467270d41b774faeb4df6041b1da65effc554346fe6f0a70c4096b011d75f2ba6c2fd254b5a3c93231d85910533fe languageName: node linkType: hard @@ -30861,12 +30812,12 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.1.0, is-core-module@npm:^2.11.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.9.0": - version: 2.13.0 - resolution: "is-core-module@npm:2.13.0" +"is-core-module@npm:^2.1.0, is-core-module@npm:^2.13.0, is-core-module@npm:^2.13.1, is-core-module@npm:^2.9.0": + version: 2.13.1 + resolution: "is-core-module@npm:2.13.1" dependencies: - has: ^1.0.3 - checksum: 053ab101fb390bfeb2333360fd131387bed54e476b26860dc7f5a700bbf34a0ec4454f7c8c4d43e8a0030957e4b3db6e16d35e1890ea6fb654c833095e040355 + hasown: ^2.0.0 + checksum: 256559ee8a9488af90e4bad16f5583c6d59e92f0742e9e8bb4331e758521ee86b810b93bae44f390766ffbc518a0488b18d9dab7da9a5ff997d499efc9403f7c languageName: node linkType: hard @@ -31320,7 +31271,7 @@ __metadata: languageName: node linkType: hard -"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": +"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.9": version: 1.1.12 resolution: "is-typed-array@npm:1.1.12" dependencies: @@ -31531,8 +31482,8 @@ __metadata: linkType: hard "isomorphic-git@npm:^1.23.0": - version: 1.24.5 - resolution: "isomorphic-git@npm:1.24.5" + version: 1.25.0 + resolution: "isomorphic-git@npm:1.25.0" dependencies: async-lock: ^1.1.0 clean-git-ref: ^2.0.1 @@ -31547,7 +31498,7 @@ __metadata: simple-get: ^4.0.1 bin: isogit: cli.cjs - checksum: d9d13d76ec3a7d7cc8afd70d07ea920f07806b74810fe414559d460cbef8d49c7e0f6dfba0e1773c7856b1d3dd1bf98e17a09ae6aa4a8fd2d759a2f54989491a + checksum: d7f97cc3a7c7deb45077e3308c72aadd20a4a2ecf1c4ba929edb4e658356453bfe10daa38dcb5a34de0432e0a98ad91cfc540e62a8604aec9fd07ab5e7197299 languageName: node linkType: hard @@ -31662,16 +31613,16 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.0": - version: 1.1.0 - resolution: "iterator.prototype@npm:1.1.0" +"iterator.prototype@npm:^1.1.2": + version: 1.1.2 + resolution: "iterator.prototype@npm:1.1.2" dependencies: - define-properties: ^1.1.4 - get-intrinsic: ^1.1.3 + define-properties: ^1.2.1 + get-intrinsic: ^1.2.1 has-symbols: ^1.0.3 - has-tostringtag: ^1.0.0 - reflect.getprototypeof: ^1.0.3 - checksum: 462fe16c770affeb9c08620b13fc98d38307335821f4fabd489f491d38c79855c6a93d4b56f6146eaa56711f61690aa5c7eb0ce8586c95145d2f665a3834d916 + reflect.getprototypeof: ^1.0.4 + set-function-name: ^2.0.1 + checksum: d8a507e2ccdc2ce762e8a1d3f4438c5669160ac72b88b648e59a688eec6bc4e64b22338e74000518418d9e693faf2a092d2af21b9ec7dbf7763b037a54701168 languageName: node linkType: hard @@ -32346,9 +32297,9 @@ __metadata: linkType: hard "jose@npm:^4.14.6, jose@npm:^4.15.1, jose@npm:^4.6.0": - version: 4.15.3 - resolution: "jose@npm:4.15.3" - checksum: b76eeccc1d40d0eaf26dfaadc0f88fc15802c9105ab66a24ee223bd84369f7cb217f4a2cb852f5080ff6996170b3a73db2b2d26878b8905d99c36ca432628134 + version: 4.15.4 + resolution: "jose@npm:4.15.4" + checksum: dccad91cb3357f36423774a0b89ad830dd84b31090de65cd139b85488439f16a00f8c59c0773825e8a1adb0dd9d13ad725ad66e6ea33880ecb3959bb99e1ea5b languageName: node linkType: hard @@ -32405,7 +32356,7 @@ __metadata: languageName: node linkType: hard -"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.6.1, js-yaml@npm:^3.8.3": +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.0, js-yaml@npm:^3.13.1, js-yaml@npm:^3.14.0, js-yaml@npm:^3.6.1, js-yaml@npm:^3.8.3": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" dependencies: @@ -32467,18 +32418,19 @@ __metadata: linkType: hard "jscodeshift@npm:^0.15.0": - version: 0.15.0 - resolution: "jscodeshift@npm:0.15.0" + version: 0.15.1 + resolution: "jscodeshift@npm:0.15.1" dependencies: - "@babel/core": ^7.13.16 - "@babel/parser": ^7.13.16 - "@babel/plugin-proposal-class-properties": ^7.13.0 - "@babel/plugin-proposal-nullish-coalescing-operator": ^7.13.8 - "@babel/plugin-proposal-optional-chaining": ^7.13.12 - "@babel/plugin-transform-modules-commonjs": ^7.13.8 - "@babel/preset-flow": ^7.13.13 - "@babel/preset-typescript": ^7.13.0 - "@babel/register": ^7.13.16 + "@babel/core": ^7.23.0 + "@babel/parser": ^7.23.0 + "@babel/plugin-transform-class-properties": ^7.22.5 + "@babel/plugin-transform-modules-commonjs": ^7.23.0 + "@babel/plugin-transform-nullish-coalescing-operator": ^7.22.11 + "@babel/plugin-transform-optional-chaining": ^7.23.0 + "@babel/plugin-transform-private-methods": ^7.22.5 + "@babel/preset-flow": ^7.22.15 + "@babel/preset-typescript": ^7.23.0 + "@babel/register": ^7.22.15 babel-core: ^7.0.0-bridge.0 chalk: ^4.1.2 flow-parser: 0.* @@ -32486,7 +32438,7 @@ __metadata: micromatch: ^4.0.4 neo-async: ^2.5.0 node-dir: ^0.1.17 - recast: ^0.23.1 + recast: ^0.23.3 temp: ^0.8.4 write-file-atomic: ^2.3.0 peerDependencies: @@ -32496,7 +32448,7 @@ __metadata: optional: true bin: jscodeshift: bin/jscodeshift.js - checksum: 2ab7e7fe0fdaaeeeb6a26a570b19f60ccd42a779ad918372c3f7bf3ea534727cdd80d02161ebef952a9869fcb5adfb4accb66b386633fa5279e8018a47e7500f + checksum: d760dee2b634fa8a4610bdbdf787ce117a9a6bcc73e9ae55a38be77e380698d928d34a375a93ed4685e8bbdecfbd3cdbb87eb4b7e22fc58381db3d59fb554687 languageName: node linkType: hard @@ -32670,15 +32622,15 @@ __metadata: linkType: hard "json-rules-engine@npm:^6.1.2": - version: 6.4.2 - resolution: "json-rules-engine@npm:6.4.2" + version: 6.5.0 + resolution: "json-rules-engine@npm:6.5.0" dependencies: clone: ^2.1.2 eventemitter2: ^6.4.4 hash-it: ^6.0.0 jsonpath-plus: ^7.2.0 lodash.isobjectlike: ^4.0.0 - checksum: c3dcddc71db42e2e29ced8883adc7e38a99a3fa7111fd1539cd38e375a422225956e61c53346e341a8b0432507225cb1d634acc2d02faccb24b73b559a574e44 + checksum: c1a6fa2bb65743397c838c4e4a9157f184e0c24423031fa4bab6b83b5edbb64341f9197ccad9fdd44fcd6c58ac329c0c77882a64acf0d90ee1d856768a4154e3 languageName: node linkType: hard @@ -32715,6 +32667,15 @@ __metadata: languageName: node linkType: hard +"json-schema-migrate@npm:^0.2.0": + version: 0.2.0 + resolution: "json-schema-migrate@npm:0.2.0" + dependencies: + ajv: ^5.0.0 + checksum: fc5b3ed2cfc5d02059836120653b63f846a18037ec554b47267f9c104750f8fa3f3acb38d0129f116fd2db017c69cc90456cfae66930aa1d328fe12a422c0125 + languageName: node + linkType: hard + "json-schema-to-ts@npm:^2.6.2": version: 2.9.2 resolution: "json-schema-to-ts@npm:2.9.2" @@ -32726,6 +32687,13 @@ __metadata: languageName: node linkType: hard +"json-schema-traverse@npm:^0.3.0": + version: 0.3.1 + resolution: "json-schema-traverse@npm:0.3.1" + checksum: a685c36222023471c25c86cddcff506306ecb8f8941922fd356008419889c41c38e1c16d661d5499d0a561b34f417693e9bb9212ba2b2b2f8f8a345a49e4ec1a + languageName: node + linkType: hard + "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -32784,16 +32752,6 @@ __metadata: languageName: node linkType: hard -"json-to-ast@npm:^2.1.0": - version: 2.1.0 - resolution: "json-to-ast@npm:2.1.0" - dependencies: - code-error-fragment: 0.0.230 - grapheme-splitter: ^1.0.4 - checksum: 1e9b051505b218573b39f3fec9054d75772413aefc2fee3e763d9033276664faa7eec26b945a71f70b9ce29685b2f13259df7dd3243e15eacf4672c62d5ba7ce - languageName: node - linkType: hard - "json-to-pretty-yaml@npm:^1.2.2": version: 1.2.2 resolution: "json-to-pretty-yaml@npm:1.2.2" @@ -33123,13 +33081,15 @@ __metadata: languageName: node linkType: hard -"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.3": - version: 3.3.3 - resolution: "jsx-ast-utils@npm:3.3.3" +"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5": + version: 3.3.5 + resolution: "jsx-ast-utils@npm:3.3.5" dependencies: - array-includes: ^3.1.5 - object.assign: ^4.1.3 - checksum: a2ed78cac49a0f0c4be8b1eafe3c5257a1411341d8e7f1ac740debae003de04e5f6372bfcfbd9d082e954ffd99aac85bcda85b7c6bc11609992483f4cdc0f745 + array-includes: ^3.1.6 + array.prototype.flat: ^1.3.1 + object.assign: ^4.1.4 + object.values: ^1.1.6 + checksum: f4b05fa4d7b5234230c905cfa88d36dc8a58a6666975a3891429b1a8cdc8a140bca76c297225cb7a499fad25a2c052ac93934449a2c31a44fc9edd06c773780a languageName: node linkType: hard @@ -33344,19 +33304,19 @@ __metadata: languageName: node linkType: hard -"language-subtag-registry@npm:~0.3.2": - version: 0.3.21 - resolution: "language-subtag-registry@npm:0.3.21" - checksum: 5f794525a5bfcefeea155a681af1c03365b60e115b688952a53c6e0b9532b09163f57f1fcb69d6150e0e805ec0350644a4cb35da98f4902562915be9f89572a1 +"language-subtag-registry@npm:^0.3.20": + version: 0.3.22 + resolution: "language-subtag-registry@npm:0.3.22" + checksum: 8ab70a7e0e055fe977ac16ea4c261faec7205ac43db5e806f72e5b59606939a3b972c4bd1e10e323b35d6ffa97c3e1c4c99f6553069dad2dfdd22020fa3eb56a languageName: node linkType: hard -"language-tags@npm:=1.0.5": - version: 1.0.5 - resolution: "language-tags@npm:1.0.5" +"language-tags@npm:^1.0.9": + version: 1.0.9 + resolution: "language-tags@npm:1.0.9" dependencies: - language-subtag-registry: ~0.3.2 - checksum: c81b5d8b9f5f9cfd06ee71ada6ddfe1cf83044dd5eeefcd1e420ad491944da8957688db4a0a9bc562df4afdc2783425cbbdfd152c01d93179cf86888903123cf + language-subtag-registry: ^0.3.20 + checksum: 57c530796dc7179914dee71bc94f3747fd694612480241d0453a063777265dfe3a951037f7acb48f456bf167d6eb419d4c00263745326b3ba1cdcf4657070e78 languageName: node linkType: hard @@ -33543,40 +33503,40 @@ __metadata: languageName: node linkType: hard -"linkify-react@npm:4.1.1": - version: 4.1.1 - resolution: "linkify-react@npm:4.1.1" +"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: 2f213f134055d4a11587e7e0bc3e0ef7e372c8c0d1419dbc5bb8e3a280f325bea9ad9d8d6017fd79f8f86fa4127ed75cbe6f320ef9d92a00ae510f320db0f408 + checksum: c262e5aeb95cce014256ef417756c405bffd88e4cbe133185bc031113728e982025f8fa6f0ee76f67c84e030bcc093b50fa833724612c09762244d9efe22d192 languageName: node linkType: hard -"linkifyjs@npm:4.1.1": - version: 4.1.1 - resolution: "linkifyjs@npm:4.1.1" - checksum: 312b75ec9bc6e7107f2b70e50682e8baccd7b94a64bf7b88cecd352032126b0d6fa7ea41394c417a178c718caa79b70e6ab3570eee7b96a12399689d666e68fb +"linkifyjs@npm:4.1.2": + version: 4.1.2 + resolution: "linkifyjs@npm:4.1.2" + checksum: 42d594fdf5347e0b35ab9b9a46d0eb290f1a39f092a4e883e0dfa97bb8c3ff5dde57d6ff80d1580f2b6d0b4620269b49bf865c2013b341f1ce084038e9abab01 languageName: node linkType: hard -"lint-staged@npm:^13.0.0": - version: 13.3.0 - resolution: "lint-staged@npm:13.3.0" +"lint-staged@npm:^15.0.0": + version: 15.1.0 + resolution: "lint-staged@npm:15.1.0" dependencies: chalk: 5.3.0 - commander: 11.0.0 + commander: 11.1.0 debug: 4.3.4 - execa: 7.2.0 + execa: 8.0.1 lilconfig: 2.1.0 - listr2: 6.6.1 + listr2: 7.0.2 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.1 + yaml: 2.3.4 bin: lint-staged: bin/lint-staged.js - checksum: f7c146cc2849c9ce4f1d2808d990fcbdef5e0bb79e6e79cc895f53c91f5ac4dcefdb8c3465156b38a015dcb051f2795c6bda4f20a1e2f2fa654c7ba521b2d2e0 + checksum: e99bdedb32d20fa22c0d0798ecf014fd00ac9cce1158373d7caf47855c0b9b4c20d228417677a05ea81f6941f957ae9347dccb3846a48bc1fdd0cdeed2ccf0ef languageName: node linkType: hard @@ -33587,9 +33547,9 @@ __metadata: languageName: node linkType: hard -"listr2@npm:6.6.1": - version: 6.6.1 - resolution: "listr2@npm:6.6.1" +"listr2@npm:7.0.2": + version: 7.0.2 + resolution: "listr2@npm:7.0.2" dependencies: cli-truncate: ^3.1.0 colorette: ^2.0.20 @@ -33597,12 +33557,7 @@ __metadata: log-update: ^5.0.1 rfdc: ^1.3.0 wrap-ansi: ^8.1.0 - peerDependencies: - enquirer: ">= 2.3.0 < 3" - peerDependenciesMeta: - enquirer: - optional: true - checksum: 99600e8a51f838f7208bce7e16d6b3d91d361f13881e6aa91d0b561a9a093ddcf63b7bc2a7b47aec7fdbff9d0e8c9f68cb66e6dfe2d857e5b1df8ab045c26ce8 + checksum: 1734c6b9367ceeb09bf372427930a4586b3727097373408f2f840896b9333cc80e53a1a696771a83a7d4d9ada46229843f3052b87f3b0b58c20e9451362c2dd3 languageName: node linkType: hard @@ -34017,16 +33972,16 @@ __metadata: linkType: hard "logform@npm:^2.3.2, logform@npm:^2.4.0": - version: 2.5.1 - resolution: "logform@npm:2.5.1" + version: 2.6.0 + resolution: "logform@npm:2.6.0" dependencies: - "@colors/colors": 1.5.0 + "@colors/colors": 1.6.0 "@types/triple-beam": ^1.3.2 fecha: ^4.2.0 ms: ^2.1.1 safe-stable-stringify: ^2.3.1 triple-beam: ^1.3.0 - checksum: 08fdf03be5bb69af33bac214eb4f6a0c83ad3821a30de498925fccb61e993e5a4a87470aab356ca2110c11e4643685bed5597ca5f46dd1cd11437c44a0e0e3c2 + checksum: b9ea74bb75e55379ad0eb3e4d65ae6e8d02bc45b431c218162878bf663997ab9258a73104c2b30e09dd2db288bb83c8bf8748e46689d75f5e7e34cf69378d6df languageName: node linkType: hard @@ -34191,9 +34146,9 @@ __metadata: linkType: hard "luxon@npm:^3.0.0, luxon@npm:^3.3.0, luxon@npm:^3.4.3": - version: 3.4.3 - resolution: "luxon@npm:3.4.3" - checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3 + version: 3.4.4 + resolution: "luxon@npm:3.4.4" + checksum: 36c1f99c4796ee4bfddf7dc94fa87815add43ebc44c8934c924946260a58512f0fd2743a629302885df7f35ccbd2d13f178c15df046d0e3b6eb71db178f1c60c languageName: node linkType: hard @@ -34240,6 +34195,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.30.3": + version: 0.30.5 + resolution: "magic-string@npm:0.30.5" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.15 + checksum: da10fecff0c0a7d3faf756913ce62bd6d5e7b0402be48c3b27bfd651b90e29677e279069a63b764bcdc1b8ecdcdb898f29a5c5ec510f2323e8d62ee057a6eb18 + languageName: node + linkType: hard + "make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" @@ -34266,7 +34230,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^10.0.1, make-fetch-happen@npm:^10.0.3": +"make-fetch-happen@npm:^10.0.1": version: 10.2.1 resolution: "make-fetch-happen@npm:10.2.1" dependencies: @@ -34447,16 +34411,16 @@ __metadata: linkType: hard "material-ui-search-bar@npm:^1.0.0": - version: 1.0.0 - resolution: "material-ui-search-bar@npm:1.0.0" + version: 1.0.1 + resolution: "material-ui-search-bar@npm:1.0.1" dependencies: classnames: ^2.2.5 prop-types: ^15.5.8 peerDependencies: "@material-ui/core": ^4.0.0 "@material-ui/icons": ^4.0.0 - react: ^16.8.0 - checksum: 05f29e456a93860d233cdc8343bea7fe2983dffc8b276fd75780156e58f00152fe712febf99f887167bd6e53d6d2f4988fa52ccb8b35b2e1c7e3cd2af6705822 + react: ">=16.8.0" + checksum: f2bbc90471bdf3734d704b164857eb2b5c7f30dbe5ee362b448d8362fbfe152f1d1d5280fe4bf44624dc6135782ef58f63cf488ecb82f3392e0090757a767175 languageName: node linkType: hard @@ -35549,6 +35513,15 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^2.1.6": + version: 2.1.6 + resolution: "mkdirp@npm:2.1.6" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 8a1d09ffac585e55f41c54f445051f5bc33a7de99b952bb04c576cafdf1a67bb4bae8cb93736f7da6838771fbf75bc630430a3a59e1252047d2278690bd150ee + languageName: node + linkType: hard + "mock-fs@npm:5.2.0": version: 5.2.0 resolution: "mock-fs@npm:5.2.0" @@ -35798,12 +35771,12 @@ __metadata: languageName: node linkType: hard -"nan@npm:^2.14.0, nan@npm:^2.14.1, nan@npm:^2.15.0, nan@npm:^2.17.0": - version: 2.17.0 - resolution: "nan@npm:2.17.0" +"nan@npm:^2.14.0, nan@npm:^2.14.1, nan@npm:^2.15.0, nan@npm:^2.17.0, nan@npm:^2.18.0": + version: 2.18.0 + resolution: "nan@npm:2.18.0" dependencies: node-gyp: latest - checksum: ec609aeaf7e68b76592a3ba96b372aa7f5df5b056c1e37410b0f1deefbab5a57a922061e2c5b369bae9c7c6b5e6eecf4ad2dac8833a1a7d3a751e0a7c7f849ed + checksum: 4fe42f58456504eab3105c04a5cffb72066b5f22bd45decf33523cb17e7d6abc33cca2a19829407b9000539c5cb25f410312d4dc5b30220167a3594896ea6a0a languageName: node linkType: hard @@ -36032,6 +36005,20 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:2.6.7": + version: 2.6.7 + resolution: "node-fetch@npm:2.6.7" + dependencies: + whatwg-url: ^5.0.0 + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 8d816ffd1ee22cab8301c7756ef04f3437f18dace86a1dae22cf81db8ef29c0bf6655f3215cb0cdb22b420b6fe141e64b26905e7f33f9377a7fa59135ea3e10b + languageName: node + linkType: hard + "node-fetch@npm:^1.0.1": version: 1.7.3 resolution: "node-fetch@npm:1.7.3" @@ -36042,7 +36029,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.5.0, node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.5, node-fetch@npm:^2.6.7": +"node-fetch@npm:^2.6.0, node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.12, node-fetch@npm:^2.6.5, node-fetch@npm:^2.6.7": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -36074,6 +36061,26 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:^10.0.0, node-gyp@npm:latest": + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" + dependencies: + env-paths: ^2.2.0 + exponential-backoff: ^3.1.1 + glob: ^10.3.10 + graceful-fs: ^4.2.6 + make-fetch-happen: ^13.0.0 + nopt: ^7.0.0 + proc-log: ^3.0.0 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^4.0.0 + bin: + node-gyp: bin/node-gyp.js + checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f + languageName: node + linkType: hard + "node-gyp@npm:^8.2.0": version: 8.4.1 resolution: "node-gyp@npm:8.4.1" @@ -36094,47 +36101,6 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^9.4.0": - version: 9.4.1 - resolution: "node-gyp@npm:9.4.1" - dependencies: - env-paths: ^2.2.0 - exponential-backoff: ^3.1.1 - glob: ^7.1.4 - graceful-fs: ^4.2.6 - make-fetch-happen: ^10.0.3 - nopt: ^6.0.0 - npmlog: ^6.0.0 - rimraf: ^3.0.2 - semver: ^7.3.5 - tar: ^6.1.2 - which: ^2.0.2 - bin: - node-gyp: bin/node-gyp.js - checksum: 8576c439e9e925ab50679f87b7dfa7aa6739e42822e2ad4e26c36341c0ba7163fdf5a946f0a67a476d2f24662bc40d6c97bd9e79ced4321506738e6b760a1577 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" - dependencies: - env-paths: ^2.2.0 - exponential-backoff: ^3.1.1 - glob: ^10.3.10 - graceful-fs: ^4.2.6 - make-fetch-happen: ^13.0.0 - nopt: ^7.0.0 - proc-log: ^3.0.0 - semver: ^7.3.5 - tar: ^6.1.2 - which: ^4.0.0 - bin: - node-gyp: bin/node-gyp.js - checksum: 60a74e66d364903ce02049966303a57f898521d139860ac82744a5fdd9f7b7b3b61f75f284f3bfe6e6add3b8f1871ce305a1d41f775c7482de837b50c792223f - languageName: node - linkType: hard - "node-html-markdown@npm:^1.3.0": version: 1.3.0 resolution: "node-html-markdown@npm:1.3.0" @@ -36292,17 +36258,6 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^6.0.0": - version: 6.0.0 - resolution: "nopt@npm:6.0.0" - dependencies: - abbrev: ^1.0.0 - bin: - nopt: bin/nopt.js - checksum: 82149371f8be0c4b9ec2f863cc6509a7fd0fa729929c009f3a58e4eb0c9e4cae9920e8f1f8eb46e7d032fec8fb01bede7f0f41a67eb3553b7b8e14fa53de1dac - languageName: node - linkType: hard - "nopt@npm:^7.0.0": version: 7.2.0 resolution: "nopt@npm:7.2.0" @@ -36607,10 +36562,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.3, object-inspect@npm:^1.9.0": - version: 1.12.3 - resolution: "object-inspect@npm:1.12.3" - checksum: dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0": + version: 1.13.1 + resolution: "object-inspect@npm:1.13.1" + checksum: 7d9fa9221de3311dcb5c7c307ee5dc011cdd31dc43624b7c184b3840514e118e05ef0002be5388304c416c0eb592feb46e983db12577fc47e47d5752fbbfb61f languageName: node linkType: hard @@ -36631,7 +36586,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.3, object.assign@npm:^4.1.4": +"object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -36643,37 +36598,37 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.6": - version: 1.1.6 - resolution: "object.entries@npm:1.1.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0f8c47517e6a9a980241eafe3b73de11e59511883173c2b93d67424a008e47e11b77c80e431ad1d8a806f6108b225a1cab9223e53e555776c612a24297117d28 - languageName: node - linkType: hard - -"object.fromentries@npm:^2.0.6": - version: 2.0.6 - resolution: "object.fromentries@npm:2.0.6" - dependencies: - call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 - languageName: node - linkType: hard - -"object.groupby@npm:^1.0.0": - version: 1.0.0 - resolution: "object.groupby@npm:1.0.0" +"object.entries@npm:^1.1.6, object.entries@npm:^1.1.7": + version: 1.1.7 + resolution: "object.entries@npm:1.1.7" dependencies: call-bind: ^1.0.2 define-properties: ^1.2.0 - es-abstract: ^1.21.2 + es-abstract: ^1.22.1 + checksum: da287d434e7e32989586cd734382364ba826a2527f2bc82e6acbf9f9bfafa35d51018b66ec02543ffdfa2a5ba4af2b6f1ca6e588c65030cb4fd9c67d6ced594c + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.6, object.fromentries@npm:^2.0.7": + version: 2.0.7 + resolution: "object.fromentries@npm:2.0.7" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 7341ce246e248b39a431b87a9ddd331ff52a454deb79afebc95609f94b1f8238966cf21f52188f2a353f0fdf83294f32f1ebf1f7826aae915ebad21fd0678065 + languageName: node + linkType: hard + +"object.groupby@npm:^1.0.1": + version: 1.0.1 + resolution: "object.groupby@npm:1.0.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 get-intrinsic: ^1.2.1 - checksum: 64b00b287d57580111c958e7ff375c9b61811fa356f2cf0d35372d43cab61965701f00fac66c19fd8f49c4dfa28744bee6822379c69a73648ad03e09fcdeae70 + checksum: d7959d6eaaba358b1608066fc67ac97f23ce6f573dc8fc661f68c52be165266fcb02937076aedb0e42722fdda0bdc0bbf74778196ac04868178888e9fd3b78b5 languageName: node linkType: hard @@ -36687,14 +36642,14 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6": - version: 1.1.6 - resolution: "object.values@npm:1.1.6" +"object.values@npm:^1.1.6, object.values@npm:^1.1.7": + version: 1.1.7 + resolution: "object.values@npm:1.1.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: f3e4ae4f21eb1cc7cebb6ce036d4c67b36e1c750428d7b7623c56a0db90edced63d08af8a316d81dfb7c41a3a5fa81b05b7cc9426e98d7da986b1682460f0777 languageName: node linkType: hard @@ -37391,13 +37346,13 @@ __metadata: linkType: hard "passport-auth0@npm:^1.4.3": - version: 1.4.3 - resolution: "passport-auth0@npm:1.4.3" + version: 1.4.4 + resolution: "passport-auth0@npm:1.4.4" dependencies: - axios: ^0.27.2 + axios: ^1.6.0 passport-oauth: ^1.0.0 passport-oauth2: ^1.6.0 - checksum: 7658f58fd24831c67c783a9b0df3946bae9e6e42f8572747f17e77a2129d58ba21917a7531a4a328119b99a2a979ee857a1107c8e22e63e55739cdc1a8d1ccbc + checksum: 537c2a9d60fd3e8663cc5686bb34808412bccefaed8fa99c782f5e24fc2e103ddb14db1a8fdea38a89bd2eaa797d6f6a9c2d0309d83617dde9466ab1de4cf36b languageName: node linkType: hard @@ -37995,10 +37950,10 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.0, pirates@npm:^4.0.1, pirates@npm:^4.0.4": - version: 4.0.5 - resolution: "pirates@npm:4.0.5" - checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 +"pirates@npm:^4.0.1, pirates@npm:^4.0.4, pirates@npm:^4.0.5": + version: 4.0.6 + resolution: "pirates@npm:4.0.6" + checksum: 46a65fefaf19c6f57460388a5af9ab81e3d7fd0e7bc44ca59d753cb5c4d0df97c6c6e583674869762101836d68675f027d60f841c105d72734df9dfca97cbcc6 languageName: node linkType: hard @@ -38052,27 +38007,27 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.38.1": - version: 1.38.1 - resolution: "playwright-core@npm:1.38.1" +"playwright-core@npm:1.39.0": + version: 1.39.0 + resolution: "playwright-core@npm:1.39.0" bin: playwright-core: cli.js - checksum: 66e83fe040f309b13ad94ba39dea40ac207bfcbbc22de13141af88dbdedd64e1c4e3ce1d0cb070d4efd8050d7e579953ec3681dd8a0acf2c1cc738d9c50e545e + checksum: 556e78dee4f9890facf2af8249972e0d6e01a5ae98737b0f6b0166c660a95ffee4cb79350335b1ef96430a0ef01d3669daae9099fa46c8d403d11c623988238b languageName: node linkType: hard -"playwright@npm:1.38.1": - version: 1.38.1 - resolution: "playwright@npm:1.38.1" +"playwright@npm:1.39.0": + version: 1.39.0 + resolution: "playwright@npm:1.39.0" dependencies: fsevents: 2.3.2 - playwright-core: 1.38.1 + playwright-core: 1.39.0 dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: 4e01d4ee52d9ccf75a80d8492829106802590721d56bff7c5957ff1f21eb3c328ee5bc3c1784a59c4b515df1b98d08ef92e4a35a807f454cd00dc481d30fadc2 + checksum: 96d8ca5aa25465c1c5d554d0d6071981d55e22477800ff8f5d47a53ca75193d60ece2df538a01b7165b3277dd5493c67603a5acda713029df7fbd95ce2417bc9 languageName: node linkType: hard @@ -38532,13 +38487,6 @@ __metadata: languageName: node linkType: hard -"postcss-value-parser@npm:^3.3.0": - version: 3.3.1 - resolution: "postcss-value-parser@npm:3.3.1" - checksum: 62cd26e1cdbcf2dcc6bcedf3d9b409c9027bc57a367ae20d31dd99da4e206f730689471fd70a2abe866332af83f54dc1fa444c589e2381bf7f8054c46209ce16 - languageName: node - linkType: hard - "postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.1.0, postcss-value-parser@npm:^4.2.0": version: 4.2.0 resolution: "postcss-value-parser@npm:4.2.0" @@ -39135,13 +39083,6 @@ __metadata: languageName: node linkType: hard -"q@npm:^1.5.1": - version: 1.5.1 - resolution: "q@npm:1.5.1" - checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 - languageName: node - linkType: hard - "qs@npm:6.11.0": version: 6.11.0 resolution: "qs@npm:6.11.0" @@ -39251,6 +39192,21 @@ __metadata: languageName: node linkType: hard +"ramldt2jsonschema@npm:^1.2.3": + version: 1.2.3 + resolution: "ramldt2jsonschema@npm:1.2.3" + dependencies: + commander: ^5.0.0 + js-yaml: ^3.14.0 + json-schema-migrate: ^0.2.0 + webapi-parser: ^0.5.0 + bin: + dt2js: bin/dt2js.js + js2dt: bin/js2dt.js + checksum: db6b89f4c088184290ea27448cfd64985e253543209e0b80bfb12b0b9640253b59418b671164af9055143018ef4be010c5f52ca853386636267269208f2f3512 + languageName: node + linkType: hard + "randexp@npm:0.4.6": version: 0.4.6 resolution: "randexp@npm:0.4.6" @@ -39611,11 +39567,11 @@ __metadata: linkType: hard "react-hook-form@npm:^7.12.2, react-hook-form@npm:^7.13.0": - version: 7.47.0 - resolution: "react-hook-form@npm:7.47.0" + version: 7.48.2 + resolution: "react-hook-form@npm:7.48.2" peerDependencies: react: ^16.8.0 || ^17 || ^18 - checksum: dec192fec9c54e436f9e47008635dd7849b6b119ed477a9b0cd491367a0b2ced3427cd937febfb245e1cb7578c863917181d903eff4519c2787bf713ec7d3426 + checksum: 39652d08f78f16e5234049ceeb794d8bcd4d146772aca99c6db8c5aea8926cd4a230d02098886a441074deefbc24ffcb5ed57bc7cb0009d950115f5b3e627f12 languageName: node linkType: hard @@ -39750,9 +39706,9 @@ __metadata: languageName: node linkType: hard -"react-redux@npm:^8.1.2": - version: 8.1.2 - resolution: "react-redux@npm:8.1.2" +"react-redux@npm:^8.1.3": + version: 8.1.3 + resolution: "react-redux@npm:8.1.3" dependencies: "@babel/runtime": ^7.12.1 "@types/hoist-non-react-statics": ^3.3.1 @@ -39778,7 +39734,7 @@ __metadata: optional: true redux: optional: true - checksum: 4d5976b0f721e4148475871fcabce2fee875cc7f70f9a292f3370d63b38aa1dd474eb303c073c5555f3e69fc732f3bac05303def60304775deb28361e3f4b7cc + checksum: 192ea6f6053148ec80a4148ec607bc259403b937e515f616a1104ca5ab357e97e98b8245ed505a17afee67a72341d4a559eaca9607968b4a422aa9b44ba7eb89 languageName: node linkType: hard @@ -39888,15 +39844,15 @@ __metadata: linkType: hard "react-router-dom@npm:^6.3.0": - version: 6.16.0 - resolution: "react-router-dom@npm:6.16.0" + version: 6.18.0 + resolution: "react-router-dom@npm:6.18.0" dependencies: - "@remix-run/router": 1.9.0 - react-router: 6.16.0 + "@remix-run/router": 1.11.0 + react-router: 6.18.0 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 18b398924bb0f0d97cf2f71dab71d860b960a7a267b2f77388990c662bb6d8738bdc3042d92f713fd63d269ae9ad90df39c8e97661b6ba758bbb7386b9f20ae0 + checksum: ca5c9a9f748f4ff9677d25762970fc59cb216568aad0ebc668b22398222a940f767680bc9a3e65a92e940d3fe05731eda8a4b352ccbf1054904b3b785a9f5e6f languageName: node linkType: hard @@ -39911,14 +39867,14 @@ __metadata: languageName: node linkType: hard -"react-router@npm:6.16.0, react-router@npm:^6.3.0": - version: 6.16.0 - resolution: "react-router@npm:6.16.0" +"react-router@npm:6.18.0, react-router@npm:^6.3.0": + version: 6.18.0 + resolution: "react-router@npm:6.18.0" dependencies: - "@remix-run/router": 1.9.0 + "@remix-run/router": 1.11.0 peerDependencies: react: ">=16.8" - checksum: b31c187e3fdcdf7294ffdad6ff834e14d012840c94d8ee8c7fbe451062a8fcb6e31e8bc7827fb1ff45445dd40fad2b8c96a7e98f0ac1c3eb1d716c257a0821c9 + checksum: 03e9a23c5b75d8813720745e2952bb9e62ec310d238cde4f19e0ce73582701fa5e04cf609ff9ced978e9e6c531b5e333b9aee35371e6c4743afc2829e32e926a languageName: node linkType: hard @@ -39931,17 +39887,17 @@ __metadata: languageName: node linkType: hard -"react-smooth@npm:^2.0.2": - version: 2.0.2 - resolution: "react-smooth@npm:2.0.2" +"react-smooth@npm:^2.0.4": + version: 2.0.5 + resolution: "react-smooth@npm:2.0.5" dependencies: - fast-equals: ^4.0.3 + fast-equals: ^5.0.0 react-transition-group: 2.9.0 peerDependencies: prop-types: ^15.6.0 react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 6b0a40a17314657ac6a187a3ad01fcdaa61d498979b6a07c424e20832110c99b4394c33209a0b39b897c13d113d8cb044e7a691b4965386a11b15bbfbacfba25 + checksum: 914c17f741e8b533ff6e3d5e3285aea0625cdd0f98e04202d01351f9516dbdc0a0e297dc22cc2377d6916fb819da8d4ed999c0314a4c186592ca51870012e6f7 languageName: node linkType: hard @@ -40276,16 +40232,16 @@ __metadata: languageName: node linkType: hard -"recast@npm:^0.23.1": - version: 0.23.2 - resolution: "recast@npm:0.23.2" +"recast@npm:^0.23.3": + version: 0.23.4 + resolution: "recast@npm:0.23.4" dependencies: assert: ^2.0.0 ast-types: ^0.16.1 esprima: ~4.0.0 source-map: ~0.6.1 tslib: ^2.0.1 - checksum: 04c2617cb04c4d02a5c9e1bb75b8e7afc21d1ba7babce25303732f035c3d4b2f945d727f34c3976223d800592ea31e6641cfd33700a8699c02025040174af0b6 + checksum: edb63bbe0457e68c0f4892f55413000e92aa7c5c53f9e109ab975d1c801cd299a62511ea72734435791f4aea6f0edf560f6a275761f66b2b6069ff6d72686029 languageName: node linkType: hard @@ -40299,23 +40255,23 @@ __metadata: linkType: hard "recharts@npm:^2.5.0": - version: 2.8.0 - resolution: "recharts@npm:2.8.0" + version: 2.9.3 + resolution: "recharts@npm:2.9.3" dependencies: classnames: ^2.2.5 eventemitter3: ^4.0.1 lodash: ^4.17.19 react-is: ^16.10.2 react-resize-detector: ^8.0.4 - react-smooth: ^2.0.2 + react-smooth: ^2.0.4 recharts-scale: ^0.4.4 - reduce-css-calc: ^2.1.8 + tiny-invariant: ^1.3.1 victory-vendor: ^36.6.8 peerDependencies: prop-types: ^15.6.0 react: ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 - checksum: 4638bd5c6c2af8f5c79de5e13cce0e38f06e0bbb0a3c4df27a9b12632fd72c0a0604c8246f55e830f323dfa84a3da7cb2634c2243bb9c775d899fd71f9d4c87a + checksum: e08bcc76a1ec2ea0cbcfcf8f57013acd11fb5ac44f40f43bb208880a8c410a9bc8d0eb421e8d1a5943eb0899729ae136a579a8008c720cb2e18367771edd86d7 languageName: node linkType: hard @@ -40388,16 +40344,6 @@ __metadata: languageName: node linkType: hard -"reduce-css-calc@npm:^2.1.8": - version: 2.1.8 - resolution: "reduce-css-calc@npm:2.1.8" - dependencies: - css-unit-converter: ^1.1.1 - postcss-value-parser: ^3.3.0 - checksum: 8fd27c06c4b443b84749a69a8b97d10e6ec7d142b625b41923a8807abb22b9e37e44df14e26cc606a802957be07bdce5e8ee2976a6952a7b438a7727007101e9 - languageName: node - linkType: hard - "redux-immutable@npm:^4.0.0": version: 4.0.0 resolution: "redux-immutable@npm:4.0.0" @@ -40423,17 +40369,17 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.3": - version: 1.0.3 - resolution: "reflect.getprototypeof@npm:1.0.3" +"reflect.getprototypeof@npm:^1.0.4": + version: 1.0.4 + resolution: "reflect.getprototypeof@npm:1.0.4" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - get-intrinsic: ^1.1.1 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + get-intrinsic: ^1.2.1 globalthis: ^1.0.3 which-builtin-type: ^1.1.3 - checksum: 843e2506c013da66f83635f943c5bd41243bc6c7703298531cfb16eb6baaefd92f83031fa37140ad31c4edc86938b6eb385e6fc85bf1628e79348ed49e044f3d + checksum: 16e2361988dbdd23274b53fb2b1b9cefeab876c3941a2543b4cadac6f989e3db3957b07a44aac46cfceb3e06e2871785ec2aac992d824f76292f3b5ee87f66f2 languageName: node linkType: hard @@ -40494,14 +40440,14 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.0": - version: 1.5.0 - resolution: "regexp.prototype.flags@npm:1.5.0" +"regexp.prototype.flags@npm:^1.4.3, regexp.prototype.flags@npm:^1.5.1": + version: 1.5.1 + resolution: "regexp.prototype.flags@npm:1.5.1" dependencies: call-bind: ^1.0.2 define-properties: ^1.2.0 - functions-have-names: ^1.2.3 - checksum: c541687cdbdfff1b9a07f6e44879f82c66bbf07665f9a7544c5fd16acdb3ec8d1436caab01662d2fbcad403f3499d49ab0b77fbc7ef29ef961d98cc4bc9755b4 + set-function-name: ^2.0.0 + checksum: 869edff00288442f8d7fa4c9327f91d85f3b3acf8cbbef9ea7a220345cf23e9241b6def9263d2c1ebcf3a316b0aa52ad26a43a84aa02baca3381717b3e307f47 languageName: node linkType: hard @@ -40811,16 +40757,16 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.1, resolve@npm:~1.22.1": - version: 1.22.6 - resolution: "resolve@npm:1.22.6" +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.14.2, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.4, resolve@npm:~1.22.1": + version: 1.22.8 + resolution: "resolve@npm:1.22.8" dependencies: is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: d13bf66d4e2ee30d291491f16f2fa44edd4e0cefb85d53249dd6f93e70b2b8c20ec62f01b18662e3cd40e50a7528f18c4087a99490048992a3bb954cf3201a5b + checksum: f8a26958aa572c9b064562750b52131a37c29d072478ea32e129063e2da7f83e31f7f11e7087a18225a8561cfe8d2f0df9dbea7c9d331a897571c0a2527dbb4c languageName: node linkType: hard @@ -40847,16 +40793,16 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin, resolve@patch:resolve@~1.22.1#~builtin": - version: 1.22.6 - resolution: "resolve@patch:resolve@npm%3A1.22.6#~builtin::version=1.22.6&hash=07638b" +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.14.2#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin, resolve@patch:resolve@~1.22.1#~builtin": + version: 1.22.8 + resolution: "resolve@patch:resolve@npm%3A1.22.8#~builtin::version=1.22.8&hash=07638b" dependencies: is-core-module: ^2.13.0 path-parse: ^1.0.7 supports-preserve-symlinks-flag: ^1.0.0 bin: resolve: bin/resolve - checksum: 9d3b3c67aefd12cecbe5f10ca4d1f51ea190891096497c43f301b086883b426466918c3a64f1bbf1788fabb52b579d58809614006c5d0b49186702b3b8fb746a + checksum: 5479b7d431cacd5185f8db64bfcb7286ae5e31eb299f4c4f404ad8aa6098b77599563ac4257cb2c37a42f59dfc06a1bec2bcf283bb448f319e37f0feb9a09847 languageName: node linkType: hard @@ -41196,7 +41142,6 @@ __metadata: "@backstage/e2e-test-utils": "workspace:*" "@backstage/errors": "workspace:^" "@backstage/repo-tools": "workspace:*" - "@changesets/changelog-github": ^0.4.8 "@changesets/cli": ^2.14.0 "@manypkg/get-packages": ^1.1.3 "@octokit/rest": ^19.0.3 @@ -41214,21 +41159,21 @@ __metadata: eslint: ^8.6.0 eslint-plugin-notice: ^0.9.10 eslint-plugin-react: ^7.28.0 - eslint-plugin-testing-library: ^5.9.1 + eslint-plugin-testing-library: ^6.0.0 fs-extra: 10.1.0 husky: ^8.0.0 - lint-staged: ^13.0.0 + lint-staged: ^15.0.0 minimist: ^1.2.5 - node-gyp: ^9.4.0 + node-gyp: ^10.0.0 prettier: ^2.2.1 semver: ^7.5.3 shx: ^0.3.2 ts-node: ^10.4.0 - typescript: ~5.0.0 + typescript: ~5.2.0 languageName: unknown linkType: soft -"rrdom@npm:^2.0.0-alpha.8": +"rrdom@npm:^2.0.0-alpha.11": version: 2.0.0-alpha.11 resolution: "rrdom@npm:2.0.0-alpha.11" dependencies: @@ -41237,26 +41182,26 @@ __metadata: languageName: node linkType: hard -"rrweb-snapshot@npm:^2.0.0-alpha.11, rrweb-snapshot@npm:^2.0.0-alpha.8": +"rrweb-snapshot@npm:^2.0.0-alpha.11": version: 2.0.0-alpha.11 resolution: "rrweb-snapshot@npm:2.0.0-alpha.11" checksum: 8b5e40ebe17d61546f9c93b4cc266156be0fc28b7452e4fea6ea4c24a35a857c021e15503d218f10d3fc8c478c793450f1f2ebf9c751c1d7a24e25322b9d1677 languageName: node linkType: hard -"rrweb@npm:2.0.0-alpha.8": - version: 2.0.0-alpha.8 - resolution: "rrweb@npm:2.0.0-alpha.8" +"rrweb@npm:2.0.0-alpha.11": + version: 2.0.0-alpha.11 + resolution: "rrweb@npm:2.0.0-alpha.11" dependencies: - "@rrweb/types": ^2.0.0-alpha.8 + "@rrweb/types": ^2.0.0-alpha.11 "@types/css-font-loading-module": 0.0.7 "@xstate/fsm": ^1.4.0 base64-arraybuffer: ^1.0.1 fflate: ^0.4.4 mitt: ^3.0.0 - rrdom: ^2.0.0-alpha.8 - rrweb-snapshot: ^2.0.0-alpha.8 - checksum: a07e4a56fe75e452a7d0f1e3d066c21ef086516c08249ee8c57de55c0937bdd08281881523727e33cae94151c218f278e9ab3fdd477acb111f65a5c18334c31f + rrdom: ^2.0.0-alpha.11 + rrweb-snapshot: ^2.0.0-alpha.11 + checksum: f601d1b96f3a3622551b5f12f08d53cee272ebc23a61ed722a8687b2b8cb89ff6f7813a44eaa905afcaadd3e37e6055201474de0bd010720f45ecaaf2a0b4d01 languageName: node linkType: hard @@ -41328,15 +41273,15 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.0.0": - version: 1.0.0 - resolution: "safe-array-concat@npm:1.0.0" +"safe-array-concat@npm:^1.0.1": + version: 1.0.1 + resolution: "safe-array-concat@npm:1.0.1" dependencies: call-bind: ^1.0.2 - get-intrinsic: ^1.2.0 + get-intrinsic: ^1.2.1 has-symbols: ^1.0.3 isarray: ^2.0.5 - checksum: f43cb98fe3b566327d0c09284de2b15fb85ae964a89495c1b1a5d50c7c8ed484190f4e5e71aacc167e16231940079b326f2c0807aea633d47cc7322f40a6b57f + checksum: 001ecf1d8af398251cbfabaf30ed66e3855127fbceee178179524b24160b49d15442f94ed6c0db0b2e796da76bb05b73bf3cc241490ec9c2b741b41d33058581 languageName: node linkType: hard @@ -41532,11 +41477,12 @@ __metadata: linkType: hard "selfsigned@npm:^2.0.0, selfsigned@npm:^2.1.1": - version: 2.1.1 - resolution: "selfsigned@npm:2.1.1" + version: 2.4.1 + resolution: "selfsigned@npm:2.4.1" dependencies: + "@types/node-forge": ^1.3.0 node-forge: ^1 - checksum: aa9ce2150a54838978d5c0aee54d7ebe77649a32e4e690eb91775f71fdff773874a4fbafd0ac73d8ec3b702ff8a395c604df4f8e8868528f36fd6c15076fb43a + checksum: 38b91c56f1d7949c0b77f9bbe4545b19518475cae15e7d7f0043f87b1626710b011ce89879a88969651f650a19d213bb15b7d5b4c2877df9eeeff7ba8f8b9bfa languageName: node linkType: hard @@ -41715,6 +41661,29 @@ __metadata: languageName: node linkType: hard +"set-function-length@npm:^1.1.1": + version: 1.1.1 + resolution: "set-function-length@npm:1.1.1" + dependencies: + define-data-property: ^1.1.1 + get-intrinsic: ^1.2.1 + gopd: ^1.0.1 + has-property-descriptors: ^1.0.0 + checksum: c131d7569cd7e110cafdfbfbb0557249b538477624dfac4fc18c376d879672fa52563b74029ca01f8f4583a8acb35bb1e873d573a24edb80d978a7ee607c6e06 + languageName: node + linkType: hard + +"set-function-name@npm:^2.0.0, set-function-name@npm:^2.0.1": + version: 2.0.1 + resolution: "set-function-name@npm:2.0.1" + dependencies: + define-data-property: ^1.0.1 + functions-have-names: ^1.2.3 + has-property-descriptors: ^1.0.0 + checksum: 4975d17d90c40168eee2c7c9c59d023429f0a1690a89d75656306481ece0c3c1fb1ebcc0150ea546d1913e35fbd037bace91372c69e543e51fc5d1f31a9fa126 + languageName: node + linkType: hard + "set-harmonic-interval@npm:^1.0.1": version: 1.0.1 resolution: "set-harmonic-interval@npm:1.0.1" @@ -41873,10 +41842,10 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^4.0.1": - version: 4.0.2 - resolution: "signal-exit@npm:4.0.2" - checksum: 41f5928431cc6e91087bf0343db786a6313dd7c6fd7e551dbc141c95bb5fb26663444fd9df8ea47c5d7fc202f60aa7468c3162a9365cbb0615fc5e1b1328fe31 +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 64c757b498cb8629ffa5f75485340594d2f8189e9b08700e69199069c8e3070fb3e255f7ab873c05dc0b3cec412aea7402e10a5990cb6a050bd33ba062a6c549 languageName: node linkType: hard @@ -42740,36 +42709,36 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.7": - version: 1.2.7 - resolution: "string.prototype.trim@npm:1.2.7" +"string.prototype.trim@npm:^1.2.8": + version: 1.2.8 + resolution: "string.prototype.trim@npm:1.2.8" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 05b7b2d6af63648e70e44c4a8d10d8cc457536df78b55b9d6230918bde75c5987f6b8604438c4c8652eb55e4fc9725d2912789eb4ec457d6995f3495af190c09 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 49eb1a862a53aba73c3fb6c2a53f5463173cb1f4512374b623bcd6b43ad49dd559a06fb5789bdec771a40fc4d2a564411c0a75d35fb27e76bbe738c211ecff07 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimend@npm:1.0.6" +"string.prototype.trimend@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimend@npm:1.0.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 0fdc34645a639bd35179b5a08227a353b88dc089adf438f46be8a7c197fc3f22f8514c1c9be4629b3cd29c281582730a8cbbad6466c60f76b5f99cf2addb132e + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 2375516272fd1ba75992f4c4aa88a7b5f3c7a9ca308d963bcd5645adf689eba6f8a04ebab80c33e30ec0aefc6554181a3a8416015c38da0aa118e60ec896310c languageName: node linkType: hard -"string.prototype.trimstart@npm:^1.0.6": - version: 1.0.6 - resolution: "string.prototype.trimstart@npm:1.0.6" +"string.prototype.trimstart@npm:^1.0.7": + version: 1.0.7 + resolution: "string.prototype.trimstart@npm:1.0.7" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.4 - es-abstract: ^1.20.4 - checksum: 89080feef416621e6ef1279588994305477a7a91648d9436490d56010a1f7adc39167cddac7ce0b9884b8cdbef086987c4dcb2960209f2af8bac0d23ceff4f41 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: 13d0c2cb0d5ff9e926fa0bec559158b062eed2b68cd5be777ffba782c96b2b492944e47057274e064549b94dd27cf81f48b27a31fee8af5b574cff253e7eb613 languageName: node linkType: hard @@ -42809,12 +42778,12 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": - version: 7.0.1 - resolution: "strip-ansi@npm:7.0.1" +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" dependencies: ansi-regex: ^6.0.1 - checksum: 257f78fa433520e7f9897722731d78599cb3fce29ff26a20a5e12ba4957463b50a01136f37c43707f4951817a75e90820174853d6ccc240997adc5df8f966039 + checksum: 859c73fcf27869c22a4e4d8c6acfe690064659e84bef9458aa6d13719d09ca88dcfd40cbf31fd0be63518ea1a643fe070b4827d353e09533a5b0b9fd4553d64d languageName: node linkType: hard @@ -43146,15 +43115,16 @@ __metadata: languageName: node linkType: hard -"swagger-client@npm:^3.22.3": - version: 3.23.0 - resolution: "swagger-client@npm:3.23.0" +"swagger-client@npm:^3.24.5": + version: 3.24.5 + resolution: "swagger-client@npm:3.24.5" dependencies: "@babel/runtime-corejs3": ^7.22.15 - "@swagger-api/apidom-core": ">=0.77.0 <1.0.0" - "@swagger-api/apidom-json-pointer": ">=0.77.0 <1.0.0" - "@swagger-api/apidom-ns-openapi-3-1": ">=0.77.0 <1.0.0" - "@swagger-api/apidom-reference": ">=0.77.0 <1.0.0" + "@swagger-api/apidom-core": ">=0.83.0 <1.0.0" + "@swagger-api/apidom-error": ">=0.83.0 <1.0.0" + "@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 deepmerge: ~4.3.0 fast-json-patch: ^3.0.0-1 @@ -43165,15 +43135,15 @@ __metadata: qs: ^6.10.2 traverse: ~0.6.6 undici: ^5.24.0 - checksum: 988b672ed05b115504e2b09afd8285f694c1e5061854fa8ab3beb56e1a273d7f47e4ee5f25292693c7f695292bd2924d8e6c33f28bd86843859a5083f96044ac + checksum: d41ff94f9a506b99e7b30334c96a5011b14acf2af5204648b70e5b8e1902f3bf62ca2297b4e5f7536a3f0bb0a9cd4aa83d439b9352d0f1e3a110409201cae0bc languageName: node linkType: hard "swagger-ui-react@npm:^5.0.0": - version: 5.9.0 - resolution: "swagger-ui-react@npm:5.9.0" + version: 5.10.0 + resolution: "swagger-ui-react@npm:5.10.0" dependencies: - "@babel/runtime-corejs3": ^7.23.1 + "@babel/runtime-corejs3": ^7.23.2 "@braintree/sanitize-url": =6.0.4 base64-js: ^1.5.1 classnames: ^2.3.1 @@ -43194,7 +43164,7 @@ __metadata: react-immutable-proptypes: 2.2.0 react-immutable-pure-component: ^2.2.0 react-inspector: ^6.0.1 - react-redux: ^8.1.2 + react-redux: ^8.1.3 react-syntax-highlighter: ^15.5.0 redux: ^4.1.2 redux-immutable: ^4.0.0 @@ -43202,7 +43172,7 @@ __metadata: reselect: ^4.1.8 serialize-error: ^8.1.0 sha.js: ^2.4.11 - swagger-client: ^3.22.3 + swagger-client: ^3.24.5 url-parse: ^1.5.10 xml: =1.0.1 xml-but-prettier: ^1.0.1 @@ -43210,7 +43180,7 @@ __metadata: peerDependencies: react: ">=17.0.0" react-dom: ">=17.0.0" - checksum: 73ebfeaaad364899f7c3304cbe30a165066970b65a4822c6d22c0ae7f00cbe476849571bacdb938ef4e173579cb9c1ea9623b8c677bc452bcd57e8fb27ff63f6 + checksum: 71aa42a8f3218eb264ea330122b483583830ca30db9dfb6eacee16210db0c4c529602dda607b3860315a3fe42e56e1142d49c4659c41bdfe675d6ae05e1bcdea languageName: node linkType: hard @@ -43599,17 +43569,10 @@ __metadata: languageName: node linkType: hard -"tiny-invariant@npm:^1.0.6": - version: 1.1.0 - resolution: "tiny-invariant@npm:1.1.0" - checksum: 27d29bbb9e1d1d86e25766711c28ad91af6d67c87d561167077ac7fbce5212b97bbfe875e70bc369808e075748c825864c9b61f0e9f8652275ec86bcf4dcc924 - languageName: node - linkType: hard - -"tiny-merge-patch@npm:^0.1.2": - version: 0.1.2 - resolution: "tiny-merge-patch@npm:0.1.2" - checksum: 66b0cc5098adc8767459f2007f9d73f60b47a0e87fa1200076c73a7ebc41dfe4c3842fdc609716c5165d1b2ae0a4140a00d3c78256587f0b3a494e03774ac340 +"tiny-invariant@npm:^1.0.6, tiny-invariant@npm:^1.3.1": + version: 1.3.1 + resolution: "tiny-invariant@npm:1.3.1" + checksum: 872dbd1ff20a21303a2fd20ce3a15602cfa7fcf9b228bd694a52e2938224313b5385a1078cb667ed7375d1612194feaca81c4ecbe93121ca1baebe344de4f84c languageName: node linkType: hard @@ -43796,13 +43759,13 @@ __metadata: languageName: node linkType: hard -"tree-sitter-json@npm:=0.20.0": - version: 0.20.0 - resolution: "tree-sitter-json@npm:0.20.0" +"tree-sitter-json@npm:=0.20.1": + version: 0.20.1 + resolution: "tree-sitter-json@npm:0.20.1" dependencies: - nan: ^2.14.1 + nan: ^2.18.0 node-gyp: latest - checksum: 820e27b644e3ec62d8753976572660fbc314b0ffb10178384ae0d187187797c3d87223bec6b034e602445e4095484a28fb89ca67653a1d4f41fa13dd6adad0d2 + checksum: fb77f3e3f148a4ce48a58ac478c5ab12fb5ea29b426fbf4978f07c659de982bfa62268c556e262ecc3ef192d50f7e6f6fe650abd566e6be87debb31332c81a26 languageName: node linkType: hard @@ -43924,13 +43887,13 @@ __metadata: languageName: node linkType: hard -"ts-morph@npm:^17.0.0": - version: 17.0.1 - resolution: "ts-morph@npm:17.0.1" +"ts-morph@npm:^20.0.0": + version: 20.0.0 + resolution: "ts-morph@npm:20.0.0" dependencies: - "@ts-morph/common": ~0.18.0 - code-block-writer: ^11.0.3 - checksum: 4748ab45d0fb0be235f69399ea217cf1c5984ad2ef3ff9eba5a417571f73098c6f1f765fc011eaadc48179471b977f1e44f72eb993932e5c74c5031ab6c60f3a + "@ts-morph/common": ~0.21.0 + code-block-writer: ^12.0.0 + checksum: 8a96d72a26e4e3c4139c581834364a97207f78a5878f70aa6f58787c0f4003a9386a64f43b814bac7bf028e572ef8660939f56844641b05bfaf7ae7437be9011 languageName: node linkType: hard @@ -44019,7 +43982,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.4.1 || ^1.9.3, tslib@npm:^2.5.0": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.2.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.4.1, tslib@npm:^2.4.1 || ^1.9.3, tslib@npm:^2.5.0, tslib@npm:^2.6.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" checksum: 329ea56123005922f39642318e3d1f0f8265d1e7fcb92c633e0809521da75eeaca28d2cf96d7248229deb40e5c19adf408259f4b9640afd20d13aecc1430f3ad @@ -44294,18 +44257,18 @@ __metadata: languageName: node linkType: hard -"types-ramda@npm:^0.29.4": - version: 0.29.4 - resolution: "types-ramda@npm:0.29.4" +"types-ramda@npm:^0.29.5": + version: 0.29.5 + resolution: "types-ramda@npm:0.29.5" dependencies: ts-toolbelt: ^9.6.0 - checksum: 08a872e71555fe6a3f1fd9381989a573d493f2156d9689f3bb72278db73c848122d67a9efff1867ce97b3dfbb2fdadaa3864daaee014ab19cf9bbfe2c171ed52 + checksum: 0013eec508b74ed98a3de25f9617c2f246ed387dbda084ae37d9f10c5ccac0bb0243a966e861262c918feef8322347616852abf30440a252335e50d9592590e9 languageName: node linkType: hard -"typescript-json-schema@npm:^0.61.0": - version: 0.61.0 - resolution: "typescript-json-schema@npm:0.61.0" +"typescript-json-schema@npm:^0.62.0": + version: 0.62.0 + resolution: "typescript-json-schema@npm:0.62.0" dependencies: "@types/json-schema": ^7.0.9 "@types/node": ^16.9.2 @@ -44317,11 +44280,11 @@ __metadata: yargs: ^17.1.1 bin: typescript-json-schema: bin/typescript-json-schema - checksum: 8359d5ca8ebcb96dca9cd968b46ea21da40a92ee872a44a7b5c6c8f8f4cd1ffbd0ea457752f3be7d44379ea286ccfaee1d40ab1810321ee45d0ecece80ed45ed + checksum: 0b0ba8f86456e7bd0b2d35d3c74a6cb72b168e779352398956d4f237eff011ec2a30b0ab1b3932bd5ceab99e1ea7bc6cc7158e49d49f24daeaf11771c27c7771 languageName: node linkType: hard -"typescript@npm:~5.0.0, typescript@npm:~5.0.4": +"typescript@npm:~5.0.4": version: 5.0.4 resolution: "typescript@npm:5.0.4" bin: @@ -44341,7 +44304,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@~5.0.0#~builtin, typescript@patch:typescript@~5.0.4#~builtin": +"typescript@npm:~5.2.0": + version: 5.2.2 + resolution: "typescript@npm:5.2.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 7912821dac4d962d315c36800fe387cdc0a6298dba7ec171b350b4a6e988b51d7b8f051317786db1094bd7431d526b648aba7da8236607febb26cf5b871d2d3c + languageName: node + linkType: hard + +"typescript@patch:typescript@~5.0.4#~builtin": version: 5.0.4 resolution: "typescript@patch:typescript@npm%3A5.0.4#~builtin::version=5.0.4&hash=a1c5e5" bin: @@ -44361,6 +44334,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@~5.2.0#~builtin": + version: 5.2.2 + resolution: "typescript@patch:typescript@npm%3A5.2.2#~builtin::version=5.2.2&hash=a1c5e5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 07106822b4305de3f22835cbba949a2b35451cad50888759b6818421290ff95d522b38ef7919e70fb381c5fe9c1c643d7dea22c8b31652a717ddbd57b7f4d554 + languageName: node + linkType: hard + "ua-parser-js@npm:^0.7.30": version: 0.7.33 resolution: "ua-parser-js@npm:0.7.33" @@ -44782,7 +44765,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": +"uri-js@npm:^4.2.1, uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -45293,23 +45276,23 @@ __metadata: languageName: node linkType: hard -"vite-plugin-node-polyfills@npm:^0.14.1": - version: 0.14.1 - resolution: "vite-plugin-node-polyfills@npm:0.14.1" +"vite-plugin-node-polyfills@npm:^0.16.0": + version: 0.16.0 + resolution: "vite-plugin-node-polyfills@npm:0.16.0" dependencies: - "@rollup/plugin-inject": ^5.0.3 + "@rollup/plugin-inject": ^5.0.5 buffer-polyfill: "npm:buffer@^6.0.3" node-stdlib-browser: ^1.2.0 process: ^0.11.10 peerDependencies: vite: ^2.0.0 || ^3.0.0 || ^4.0.0 - checksum: 1dd6e4ff500a69ff78c8d7d967e74790b704e3ccb117fc4f8841f2e5d0e339422a15d9c6c0607d1fed4df5a7a77c56d245769b22572d4e905771b37ff8801915 + checksum: c4b3767e29a7c95efccde7d8adeac7963fb9b30677d88e348eda1c1d407c0d821d58c9ea651cb5db0aa010c93fd1971d8b671fea2417edd15a707861be772861 languageName: node linkType: hard "vite@npm:^4.4.9": - version: 4.4.11 - resolution: "vite@npm:4.4.11" + version: 4.5.0 + resolution: "vite@npm:4.5.0" dependencies: esbuild: ^0.18.10 fsevents: ~2.3.2 @@ -45343,7 +45326,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: c22145c8385343a629cd546054b9da6eee60327540102bdfd1ad897fd2e78e0763ce6a18a9d84fdefde9da8fd2427d3bec9eb2697b47cf4068c7b4b52f7e3e6a + checksum: 06f1a4c858e4dc4c04a10466f4ccacea30c5a9f8574e5ba3deb9d03fa20e80ca6797f02dad97a988da7cdef96238dbc69c3b6a538156585c74722d996223619e languageName: node linkType: hard @@ -45512,6 +45495,15 @@ __metadata: languageName: node linkType: hard +"webapi-parser@npm:^0.5.0": + version: 0.5.0 + resolution: "webapi-parser@npm:0.5.0" + dependencies: + ajv: 6.5.2 + checksum: bb9fb534b33939fcb420aa5c564e05595f72b543a84ccb71de642fb5852aa9481d1debcebbf4d7ca9bfd192c3d829848baa8c03e7b2ae81ee69171f012d32a60 + languageName: node + linkType: hard + "webcrypto-core@npm:^1.7.4": version: 1.7.5 resolution: "webcrypto-core@npm:1.7.5" @@ -45640,8 +45632,8 @@ __metadata: linkType: hard "webpack@npm:^5, webpack@npm:^5.70.0": - version: 5.88.2 - resolution: "webpack@npm:5.88.2" + version: 5.89.0 + resolution: "webpack@npm:5.89.0" dependencies: "@types/eslint-scope": ^3.7.3 "@types/estree": ^1.0.0 @@ -45672,7 +45664,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 79476a782da31a21f6dd38fbbd06b68da93baf6a62f0d08ca99222367f3b8668f5a1f2086b7bb78e23172e31fa6df6fa7ab09b25e827866c4fc4dc2b30443ce2 + checksum: 43fe0dbc30e168a685ef5a86759d5016a705f6563b39a240aa00826a80637d4a3deeb8062e709d6a4b05c63e796278244c84b04174704dc4a37bedb0f565c5ed languageName: node linkType: hard @@ -45826,16 +45818,16 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.10, which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": - version: 1.1.11 - resolution: "which-typed-array@npm:1.1.11" +"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.2, which-typed-array@npm:^1.1.9": + version: 1.1.13 + resolution: "which-typed-array@npm:1.1.13" dependencies: available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 + call-bind: ^1.0.4 for-each: ^0.3.3 gopd: ^1.0.1 has-tostringtag: ^1.0.0 - checksum: 711ffc8ef891ca6597b19539075ec3e08bb9b4c2ca1f78887e3c07a977ab91ac1421940505a197758fb5939aa9524976d0a5bbcac34d07ed6faa75cedbb17206 + checksum: 3828a0d5d72c800e369d447e54c7620742a4cc0c9baf1b5e8c17e9b6ff90d8d861a3a6dd4800f1953dbf80e5e5cec954a289e5b4a223e3bee4aeb1f8c5f33309 languageName: node linkType: hard @@ -45891,13 +45883,13 @@ __metadata: linkType: hard "winston-transport@npm:^4.5.0": - version: 4.5.0 - resolution: "winston-transport@npm:4.5.0" + version: 4.6.0 + resolution: "winston-transport@npm:4.6.0" dependencies: logform: ^2.3.2 readable-stream: ^3.6.0 triple-beam: ^1.3.0 - checksum: a56e5678a80b88a73e77ed998fc6e19d0db19c989a356b137ec236782f2bf58ae4511b11c29163f99391fa4dc12102c7bc5738dcb6543f28877fa2819adc3ee9 + checksum: 19f06ebdbb57cb14cdd48a23145d418d3bbe538851053303f84f04a8a849bb530b78b1495a175059c1299f92945dc61d5421c4914fee32d9a41bc397d84f26d7 languageName: node linkType: hard @@ -46249,7 +46241,7 @@ __metadata: languageName: node linkType: hard -"yaml-ast-parser@npm:0.0.43, yaml-ast-parser@npm:^0.0.43": +"yaml-ast-parser@npm:^0.0.43": version: 0.0.43 resolution: "yaml-ast-parser@npm:0.0.43" checksum: fb5df4c067b6ccbd00953a46faf6ff27f0e290d623c712dc41f330251118f110e22cfd184bbff498bd969cbcda3cd27e0f9d0adb9e6d90eb60ccafc0d8e28077 @@ -46271,10 +46263,10 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.3.1": - version: 2.3.1 - resolution: "yaml@npm:2.3.1" - checksum: 2c7bc9a7cd4c9f40d3b0b0a98e370781b68b8b7c4515720869aced2b00d92f5da1762b4ffa947f9e795d6cd6b19f410bd4d15fdd38aca7bd96df59bd9486fb54 +"yaml@npm:2.3.4, yaml@npm:^2.0.0, yaml@npm:^2.0.0-10, yaml@npm:^2.1.1, yaml@npm:^2.2.1, yaml@npm:^2.2.2, yaml@npm:^2.3.2": + version: 2.3.4 + resolution: "yaml@npm:2.3.4" + checksum: e6d1dae1c6383bcc8ba11796eef3b8c02d5082911c6723efeeb5ba50fc8e881df18d645e64de68e421b577296000bea9c75d6d9097c2f6699da3ae0406c030d8 languageName: node linkType: hard @@ -46285,13 +46277,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.0.0, yaml@npm:^2.0.0-10, yaml@npm:^2.1.1, yaml@npm:^2.2.1, yaml@npm:^2.2.2, yaml@npm:^2.3.2": - version: 2.3.3 - resolution: "yaml@npm:2.3.3" - checksum: cdfd132e7e0259f948929efe8835923df05c013c273c02bb7a2de9b46ac3af53c2778a35b32c7c0f877cc355dc9340ed564018c0242bfbb1278c2a3e53a0e99e - languageName: node - linkType: hard - "yargs-parser@npm:^18.1.2, yargs-parser@npm:^18.1.3": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3"