diff --git a/.changeset/angry-trees-relax.md b/.changeset/angry-trees-relax.md new file mode 100644 index 0000000000..64dd50366c --- /dev/null +++ b/.changeset/angry-trees-relax.md @@ -0,0 +1,11 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Enabling the customization of the last step in the scaffolder template. + +To override the content you have to do the next: + +```typescript jsx + +``` diff --git a/.changeset/clean-paws-fry.md b/.changeset/clean-paws-fry.md new file mode 100644 index 0000000000..5e66a686c0 --- /dev/null +++ b/.changeset/clean-paws-fry.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': minor +--- + +Introducing repo-tools package diff --git a/.changeset/clever-rivers-obey.md b/.changeset/clever-rivers-obey.md new file mode 100644 index 0000000000..0fac8711e9 --- /dev/null +++ b/.changeset/clever-rivers-obey.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-github': patch +--- + +Fixes the assignment of group member references in `GithubMultiOrgProcessor` so membership relations are resolved correctly. diff --git a/.changeset/create-app-1669131574.md b/.changeset/create-app-1669131574.md new file mode 100644 index 0000000000..b50d431d4b --- /dev/null +++ b/.changeset/create-app-1669131574.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Bumped create-app version. diff --git a/.changeset/early-parrots-guess.md b/.changeset/early-parrots-guess.md new file mode 100644 index 0000000000..4df8dcea95 --- /dev/null +++ b/.changeset/early-parrots-guess.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder': patch +--- + +Initialize all `formData` in the `Stepper` in `/next` diff --git a/.changeset/eight-spiders-know.md b/.changeset/eight-spiders-know.md new file mode 100644 index 0000000000..2e3e54dc0f --- /dev/null +++ b/.changeset/eight-spiders-know.md @@ -0,0 +1,15 @@ +--- +'@backstage/backend-common': patch +'@backstage/core-app-api': patch +'@backstage/core-components': patch +'@backstage/version-bridge': patch +'@backstage/plugin-analytics-module-ga': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-cloudbuild': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-github-actions': patch +'@backstage/plugin-graphiql': patch +'@backstage/plugin-techdocs': patch +--- + +Internal fixes to avoid implicit usage of globals diff --git a/.changeset/eight-tables-hunt.md b/.changeset/eight-tables-hunt.md new file mode 100644 index 0000000000..bd1be0047f --- /dev/null +++ b/.changeset/eight-tables-hunt.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Optimize `Stitcher` process to be more memory efficient diff --git a/.changeset/fair-walls-talk.md b/.changeset/fair-walls-talk.md new file mode 100644 index 0000000000..3e3ee26160 --- /dev/null +++ b/.changeset/fair-walls-talk.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-org-react': patch +--- + +Bug fixes and adding the possibility to add a default value for the `GroupListPicker`. Fixes: Vertical size jump on text entry, left align for text, selecting a value closes the popup, auto focus on the popup when opening diff --git a/.changeset/famous-cobras-suffer.md b/.changeset/famous-cobras-suffer.md new file mode 100644 index 0000000000..d09948f876 --- /dev/null +++ b/.changeset/famous-cobras-suffer.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-github': patch +--- + +Added the githubCredentialsProvider property to the GithubLocationAnalyzerOptions to be able to override the GithubCredentialsProvider. diff --git a/.changeset/fluffy-walls-approve.md b/.changeset/fluffy-walls-approve.md new file mode 100644 index 0000000000..968f5cc402 --- /dev/null +++ b/.changeset/fluffy-walls-approve.md @@ -0,0 +1,21 @@ +--- +'@backstage/plugin-events-backend': minor +--- + +**BREAKING:** Remove required field `router` at `HttpPostIngressEventPublisher.fromConfig` +and replace it with `bind(router: Router)`. +Additionally, the path prefix `/http` will be added inside `HttpPostIngressEventPublisher`. + +```diff +// at packages/backend/src/plugins/events.ts + const eventsRouter = Router(); +- const httpRouter = Router(); +- eventsRouter.use('/http', httpRouter); + + const http = HttpPostIngressEventPublisher.fromConfig({ + config: env.config, + logger: env.logger, +- router: httpRouter, + }); ++ http.bind(eventsRouter); +``` diff --git a/.changeset/forty-baboons-burn.md b/.changeset/forty-baboons-burn.md new file mode 100644 index 0000000000..f54b0871c4 --- /dev/null +++ b/.changeset/forty-baboons-burn.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-node': patch +--- + +Bump dependency @azure/identity to next minor diff --git a/.changeset/four-adults-provide.md b/.changeset/four-adults-provide.md new file mode 100644 index 0000000000..0edb4807d9 --- /dev/null +++ b/.changeset/four-adults-provide.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +Provide the ability to change the base currency from USD to any other currency in cost insights plugin diff --git a/.changeset/fresh-news-push.md b/.changeset/fresh-news-push.md new file mode 100644 index 0000000000..a77b7a256b --- /dev/null +++ b/.changeset/fresh-news-push.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-bazaar': patch +--- + +`HomePageBazaarInfoCard` is now displaying `title` instead of `name`. Title is a string that doesn't have to be URL friendly. +The BazaarOverviewCard have the new property `fullHeight`. Link in `BazaarOverviewCard`is moved to header in card. diff --git a/.changeset/funny-numbers-compete.md b/.changeset/funny-numbers-compete.md new file mode 100644 index 0000000000..604ffe7294 --- /dev/null +++ b/.changeset/funny-numbers-compete.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend': patch +--- + +Use Json types from @backstage/types diff --git a/.changeset/gold-icons-cheat.md b/.changeset/gold-icons-cheat.md new file mode 100644 index 0000000000..3c5e796c05 --- /dev/null +++ b/.changeset/gold-icons-cheat.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Bump `msw` version in default plugin/app templates diff --git a/.changeset/gold-yaks-join.md b/.changeset/gold-yaks-join.md new file mode 100644 index 0000000000..29996d1f74 --- /dev/null +++ b/.changeset/gold-yaks-join.md @@ -0,0 +1,6 @@ +--- +'@backstage/test-utils': patch +--- + +The test utility for the plugin context called `MockPluginProvider` has been created. It will be handy in the cases when you use +`__experimentalConfigure` in your plugin. It is experimental and exported through `@backstage/test-utils/alpha`. diff --git a/.changeset/healthy-crabs-collect.md b/.changeset/healthy-crabs-collect.md new file mode 100644 index 0000000000..5dc90f9b80 --- /dev/null +++ b/.changeset/healthy-crabs-collect.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kafka-backend': patch +--- + +Internal tweak to adapt to `kafkajs` 2.2.3 diff --git a/.changeset/hip-chairs-tap.md b/.changeset/hip-chairs-tap.md new file mode 100644 index 0000000000..8eca0a9292 --- /dev/null +++ b/.changeset/hip-chairs-tap.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +Internal refactor to avoid usage of deprecated symbols diff --git a/.changeset/hip-stingrays-kneel.md b/.changeset/hip-stingrays-kneel.md new file mode 100644 index 0000000000..171e9257f2 --- /dev/null +++ b/.changeset/hip-stingrays-kneel.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained. diff --git a/.changeset/kind-walls-share.md b/.changeset/kind-walls-share.md new file mode 100644 index 0000000000..5df03999b1 --- /dev/null +++ b/.changeset/kind-walls-share.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +exported KubernetesContainerRunner, KubernetesContainerRunnerOptions, KubernetesContainerRunnerMountBase diff --git a/.changeset/light-turtles-yawn.md b/.changeset/light-turtles-yawn.md new file mode 100644 index 0000000000..3f42fb0524 --- /dev/null +++ b/.changeset/light-turtles-yawn.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Fixed deprecated use of `substr` into `substring`. diff --git a/.changeset/loud-rockets-reply.md b/.changeset/loud-rockets-reply.md new file mode 100644 index 0000000000..85ed77f51f --- /dev/null +++ b/.changeset/loud-rockets-reply.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-incremental-ingestion': minor +--- + +Introduces incremental entity providers, which are used for streaming very large data sources into the catalog. diff --git a/.changeset/modern-mugs-shout.md b/.changeset/modern-mugs-shout.md new file mode 100644 index 0000000000..cb845b1fff --- /dev/null +++ b/.changeset/modern-mugs-shout.md @@ -0,0 +1,5 @@ +--- +'@backstage/core-components': patch +--- + +Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config. diff --git a/.changeset/nasty-melons-build.md b/.changeset/nasty-melons-build.md new file mode 100644 index 0000000000..35fb520a5e --- /dev/null +++ b/.changeset/nasty-melons-build.md @@ -0,0 +1,12 @@ +--- +'@backstage/plugin-events-backend-module-github': patch +--- + +Add `createGithubSignatureValidator(config)` which can be used +to create a validator used at an ingress for topic `github`. + +On top, there is a new `githubWebhookEventsModule` for the new backend plugin API +which auto-registers the `HttpPostIngress` for topic `github` incl. the validator. + +Please find more information at +https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-github/README.md. diff --git a/.changeset/nervous-mice-flow.md b/.changeset/nervous-mice-flow.md new file mode 100644 index 0000000000..c3a25b9f3d --- /dev/null +++ b/.changeset/nervous-mice-flow.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-jenkins-backend': patch +--- + +Remove unnecessary dependency promise-any-polyfill diff --git a/.changeset/new-bugs-march.md b/.changeset/new-bugs-march.md new file mode 100644 index 0000000000..346f5a151e --- /dev/null +++ b/.changeset/new-bugs-march.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-explore': patch +--- + +Adds styling to graph forcing it to always fill out the available space. diff --git a/.changeset/nine-ears-whisper.md b/.changeset/nine-ears-whisper.md new file mode 100644 index 0000000000..a1427158af --- /dev/null +++ b/.changeset/nine-ears-whisper.md @@ -0,0 +1,9 @@ +--- +'@backstage/plugin-events-backend': patch +'@backstage/plugin-events-node': minor +--- + +Introduce a new interface `RequestDetails` to abstract `Request` +providing access to request body and headers. + +**BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. diff --git a/.changeset/old-bulldogs-fry.md b/.changeset/old-bulldogs-fry.md new file mode 100644 index 0000000000..9c8eef67ad --- /dev/null +++ b/.changeset/old-bulldogs-fry.md @@ -0,0 +1,14 @@ +--- +'@backstage/plugin-catalog-backend-module-github': patch +--- + +Handle GitHub `push` events at the `GithubEntityProvider` by subscribing to the topic `github.push.` + +Implements `EventSubscriber` to receive events for the topic `github.push`. + +On `github.push`, the affected repository will be refreshed. +This includes adding new Location entities, refreshing existing ones, +and removing obsolete ones. + +Please find more information at +https://backstage.io/docs/integrations/github/discovery#installation-with-events-support diff --git a/.changeset/old-keys-leave.md b/.changeset/old-keys-leave.md new file mode 100644 index 0000000000..d80574b2e4 --- /dev/null +++ b/.changeset/old-keys-leave.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-app-api': patch +--- + +Added `lifecycleFactory` implementation. diff --git a/.changeset/old-tips-cough.md b/.changeset/old-tips-cough.md new file mode 100644 index 0000000000..bcf6de6a53 --- /dev/null +++ b/.changeset/old-tips-cough.md @@ -0,0 +1,9 @@ +--- +'@backstage/plugin-adr': patch +'@backstage/plugin-catalog': patch +'@backstage/plugin-search-react': patch +'@backstage/plugin-stack-overflow': patch +'@backstage/plugin-techdocs': patch +--- + +Update search links to only have header as linkable text diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000000..136b807fdf --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,234 @@ +{ + "mode": "pre", + "tag": "next", + "initialVersions": { + "example-app": "0.2.77", + "@backstage/app-defaults": "1.0.8", + "example-backend": "0.2.77", + "@backstage/backend-app-api": "0.2.3", + "@backstage/backend-common": "0.16.0", + "@backstage/backend-defaults": "0.1.3", + "example-backend-next": "0.0.5", + "@backstage/backend-plugin-api": "0.1.4", + "@backstage/backend-tasks": "0.3.7", + "@backstage/backend-test-utils": "0.1.30", + "@backstage/catalog-client": "1.1.2", + "@backstage/catalog-model": "1.1.3", + "@backstage/cli": "0.21.0", + "@backstage/cli-common": "0.1.10", + "@backstage/codemods": "0.1.41", + "@backstage/config": "1.0.4", + "@backstage/config-loader": "1.1.6", + "@backstage/core-app-api": "1.2.0", + "@backstage/core-components": "0.12.0", + "@backstage/core-plugin-api": "1.1.0", + "@backstage/create-app": "0.4.34", + "@backstage/dev-utils": "1.0.8", + "e2e-test": "0.2.0", + "@backstage/errors": "1.1.3", + "@backstage/integration": "1.4.0", + "@backstage/integration-react": "1.1.6", + "@backstage/release-manifests": "0.0.7", + "@backstage/repo-tools": "0.0.0", + "@techdocs/cli": "1.2.3", + "techdocs-cli-embedded-app": "0.2.76", + "@backstage/test-utils": "1.2.2", + "@backstage/theme": "0.2.16", + "@backstage/types": "1.0.1", + "@backstage/version-bridge": "1.0.2", + "@backstage/plugin-adr": "0.2.3", + "@backstage/plugin-adr-backend": "0.2.3", + "@backstage/plugin-adr-common": "0.2.3", + "@backstage/plugin-airbrake": "0.3.11", + "@backstage/plugin-airbrake-backend": "0.2.11", + "@backstage/plugin-allure": "0.1.27", + "@backstage/plugin-analytics-module-ga": "0.1.22", + "@backstage/plugin-apache-airflow": "0.2.4", + "@backstage/plugin-api-docs": "0.8.11", + "@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.0", + "@backstage/plugin-apollo-explorer": "0.1.4", + "@backstage/plugin-app-backend": "0.3.38", + "@backstage/plugin-auth-backend": "0.17.1", + "@backstage/plugin-auth-node": "0.2.7", + "@backstage/plugin-azure-devops": "0.2.2", + "@backstage/plugin-azure-devops-backend": "0.3.17", + "@backstage/plugin-azure-devops-common": "0.3.0", + "@backstage/plugin-azure-sites": "0.1.0", + "@backstage/plugin-azure-sites-backend": "0.1.0", + "@backstage/plugin-azure-sites-common": "0.1.0", + "@backstage/plugin-badges": "0.2.35", + "@backstage/plugin-badges-backend": "0.1.32", + "@backstage/plugin-bazaar": "0.2.0", + "@backstage/plugin-bazaar-backend": "0.2.1", + "@backstage/plugin-bitbucket-cloud-common": "0.2.1", + "@backstage/plugin-bitrise": "0.1.38", + "@backstage/plugin-catalog": "1.6.1", + "@backstage/plugin-catalog-backend": "1.5.1", + "@backstage/plugin-catalog-backend-module-aws": "0.1.11", + "@backstage/plugin-catalog-backend-module-azure": "0.1.9", + "@backstage/plugin-catalog-backend-module-bitbucket": "0.2.5", + "@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.1.5", + "@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.3", + "@backstage/plugin-catalog-backend-module-gerrit": "0.1.6", + "@backstage/plugin-catalog-backend-module-github": "0.2.0", + "@backstage/plugin-catalog-backend-module-gitlab": "0.1.9", + "@backstage/plugin-catalog-backend-module-ldap": "0.5.5", + "@backstage/plugin-catalog-backend-module-msgraph": "0.4.4", + "@backstage/plugin-catalog-backend-module-openapi": "0.1.4", + "@backstage/plugin-catalog-common": "1.0.8", + "@internal/plugin-catalog-customized": "0.0.4", + "@backstage/plugin-catalog-graph": "0.2.23", + "@backstage/plugin-catalog-graphql": "0.3.15", + "@backstage/plugin-catalog-import": "0.9.1", + "@backstage/plugin-catalog-node": "1.2.1", + "@backstage/plugin-catalog-react": "1.2.1", + "@backstage/plugin-cicd-statistics": "0.1.13", + "@backstage/plugin-cicd-statistics-module-gitlab": "0.1.7", + "@backstage/plugin-circleci": "0.3.11", + "@backstage/plugin-cloudbuild": "0.3.11", + "@backstage/plugin-code-climate": "0.1.11", + "@backstage/plugin-code-coverage": "0.2.4", + "@backstage/plugin-code-coverage-backend": "0.2.4", + "@backstage/plugin-codescene": "0.1.6", + "@backstage/plugin-config-schema": "0.1.34", + "@backstage/plugin-cost-insights": "0.12.0", + "@backstage/plugin-cost-insights-common": "0.1.1", + "@backstage/plugin-dynatrace": "1.0.1", + "@backstage/plugin-events-backend": "0.1.0", + "@backstage/plugin-events-backend-module-aws-sqs": "0.1.0", + "@backstage/plugin-events-backend-module-azure": "0.1.0", + "@backstage/plugin-events-backend-module-bitbucket-cloud": "0.1.0", + "@backstage/plugin-events-backend-module-gerrit": "0.1.0", + "@backstage/plugin-events-backend-module-github": "0.1.0", + "@backstage/plugin-events-backend-module-gitlab": "0.1.0", + "@backstage/plugin-events-backend-test-utils": "0.1.0", + "@backstage/plugin-events-node": "0.1.0", + "@internal/plugin-todo-list": "1.0.7", + "@internal/plugin-todo-list-backend": "1.0.7", + "@internal/plugin-todo-list-common": "1.0.6", + "@backstage/plugin-explore": "0.3.42", + "@backstage/plugin-explore-react": "0.0.23", + "@backstage/plugin-firehydrant": "0.1.28", + "@backstage/plugin-fossa": "0.2.43", + "@backstage/plugin-gcalendar": "0.3.7", + "@backstage/plugin-gcp-projects": "0.3.30", + "@backstage/plugin-git-release-manager": "0.3.24", + "@backstage/plugin-github-actions": "0.5.11", + "@backstage/plugin-github-deployments": "0.1.42", + "@backstage/plugin-github-issues": "0.2.0", + "@backstage/plugin-github-pull-requests-board": "0.1.5", + "@backstage/plugin-gitops-profiles": "0.3.29", + "@backstage/plugin-gocd": "0.1.17", + "@backstage/plugin-graphiql": "0.2.43", + "@backstage/plugin-graphql-backend": "0.1.28", + "@backstage/plugin-home": "0.4.27", + "@backstage/plugin-ilert": "0.2.0", + "@backstage/plugin-jenkins": "0.7.10", + "@backstage/plugin-jenkins-backend": "0.1.28", + "@backstage/plugin-jenkins-common": "0.1.10", + "@backstage/plugin-kafka": "0.3.11", + "@backstage/plugin-kafka-backend": "0.2.31", + "@backstage/plugin-kubernetes": "0.7.4", + "@backstage/plugin-kubernetes-backend": "0.8.0", + "@backstage/plugin-kubernetes-common": "0.4.4", + "@backstage/plugin-lighthouse": "0.3.11", + "@backstage/plugin-newrelic": "0.3.29", + "@backstage/plugin-newrelic-dashboard": "0.2.4", + "@backstage/plugin-org": "0.6.0", + "@backstage/plugin-org-react": "0.1.0", + "@backstage/plugin-pagerduty": "0.5.4", + "@backstage/plugin-periskop": "0.1.9", + "@backstage/plugin-periskop-backend": "0.1.9", + "@backstage/plugin-permission-backend": "0.5.13", + "@backstage/plugin-permission-common": "0.7.1", + "@backstage/plugin-permission-node": "0.7.1", + "@backstage/plugin-permission-react": "0.4.7", + "@backstage/plugin-playlist": "0.1.2", + "@backstage/plugin-playlist-backend": "0.2.1", + "@backstage/plugin-playlist-common": "0.1.2", + "@backstage/plugin-proxy-backend": "0.2.32", + "@backstage/plugin-rollbar": "0.4.11", + "@backstage/plugin-rollbar-backend": "0.1.35", + "@backstage/plugin-scaffolder": "1.8.0", + "@backstage/plugin-scaffolder-backend": "1.8.0", + "@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.13", + "@backstage/plugin-scaffolder-backend-module-rails": "0.4.6", + "@backstage/plugin-scaffolder-backend-module-yeoman": "0.2.11", + "@backstage/plugin-scaffolder-common": "1.2.2", + "@backstage/plugin-search": "1.0.4", + "@backstage/plugin-search-backend": "1.1.1", + "@backstage/plugin-search-backend-module-elasticsearch": "1.0.4", + "@backstage/plugin-search-backend-module-pg": "0.4.2", + "@backstage/plugin-search-backend-node": "1.0.4", + "@backstage/plugin-search-common": "1.1.1", + "@backstage/plugin-search-react": "1.2.1", + "@backstage/plugin-sentry": "0.4.4", + "@backstage/plugin-shortcuts": "0.3.3", + "@backstage/plugin-sonarqube": "0.5.0", + "@backstage/plugin-sonarqube-backend": "0.1.3", + "@backstage/plugin-splunk-on-call": "0.4.0", + "@backstage/plugin-stack-overflow": "0.1.7", + "@backstage/plugin-stack-overflow-backend": "0.1.7", + "@backstage/plugin-tech-insights": "0.3.3", + "@backstage/plugin-tech-insights-backend": "0.5.4", + "@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.22", + "@backstage/plugin-tech-insights-common": "0.2.8", + "@backstage/plugin-tech-insights-node": "0.3.6", + "@backstage/plugin-tech-radar": "0.5.18", + "@backstage/plugin-techdocs": "1.4.0", + "@backstage/plugin-techdocs-addons-test-utils": "1.0.6", + "@backstage/plugin-techdocs-backend": "1.4.1", + "@backstage/plugin-techdocs-module-addons-contrib": "1.0.6", + "@backstage/plugin-techdocs-node": "1.4.2", + "@backstage/plugin-techdocs-react": "1.0.6", + "@backstage/plugin-todo": "0.2.13", + "@backstage/plugin-todo-backend": "0.1.35", + "@backstage/plugin-user-settings": "0.5.1", + "@backstage/plugin-user-settings-backend": "0.1.2", + "@backstage/plugin-vault": "0.1.5", + "@backstage/plugin-vault-backend": "0.2.4", + "@backstage/plugin-xcmetrics": "0.2.31" + }, + "changesets": [ + "angry-dingos-lick", + "angry-trees-relax", + "chilly-ads-lay", + "clean-paws-fry", + "clever-pillows-drive", + "clever-rivers-obey", + "create-app-1669131574", + "early-hairs-switch", + "early-parrots-guess", + "fair-walls-talk", + "fast-lies-remain", + "fluffy-walls-approve", + "four-adults-provide", + "funny-numbers-compete", + "gold-icons-cheat", + "gorgeous-hairs-applaud", + "hip-stingrays-kneel", + "itchy-walls-boil", + "modern-mugs-shout", + "new-bugs-march", + "nine-ears-whisper", + "old-keys-leave", + "renovate-3fe8460", + "renovate-4bb70f3", + "renovate-778b2fa", + "rich-garlics-play", + "search-heavy-frogs-confess", + "search-om-manniskan-ginge", + "serious-windows-occur", + "silly-wolves-remember", + "slow-dragons-promise", + "soft-nails-arrive", + "sour-flowers-care", + "sour-plums-grow", + "tender-parrots-cover", + "thin-donuts-join", + "twelve-meals-smell", + "twenty-dodos-wash", + "weak-ears-jam", + "young-turkeys-relax" + ] +} diff --git a/.changeset/pretty-eagles-matter.md b/.changeset/pretty-eagles-matter.md new file mode 100644 index 0000000000..64eabd9ce6 --- /dev/null +++ b/.changeset/pretty-eagles-matter.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-bazaar-backend': patch +--- + +Column `title` has replaced column `name` for `BazaarProject` in database diff --git a/.changeset/pretty-melons-taste.md b/.changeset/pretty-melons-taste.md new file mode 100644 index 0000000000..9c2a7a13da --- /dev/null +++ b/.changeset/pretty-melons-taste.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +JSX and React Fast Refresh transforms are no longer enabled when bundling backend code. diff --git a/.changeset/quick-horses-cry.md b/.changeset/quick-horses-cry.md new file mode 100644 index 0000000000..8b40c92b41 --- /dev/null +++ b/.changeset/quick-horses-cry.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-org': patch +--- + +Update `UserProfileCard` and `GroupProfileCard` to not render links unless the `showLinks` prop is set. The primary component for rendering links are the `EntityLinksCard` from plugin-catalog. diff --git a/.changeset/renovate-3fe8460.md b/.changeset/renovate-3fe8460.md new file mode 100644 index 0000000000..17dc8b8b97 --- /dev/null +++ b/.changeset/renovate-3fe8460.md @@ -0,0 +1,113 @@ +--- +'@backstage/backend-common': patch +'@backstage/backend-test-utils': patch +'@backstage/catalog-client': patch +'@backstage/cli': patch +'@backstage/config-loader': patch +'@backstage/core-app-api': patch +'@backstage/core-components': patch +'@backstage/core-plugin-api': patch +'@backstage/integration-react': patch +'@backstage/integration': patch +'@backstage/release-manifests': patch +'@backstage/test-utils': patch +'@backstage/plugin-adr-backend': patch +'@backstage/plugin-adr': patch +'@backstage/plugin-airbrake-backend': patch +'@backstage/plugin-airbrake': patch +'@backstage/plugin-allure': patch +'@backstage/plugin-analytics-module-ga': patch +'@backstage/plugin-apache-airflow': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-apollo-explorer': patch +'@backstage/plugin-app-backend': patch +'@backstage/plugin-auth-backend': patch +'@backstage/plugin-auth-node': patch +'@backstage/plugin-azure-devops-backend': patch +'@backstage/plugin-azure-devops': patch +'@backstage/plugin-azure-sites-backend': patch +'@backstage/plugin-azure-sites': patch +'@backstage/plugin-badges': patch +'@backstage/plugin-bitbucket-cloud-common': patch +'@backstage/plugin-bitrise': patch +'@backstage/plugin-catalog-backend-module-azure': patch +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +'@backstage/plugin-catalog-backend-module-bitbucket-server': patch +'@backstage/plugin-catalog-backend-module-bitbucket': patch +'@backstage/plugin-catalog-backend-module-gerrit': patch +'@backstage/plugin-catalog-backend-module-github': patch +'@backstage/plugin-catalog-backend-module-gitlab': patch +'@backstage/plugin-catalog-backend-module-msgraph': patch +'@backstage/plugin-catalog-backend': patch +'@backstage/plugin-catalog-graphql': patch +'@backstage/plugin-catalog-import': patch +'@backstage/plugin-circleci': patch +'@backstage/plugin-cloudbuild': patch +'@backstage/plugin-code-climate': patch +'@backstage/plugin-code-coverage-backend': patch +'@backstage/plugin-code-coverage': patch +'@backstage/plugin-codescene': patch +'@backstage/plugin-config-schema': patch +'@backstage/plugin-cost-insights': patch +'@backstage/plugin-dynatrace': patch +'@backstage/plugin-explore-react': patch +'@backstage/plugin-explore': patch +'@backstage/plugin-firehydrant': patch +'@backstage/plugin-fossa': patch +'@backstage/plugin-gcalendar': patch +'@backstage/plugin-gcp-projects': patch +'@backstage/plugin-git-release-manager': patch +'@backstage/plugin-github-actions': patch +'@backstage/plugin-github-deployments': patch +'@backstage/plugin-github-issues': patch +'@backstage/plugin-github-pull-requests-board': patch +'@backstage/plugin-gitops-profiles': patch +'@backstage/plugin-gocd': patch +'@backstage/plugin-graphiql': patch +'@backstage/plugin-graphql-backend': patch +'@backstage/plugin-home': patch +'@backstage/plugin-ilert': patch +'@backstage/plugin-jenkins-backend': patch +'@backstage/plugin-jenkins': patch +'@backstage/plugin-kafka': patch +'@backstage/plugin-kubernetes': patch +'@backstage/plugin-lighthouse': patch +'@backstage/plugin-newrelic': patch +'@backstage/plugin-org-react': patch +'@backstage/plugin-org': patch +'@backstage/plugin-pagerduty': patch +'@backstage/plugin-periskop-backend': patch +'@backstage/plugin-periskop': patch +'@backstage/plugin-permission-backend': patch +'@backstage/plugin-permission-common': patch +'@backstage/plugin-permission-node': patch +'@backstage/plugin-playlist-backend': patch +'@backstage/plugin-playlist': patch +'@backstage/plugin-proxy-backend': patch +'@backstage/plugin-rollbar-backend': patch +'@backstage/plugin-rollbar': patch +'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch +'@backstage/plugin-scaffolder-backend': patch +'@backstage/plugin-scaffolder': patch +'@backstage/plugin-search': patch +'@backstage/plugin-sentry': patch +'@backstage/plugin-shortcuts': patch +'@backstage/plugin-sonarqube-backend': patch +'@backstage/plugin-sonarqube': patch +'@backstage/plugin-splunk-on-call': patch +'@backstage/plugin-stack-overflow': patch +'@backstage/plugin-tech-insights': patch +'@backstage/plugin-tech-radar': patch +'@backstage/plugin-techdocs-addons-test-utils': patch +'@backstage/plugin-techdocs-backend': patch +'@backstage/plugin-techdocs-module-addons-contrib': patch +'@backstage/plugin-techdocs': patch +'@backstage/plugin-todo-backend': patch +'@backstage/plugin-todo': patch +'@backstage/plugin-user-settings': patch +'@backstage/plugin-vault-backend': patch +'@backstage/plugin-vault': patch +'@backstage/plugin-xcmetrics': patch +--- + +Updated dependency `msw` to `^0.49.0`. diff --git a/.changeset/renovate-778b2fa.md b/.changeset/renovate-778b2fa.md new file mode 100644 index 0000000000..f4f57e448b --- /dev/null +++ b/.changeset/renovate-778b2fa.md @@ -0,0 +1,7 @@ +--- +'@backstage/core-components': patch +'@backstage/plugin-codescene': patch +'@backstage/plugin-sonarqube': patch +--- + +Updated dependency `rc-progress` to `3.4.1`. diff --git a/.changeset/renovate-a5f7839.md b/.changeset/renovate-a5f7839.md new file mode 100644 index 0000000000..d1ab22e04a --- /dev/null +++ b/.changeset/renovate-a5f7839.md @@ -0,0 +1,5 @@ +--- +'@backstage/config-loader': patch +--- + +Updated dependency `typescript-json-schema` to `^0.55.0`. diff --git a/.changeset/rich-balloons-leave.md b/.changeset/rich-balloons-leave.md new file mode 100644 index 0000000000..bb6832a681 --- /dev/null +++ b/.changeset/rich-balloons-leave.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Added the ability to understand Job Artifact URLs to the GitLab integration diff --git a/.changeset/rich-garlics-play.md b/.changeset/rich-garlics-play.md new file mode 100644 index 0000000000..5589a70e35 --- /dev/null +++ b/.changeset/rich-garlics-play.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-kubernetes-backend': patch +'@backstage/plugin-kubernetes-common': patch +--- + +Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). diff --git a/.changeset/search-heavy-frogs-confess.md b/.changeset/search-heavy-frogs-confess.md new file mode 100644 index 0000000000..a37c28c60c --- /dev/null +++ b/.changeset/search-heavy-frogs-confess.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-node': patch +--- + +Fixed a bug that could cause a `max listeners exceeded warning` to be logged when more than 10 collators were running simultaneously. diff --git a/.changeset/search-tofu-panaeng.md b/.changeset/search-tofu-panaeng.md new file mode 100644 index 0000000000..1f8bbf6a7b --- /dev/null +++ b/.changeset/search-tofu-panaeng.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-node': patch +--- + +Use of `TestPipeline.withSubject()` is now deprecated. Instead, use the `fromCollator`, `fromDecorator`, or `fromIndexer` static methods to instantiate a test pipeline. You may also use the class' `withCollator`, `withDecorator`, and `withIndexer` instance methods to build test pipelines that consist of multiple test subjects. diff --git a/.changeset/silly-wolves-remember.md b/.changeset/silly-wolves-remember.md new file mode 100644 index 0000000000..f39812db88 --- /dev/null +++ b/.changeset/silly-wolves-remember.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend': patch +--- + +Registered shutdown hook in experimental catalog plugin. diff --git a/.changeset/slow-flies-marinate.md b/.changeset/slow-flies-marinate.md new file mode 100644 index 0000000000..42d0de5f44 --- /dev/null +++ b/.changeset/slow-flies-marinate.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-events-backend-module-aws-sqs': patch +--- + +Upgrade to AWS SDK for Javascript v3 diff --git a/.changeset/slow-flies-marry.md b/.changeset/slow-flies-marry.md new file mode 100644 index 0000000000..7882707d32 --- /dev/null +++ b/.changeset/slow-flies-marry.md @@ -0,0 +1,8 @@ +--- +'@backstage/plugin-techdocs-node': patch +--- + +Upgrade to AWS SDK for Javascript v3 + +Techdocs support for AWS S3 now requires defining the AWS region to connect to. +If `techdocs.publisher.awsS3.region` is missing from the config, the AWS environment variable `AWS_REGION` will be used. diff --git a/.changeset/smart-radios-change.md b/.changeset/smart-radios-change.md new file mode 100644 index 0000000000..1c7393829d --- /dev/null +++ b/.changeset/smart-radios-change.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-common': patch +--- + +Fixed `SingleHostDiscovery` so that it properly handles single-string `backend.listen` configurations such as `:80`. diff --git a/.changeset/sour-queens-wait.md b/.changeset/sour-queens-wait.md new file mode 100644 index 0000000000..87231a1eb0 --- /dev/null +++ b/.changeset/sour-queens-wait.md @@ -0,0 +1,5 @@ +--- +'@backstage/repo-tools': patch +--- + +add the command type-deps to the repo tool package. diff --git a/.changeset/stupid-clocks-return.md b/.changeset/stupid-clocks-return.md new file mode 100644 index 0000000000..84b061334f --- /dev/null +++ b/.changeset/stupid-clocks-return.md @@ -0,0 +1,12 @@ +--- +'@backstage/plugin-events-backend-module-gitlab': patch +--- + +Add `createGitlabTokenValidator(config)` which can be used +to create a validator used at an ingress for topic `gitlab`. + +On top, there is a new `gitlabWebhookEventsModule` for the new backend plugin API +which auto-registers the `HttpPostIngress` for topic `gitlab` incl. the validator. + +Please find more information at +https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-gitlab/README.md. diff --git a/.changeset/stupid-gifts-serve.md b/.changeset/stupid-gifts-serve.md new file mode 100644 index 0000000000..3110a1976c --- /dev/null +++ b/.changeset/stupid-gifts-serve.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch +--- + +Fix repo:push topic not matching `BitbucketCloudEventRouter`. diff --git a/.changeset/tender-colts-greet.md b/.changeset/tender-colts-greet.md new file mode 100644 index 0000000000..ff59bf0bea --- /dev/null +++ b/.changeset/tender-colts-greet.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-openapi': patch +--- + +Enabled support of resolving `$refs` in all kind of yaml documents, not only OpenAPI. This implicitly adds `$ref` resolving support for AsyncAPI specs. Thus, the `openApiPlaceholderResolver` has been renamed to `jsonSchemaRefPlaceholderResolver`. diff --git a/.changeset/tender-parrots-cover.md b/.changeset/tender-parrots-cover.md new file mode 100644 index 0000000000..5272fcbdce --- /dev/null +++ b/.changeset/tender-parrots-cover.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs-module-addons-contrib': patch +--- + +Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. diff --git a/.changeset/thin-donuts-join.md b/.changeset/thin-donuts-join.md new file mode 100644 index 0000000000..84705711d2 --- /dev/null +++ b/.changeset/thin-donuts-join.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog': patch +--- + +Fixed Entity kind pluralisation in the `CatalogKindHeader` component. diff --git a/.changeset/twelve-meals-smell.md b/.changeset/twelve-meals-smell.md new file mode 100644 index 0000000000..a9d64823a3 --- /dev/null +++ b/.changeset/twelve-meals-smell.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-vault-backend': patch +--- + +Use `express-promise-router` to catch errors properly. +Add `403` error as a known one. It will now return a `NotAllowed` error. diff --git a/.changeset/twenty-dodos-wash.md b/.changeset/twenty-dodos-wash.md new file mode 100644 index 0000000000..d21088a953 --- /dev/null +++ b/.changeset/twenty-dodos-wash.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-defaults': patch +--- + +Added `lifecycleFactory` to default service factories. diff --git a/.changeset/wicked-games-search.md b/.changeset/wicked-games-search.md new file mode 100644 index 0000000000..5264995a2d --- /dev/null +++ b/.changeset/wicked-games-search.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +added an optional config entry `costInsights.engineerThreshold` to allow users to control the threshold value for the 'negligible' change in costs. diff --git a/.changeset/yellow-forks-knock.md b/.changeset/yellow-forks-knock.md new file mode 100644 index 0000000000..98c4b5b675 --- /dev/null +++ b/.changeset/yellow-forks-knock.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-cost-insights': patch +--- + +Making a possibility to hide a trending line in a cost insights plugin diff --git a/.changeset/young-turkeys-relax.md b/.changeset/young-turkeys-relax.md new file mode 100644 index 0000000000..c53cd984a6 --- /dev/null +++ b/.changeset/young-turkeys-relax.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-plugin-api': patch +--- + +Added initial support for registering shutdown hooks via `lifecycleServiceRef`. diff --git a/.eslintrc.js b/.eslintrc.js index 6d07fab291..675a834efb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -50,5 +50,191 @@ module.exports = { 'testing-library/no-await-sync-query': 'error', 'testing-library/prefer-wait-for': 'error', 'testing-library/no-dom-import': 'error', + 'testing-library/no-wait-for-side-effects': 'error', + 'testing-library/no-wait-for-empty-callback': 'error', + 'no-restricted-globals': [ + 'error', + [ + 'blur', + 'captureEvents', + 'chrome', + 'clientInformation', + 'close', + 'closed', + 'createImageBitmap', + 'crypto', + 'customElements', + 'defaultstatus', + 'defaultStatus', + 'devicePixelRatio', + 'external', + 'find', + 'focus', + 'frameElement', + 'frames', + 'getComputedStyle', + 'getSelection', + 'indexedDB', + 'innerHeight', + 'innerWidth', + 'isSecureContext', + 'length', + 'location', + 'locationbar', + 'matchMedia', + 'menubar', + 'moveBy', + 'moveTo', + 'name', + 'navigator', + 'onabort', + 'onafterprint', + 'onanimationend', + 'onanimationiteration', + 'onanimationstart', + 'onappinstalled', + 'onauxclick', + 'onbeforeinstallprompt', + 'onbeforeprint', + 'onbeforeunload', + 'onblur', + 'oncancel', + 'oncanplay', + 'oncanplaythrough', + 'onchange', + 'onclick', + 'onclose', + 'oncontextmenu', + 'oncuechange', + 'ondblclick', + 'ondevicemotion', + 'ondeviceorientation', + 'ondeviceorientationabsolute', + 'ondrag', + 'ondragend', + 'ondragenter', + 'ondragleave', + 'ondragover', + 'ondragstart', + 'ondrop', + 'ondurationchange', + 'onemptied', + 'onended', + 'onerror', + 'onfocus', + 'ongotpointercapture', + 'onhashchange', + 'oninput', + 'oninvalid', + 'onkeydown', + 'onkeypress', + 'onkeyup', + 'onlanguagechange', + 'onload', + 'onloadeddata', + 'onloadedmetadata', + 'onloadstart', + 'onlostpointercapture', + 'onmessage', + 'onmessageerror', + 'onmousedown', + 'onmouseenter', + 'onmouseleave', + 'onmousemove', + 'onmouseout', + 'onmouseover', + 'onmouseup', + 'onmousewheel', + 'onoffline', + 'ononline', + 'onpagehide', + 'onpageshow', + 'onpause', + 'onplay', + 'onplaying', + 'onpointercancel', + 'onpointerdown', + 'onpointerenter', + 'onpointerleave', + 'onpointermove', + 'onpointerout', + 'onpointerover', + 'onpointerup', + 'onpopstate', + 'onprogress', + 'onratechange', + 'onrejectionhandled', + 'onreset', + 'onresize', + 'onscroll', + 'onsearch', + 'onseeked', + 'onseeking', + 'onselect', + 'onstalled', + 'onstorage', + 'onsubmit', + 'onsuspend', + 'ontimeupdate', + 'ontoggle', + 'ontransitionend', + 'onunhandledrejection', + 'onunload', + 'onvolumechange', + 'onwaiting', + 'onwebkitanimationend', + 'onwebkitanimationiteration', + 'onwebkitanimationstart', + 'onwebkittransitionend', + 'onwheel', + 'open', + 'openDatabase', + 'opener', + 'origin', + 'outerHeight', + 'outerWidth', + 'pageXOffset', + 'pageYOffset', + 'parent', + 'performance', + 'personalbar', + 'postMessage', + 'print', + 'releaseEvents', + 'resizeBy', + 'resizeTo', + 'screen', + 'screenLeft', + 'screenTop', + 'screenX', + 'screenY', + 'scroll', + 'scrollbars', + 'scrollBy', + 'scrollTo', + 'scrollX', + 'scrollY', + 'self', + 'speechSynthesis', + 'status', + 'statusbar', + 'stop', + 'styleMedia', + 'toolbar', + 'top', + 'visualViewport', + 'webkitRequestFileSystem', + 'webkitResolveLocalFileSystemURL', + 'webkitStorageInfo', + ].map(function f(name) { + return { + name: name, + message: + 'Avoid using implicitly global variables. Use e.g. window.' + + name + + ' instead if this was your intent.', + }; + }), + ].flat(), }, }; diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml index 9cac5055f1..b5e06d48cf 100644 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -41,7 +41,7 @@ body: attributes: label: '🏢 Have you read the Code of Conduct?' options: - - label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' + - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' required: true - type: dropdown id: willing-to-submit-pr diff --git a/.github/ISSUE_TEMPLATE/plugin.yaml b/.github/ISSUE_TEMPLATE/plugin.yaml index 9f3a708b41..a36c427981 100644 --- a/.github/ISSUE_TEMPLATE/plugin.yaml +++ b/.github/ISSUE_TEMPLATE/plugin.yaml @@ -39,7 +39,7 @@ body: attributes: label: '🏢 Have you read the Code of Conduct?' options: - - label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' + - label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)' required: true - type: dropdown id: willing-to-submit-pr diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 93e0471fd3..b58c0beb05 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -21,5 +21,10 @@ groupName: 'SVGR monorepo packages', rangeStrategy: 'replace', }, + // We update yarn packages manually as it's gzip'd and we don't want to pollute the repository too much. + { + matchSourceUrls: ['https://github.com/yarnpkg/berry'], + enabled: false, + }, ], } diff --git a/.github/vale/Vocab/Backstage/accept.txt b/.github/vale/Vocab/Backstage/accept.txt index f2b3ac0b09..bba59094e3 100644 --- a/.github/vale/Vocab/Backstage/accept.txt +++ b/.github/vale/Vocab/Backstage/accept.txt @@ -126,6 +126,7 @@ github Gitiles gitlab GitLab +globals Gource Grafana graphql @@ -409,3 +410,4 @@ Zolotusky zoomable zsh Lainfiesta +allowlisted diff --git a/.github/workflows/automate_merge_message.yml b/.github/workflows/automate_merge_message.yml new file mode 100644 index 0000000000..c376f7d0f3 --- /dev/null +++ b/.github/workflows/automate_merge_message.yml @@ -0,0 +1,63 @@ +name: Automate merge message +on: + pull_request_target: + branches: ['master'] + types: ['closed'] + +permissions: + pull-requests: write + actions: none + checks: none + contents: none + deployments: none + issues: none + packages: none + pages: none + repository-projects: none + security-events: none + statuses: none + +jobs: + message: + # prevent running towards forks, and only run on merged PRs + if: github.repository == 'backstage/backstage' && github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + ref: '${{ github.event.pull_request.merge_commit_sha }}' + + - name: fetch base + run: git fetch --depth 1 origin ${{ github.event.pull_request.base.sha }} + + # We avoid using the in-source script since this workflow has elevated permissions that we don't want to expose + - name: Generate Message + id: generate-message + run: | + rm -f generate.js + wget -O generate.js https://raw.githubusercontent.com/backstage/backstage/master/scripts/generate-merge-message.js 1>&2 + 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 + env: + ISSUE_NUMBER: ${{ github.event.pull_request.number }} + with: + script: | + const owner = "backstage"; + const repo = "backstage"; + const body = require('fs').readFileSync('message.txt', 'utf8').trim(); + const issue_number = Number(process.env.ISSUE_NUMBER); + + if (!body) { + console.log(`skipping comment for #${issue_number}`); + return; + } + + console.log(`creating comment for #${issue_number}`); + await github.rest.issues.createComment({ + owner, + repo, + issue_number, + body, + }); diff --git a/.github/workflows/automate_stale.yml b/.github/workflows/automate_stale.yml index 12fccdc7ed..1d8aa525a9 100644 --- a/.github/workflows/automate_stale.yml +++ b/.github/workflows/automate_stale.yml @@ -8,7 +8,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v5 + - uses: actions/stale@v6 id: stale with: stale-issue-message: > diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eef5058690..7cc5874184 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -63,7 +63,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -181,7 +181,7 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/cron.yml b/.github/workflows/cron.yml index 4629d656ce..2d28c242ee 100644 --- a/.github/workflows/cron.yml +++ b/.github/workflows/cron.yml @@ -8,7 +8,7 @@ jobs: cron: runs-on: ubuntu-latest steps: - - uses: backstage/actions/cron@v0.5.7 + - uses: backstage/actions/cron@v0.5.8 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/deploy_docker-image.yml b/.github/workflows/deploy_docker-image.yml index 90ea8e13f1..f5dc164737 100644 --- a/.github/workflows/deploy_docker-image.yml +++ b/.github/workflows/deploy_docker-image.yml @@ -9,13 +9,13 @@ jobs: steps: - name: checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: path: backstage ref: v${{ github.event.client_payload.version }} - name: setup-node - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16.x registry-url: https://registry.npmjs.org/ @@ -23,7 +23,7 @@ jobs: # Beginning of yarn setup, keep in sync between all workflows. # TODO(Rugvip): move this to composite action once all features we use are supported - name: use node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth @@ -31,7 +31,7 @@ jobs: # Cache every node_modules folder inside the monorepo - name: cache all node_modules id: cache-modules - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: '**/node_modules' # We use both yarn.lock and package.json as cache keys to ensure that @@ -44,10 +44,10 @@ jobs: - name: find location of global yarn cache id: yarn-cache if: steps.cache-modules.outputs.cache-hit != 'true' - run: echo "::set-output name=dir::$(yarn cache dir)" + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - name: cache global yarn cache - uses: actions/cache@v2 + uses: actions/cache@v3 if: steps.cache-modules.outputs.cache-hit != 'true' with: path: ${{ steps.yarn-cache.outputs.dir }} diff --git a/.github/workflows/deploy_nightly.yml b/.github/workflows/deploy_nightly.yml index 360a74e012..053f3db621 100644 --- a/.github/workflows/deploy_nightly.yml +++ b/.github/workflows/deploy_nightly.yml @@ -26,7 +26,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/deploy_packages.yml b/.github/workflows/deploy_packages.yml index 1d03c210cd..bebe24d0f6 100644 --- a/.github/workflows/deploy_packages.yml +++ b/.github/workflows/deploy_packages.yml @@ -12,6 +12,7 @@ jobs: needs_release: ${{ steps.release_check.outputs.needs_release }} strategy: + fail-fast: false matrix: node-version: [16.x, 18.x] @@ -67,7 +68,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} @@ -145,7 +146,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/issue.yaml b/.github/workflows/issue.yaml index a42b9b6f7b..e7582bd788 100644 --- a/.github/workflows/issue.yaml +++ b/.github/workflows/issue.yaml @@ -10,4 +10,4 @@ jobs: if: github.repository == 'backstage/backstage' steps: - name: Issue sync - uses: backstage/actions/issue-sync@v0.5.7 + uses: backstage/actions/issue-sync@v0.5.8 diff --git a/.github/workflows/pr-review-comment.yaml b/.github/workflows/pr-review-comment.yaml index 6104a802d9..e3988a898d 100644 --- a/.github/workflows/pr-review-comment.yaml +++ b/.github/workflows/pr-review-comment.yaml @@ -33,9 +33,9 @@ jobs: } const prNumber = artifact.name.slice('pr_number-'.length) - console.log(`::set-output name=pr-number::${prNumber}`); + core.setOutput('pr-number', prNumber); - - uses: backstage/actions/re-review@v0.5.7 + - uses: backstage/actions/re-review@v0.5.8 with: app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 4ab7da8e07..54fcf2e74b 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: PR sync - uses: backstage/actions/pr-sync@v0.5.7 + uses: backstage/actions/pr-sync@v0.5.8 with: github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }} app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }} diff --git a/.github/workflows/sync_code-formatting.yml b/.github/workflows/sync_code-formatting.yml index 2113efe924..45c84e298a 100644 --- a/.github/workflows/sync_code-formatting.yml +++ b/.github/workflows/sync_code-formatting.yml @@ -20,7 +20,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/sync_snyk-github-issues.yml b/.github/workflows/sync_snyk-github-issues.yml index c1fb727c33..7b01757ba7 100644 --- a/.github/workflows/sync_snyk-github-issues.yml +++ b/.github/workflows/sync_snyk-github-issues.yml @@ -23,7 +23,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_docs-quality.yml b/.github/workflows/verify_docs-quality.yml index 736f09571f..dc1d942e32 100644 --- a/.github/workflows/verify_docs-quality.yml +++ b/.github/workflows/verify_docs-quality.yml @@ -18,7 +18,7 @@ jobs: # also contains an "--config=.github/vale/config.ini" option - name: generate vale args id: generate - run: echo "::set-output name=args::$(node scripts/check-docs-quality.js --ci-args)" + run: echo "args=$(node scripts/check-docs-quality.js --ci-args)" >> $GITHUB_OUTPUT - name: documentation quality check uses: errata-ai/vale-action@v2.0.1 diff --git a/.github/workflows/verify_e2e-linux.yml b/.github/workflows/verify_e2e-linux.yml index a84b315e33..8d296041b7 100644 --- a/.github/workflows/verify_e2e-linux.yml +++ b/.github/workflows/verify_e2e-linux.yml @@ -52,7 +52,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} diff --git a/.github/workflows/verify_e2e-techdocs.yml b/.github/workflows/verify_e2e-techdocs.yml index 8d59d15899..59c8d9f7cc 100644 --- a/.github/workflows/verify_e2e-techdocs.yml +++ b/.github/workflows/verify_e2e-techdocs.yml @@ -26,7 +26,9 @@ jobs: steps: - uses: actions/checkout@v3 - - uses: actions/setup-python@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.9' - name: install dependencies run: yarn install --immutable diff --git a/.github/workflows/verify_e2e-windows.yml b/.github/workflows/verify_e2e-windows.yml index fc29c1f03b..8a49b8fe31 100644 --- a/.github/workflows/verify_e2e-windows.yml +++ b/.github/workflows/verify_e2e-windows.yml @@ -49,7 +49,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.0.3 + uses: microsoft/setup-msbuild@v1.1.3 - name: setup chrome uses: browser-actions/setup-chrome@latest - name: yarn install diff --git a/.github/workflows/verify_kubernetes.yml b/.github/workflows/verify_kubernetes.yml index b92deb96ac..a50f817020 100644 --- a/.github/workflows/verify_kubernetes.yml +++ b/.github/workflows/verify_kubernetes.yml @@ -28,12 +28,12 @@ jobs: registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: bootstrap kind - uses: helm/kind-action@v1.3.0 + uses: helm/kind-action@v1.4.0 - name: kubernetes test working-directory: packages/backend-common diff --git a/.github/workflows/verify_storybook.yml b/.github/workflows/verify_storybook.yml index 4fe39fe244..b3bd850937 100644 --- a/.github/workflows/verify_storybook.yml +++ b/.github/workflows/verify_storybook.yml @@ -35,7 +35,7 @@ jobs: node-version: ${{ matrix.node-version }} registry-url: https://registry.npmjs.org/ # Needed for auth - name: yarn install - uses: backstage/actions/yarn-install@v0.5.7 + uses: backstage/actions/yarn-install@v0.5.8 with: cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }} - name: storybook yarn install diff --git a/app-config.yaml b/app-config.yaml index ef133491af..dd72051189 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -373,6 +373,7 @@ auth: development: {} costInsights: engineerCost: 200000 + engineerThreshold: 0.5 products: computeEngine: name: Compute Engine diff --git a/contrib/scripts/upgrade-backstage-app/upgrade-backstage-app.sh b/contrib/scripts/upgrade-backstage-app/upgrade-backstage-app.sh index d68d9e31c4..5c87d16d29 100755 --- a/contrib/scripts/upgrade-backstage-app/upgrade-backstage-app.sh +++ b/contrib/scripts/upgrade-backstage-app/upgrade-backstage-app.sh @@ -9,6 +9,7 @@ if [ "$CURRENT_VERSION" == "$TARGET_VERSION" ]; then else echo "Attempting upgrade from Backstage $CURRENT_VERSION (create-app $CREATE_APP_CURRENT_VERSION) to $TARGET_VERSION ($CREATE_APP_TARGET_VERSION)" rm -rf .upgrade && mkdir .upgrade + git fetch https://github.com/backstage/upgrade-helper-diff.git '+refs/heads/*:refs/remotes/upgrade-helper/*' curl -s https://raw.githubusercontent.com/backstage/upgrade-helper-diff/master/diffs/$CREATE_APP_CURRENT_VERSION..$CREATE_APP_TARGET_VERSION.diff > .upgrade/upgrade.diff git apply -3 .upgrade/upgrade.diff git mergetool diff --git a/cypress/yarn.lock b/cypress/yarn.lock index 07249a29fc..49c85adb2b 100644 --- a/cypress/yarn.lock +++ b/cypress/yarn.lock @@ -1415,22 +1415,22 @@ __metadata: linkType: hard "typescript@npm:^4.1.3": - version: 4.8.4 - resolution: "typescript@npm:4.8.4" + version: 4.9.3 + resolution: "typescript@npm:4.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 + checksum: 17b8f816050b412403e38d48eef0e893deb6be522d6dc7caf105e54a72e34daf6835c447735fd2b28b66784e72bfbf87f627abb4818a8e43d1fa8106396128dc languageName: node linkType: hard "typescript@patch:typescript@^4.1.3#~builtin": - version: 4.8.4 - resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=a1c5e5" + version: 4.9.3 + resolution: "typescript@patch:typescript@npm%3A4.9.3#~builtin::version=4.9.3&hash=a1c5e5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 + checksum: ef65c22622d864497d0a0c5db693523329b3284c15fe632e93ad9aa059e8dc38ef3bd767d6f26b1e5ecf9446f49bd0f6c4e5714a2eeaf352805dc002479843d1 languageName: node linkType: hard diff --git a/docs/assets/getting-started/sidebar-submenu-example.png b/docs/assets/getting-started/sidebar-submenu-example.png new file mode 100644 index 0000000000..0b30f0ca6a Binary files /dev/null and b/docs/assets/getting-started/sidebar-submenu-example.png differ diff --git a/docs/deployment/docker.md b/docs/deployment/docker.md index 30276a97ab..88c22afb9b 100644 --- a/docs/deployment/docker.md +++ b/docs/deployment/docker.md @@ -275,6 +275,11 @@ browser at `http://localhost:7007` ## Separate Frontend +> NOTE: This is an optional step, and you will lose out on the features of the +> `@backstage/plugin-app-backend` plugin. Most notably the frontend configuration +> will no longer be injected by the backend, you will instead need to use the +> correct configuration when building the frontend bundle. + It is sometimes desirable to serve the frontend separately from the backend, either from a separate image or for example a static file serving provider. The first step in doing so is to remove the `app-backend` plugin from the backend diff --git a/docs/features/search/getting-started.md b/docs/features/search/getting-started.md index 726d1557d0..e13401a8e3 100644 --- a/docs/features/search/getting-started.md +++ b/docs/features/search/getting-started.md @@ -279,6 +279,8 @@ an example: ``` +> For more advanced customization of the Search frontend, also see how to guides such as [How to implement your own Search API](./how-to-guides.md#how-to-implement-your-own-search-api) and [How to customize search results highlighting styling](./how-to-guides.md#how-to-customize-search-results-highlighting-styling) + ### Backend Backstage Search isn't a search engine itself, rather, it provides an interface @@ -380,3 +382,5 @@ indexBuilder.addCollator({ }), }); ``` + +> For more advanced customization of the Search backend, also see how to guides such as [How to index TechDocs documents](./how-to-guides.md#how-to-index-techdocs-documents) and [How to limit what can be searched in the Software Catalog](./how-to-guides.md#how-to-limit-what-can-be-searched-in-the-software-catalog) diff --git a/docs/features/software-catalog/external-integrations.md b/docs/features/software-catalog/external-integrations.md index 65f97fb8da..66813cc4d2 100644 --- a/docs/features/software-catalog/external-integrations.md +++ b/docs/features/software-catalog/external-integrations.md @@ -159,7 +159,12 @@ Check out the numbered markings - let's go through them one by one. the outcome of that. This example issues a `fetch` to the right service and issues a full refresh of its entity bucket based on that. 5. The method translates the foreign data model to the native `Entity` form, as - expected by the catalog. + expected by the catalog. The `Entity` must include the + `backstage.io/managed-by-location` and + `backstage.io/managed-by-origin-location annotations`; otherwise, it will not + appear in the Catalog and will generate warning logs. The + [Well-known Annotations](./well-known-annotations.md#backstageiomanaged-by-location) + documentation has guidance on what values to use for these. 6. Finally, we issue a "mutation" to the catalog. This persists the entities in our own bucket, along with an optional `locationKey` that's used for conflict checks. But this is a bigger topic - mutations warrant their own explanatory diff --git a/docs/features/software-catalog/well-known-relations.md b/docs/features/software-catalog/well-known-relations.md index 6fb7ae2fea..bfcbcb780a 100644 --- a/docs/features/software-catalog/well-known-relations.md +++ b/docs/features/software-catalog/well-known-relations.md @@ -76,6 +76,9 @@ an entity to function. It can for example be used to express that a website component needs a library component as part of its build, or that a service component uses a persistent storage resource. +This relation is commonly generated based on `spec.dependsOn` of the component +or resource in question. + ### `parentOf` and `childOf` A parent/child relation to build up a tree, used for example to describe the diff --git a/docs/features/techdocs/cli.md b/docs/features/techdocs/cli.md index dc89f1718b..06eb83dfca 100644 --- a/docs/features/techdocs/cli.md +++ b/docs/features/techdocs/cli.md @@ -235,7 +235,7 @@ details. You need to make sure that your environment is able to authenticate with the target cloud provider. `techdocs-cli` uses the official Node.js clients provided -by AWS (v2), Google Cloud and Azure. You can authenticate using environment +by AWS (v3), Google Cloud and Azure. You can authenticate using environment variables and/or by other means (`~/.aws/credentials`, `~/.config/gcloud` etc.) Refer to the Authentication section of the following documentation depending diff --git a/docs/features/techdocs/configuration.md b/docs/features/techdocs/configuration.md index 8a54d76ed0..4e806296e5 100644 --- a/docs/features/techdocs/configuration.md +++ b/docs/features/techdocs/configuration.md @@ -108,8 +108,8 @@ techdocs: # (Optional) An API key is required to write to a storage bucket. # If not set, environment variables or aws config file will be used to authenticate. - # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-environment.html - # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-shared.html + # https://www.npmjs.com/package/@aws-sdk/credential-provider-node + # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html credentials: accessKeyId: ${TECHDOCS_AWSS3_ACCESS_KEY_ID_CREDENTIAL} secretAccessKey: ${TECHDOCS_AWSS3_SECRET_ACCESS_KEY_CREDENTIAL} @@ -121,7 +121,7 @@ techdocs: # (Optional) Endpoint URI to send requests to. # If not set, the default endpoint is built from the configured region. - # https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#constructor-property + # https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html#endpoint endpoint: ${AWS_ENDPOINT} # (Optional) Whether to use path style URLs when communicating with S3. diff --git a/docs/features/techdocs/configuring-ci-cd.md b/docs/features/techdocs/configuring-ci-cd.md index 0f8044e9c9..75800c48ca 100644 --- a/docs/features/techdocs/configuring-ci-cd.md +++ b/docs/features/techdocs/configuring-ci-cd.md @@ -141,14 +141,16 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@v2 + uses: actions/checkout@v3 - - uses: actions/setup-node@v2 - - uses: actions/setup-python@v2 + - uses: actions/setup-node@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.9' # the 2 steps below can be removed if you aren't using plantuml in your documentation - name: setup java - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: '11' diff --git a/docs/features/techdocs/using-cloud-storage.md b/docs/features/techdocs/using-cloud-storage.md index 66b4f09596..3ea57edc6b 100644 --- a/docs/features/techdocs/using-cloud-storage.md +++ b/docs/features/techdocs/using-cloud-storage.md @@ -219,22 +219,19 @@ If the environment variables - `AWS_REGION` are set and can be used to access the bucket you created in step 2, they will be -used by the AWS SDK V2 Node.js client for authentication. -[Refer to the official documentation for loading credentials in Node.js from environment variables](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html). +used by the AWS SDK V3 Node.js client for authentication. +[Refer to the official documentation for loading credentials in Node.js from environment variables](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-environment.html). If the environment variables are missing, the AWS SDK tries to read the `~/.aws/credentials` file for credentials. -[Refer to the official documentation.](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html) +[Refer to the official documentation.](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-shared.html) -If you are using Amazon EC2 instance to deploy Backstage, you do not need to -obtain the access keys separately. They can be made available in the environment -automatically by defining appropriate IAM role with access to the bucket. Read -more in +If you are deploying Backstage to Amazon EC2, Amazon ECS, or Amazon EKS, you do +not need to obtain the access keys separately. They can be made available in the +environment automatically by defining appropriate IAM role with access to the +bucket. Read more in the [official AWS documentation for using IAM roles.](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html#use-roles). -The AWS Region of the bucket is optional since TechDocs uses AWS SDK V2 and not -V3. - **4b. Authentication using app-config.yaml** AWS credentials and region can be provided to the AWS SDK via `app-config.yaml`. @@ -254,7 +251,7 @@ techdocs: ``` Refer to the -[official AWS documentation for obtaining the credentials](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html). +[official AWS documentation for obtaining the credentials](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html). **4c. Authentication using an assumed role** Users with multiple AWS accounts may want to use a role for S3 storage that is in a different AWS account. Using diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md index 146f160d71..5ec0d6eeab 100644 --- a/docs/getting-started/app-custom-theme.md +++ b/docs/getting-started/app-custom-theme.md @@ -393,6 +393,98 @@ You can add more icons, if the [default icons](https://github.com/backstage/back Note: If the icon is not available as one of the default icons or one you've added then it will fall back to Material UI's `LanguageIcon` +## Custom Sidebar + +As you've seen there are many ways that you can customize your Backstage app. The following section will show you how you can customize the sidebar. + +### Sidebar Sub-menu + +For this example we'll show you how you can expand the sidebar with a sub-menu: + +1. Open the `Root.tsx` file located in `packages/app/src/components/Root` as this is where the sidebar code lives +2. Then we want to add the following imports for the icons: + + ```ts + import ApiIcon from '@material-ui/icons/Extension'; + import ComponentIcon from '@material-ui/icons/Memory'; + import DomainIcon from '@material-ui/icons/Apartment'; + import ResourceIcon from '@material-ui/icons/Work'; + import SystemIcon from '@material-ui/icons/Category'; + import UserIcon from '@material-ui/icons/Person'; + ``` + +3. Then update the `@backstage/core-components` import like this: + + ```diff + import { + Sidebar, + sidebarConfig, + SidebarDivider, + SidebarGroup, + SidebarItem, + SidebarPage, + SidebarScrollWrapper, + SidebarSpace, + useSidebarOpenState, + Link, + + GroupIcon, + + SidebarSubmenu, + + SidebarSubmenuItem, + } from '@backstage/core-components'; + ``` + +4. Finally replace `` with this: + + ```ts + + + + + + + + + + + + + + ``` + +When you startup your Backstage app and hover over the Home option on the sidebar you'll now see a nice sub-menu appear with links to the various Kinds in your Catalog. It would look like this: + +![Sidebar sub-menu example](./../assets/getting-started/sidebar-submenu-example.png) + +You can see more ways to use this in the [Storybook Sidebar examples](https://backstage.io/storybook/?path=/story/layout-sidebar--sample-scalable-sidebar) + ## Custom Homepage In addition to a custom theme, a custom logo, you can also customize the diff --git a/docs/getting-started/contributors.md b/docs/getting-started/contributors.md index 1bf3d6bc7d..cda53f8a54 100644 --- a/docs/getting-started/contributors.md +++ b/docs/getting-started/contributors.md @@ -29,8 +29,9 @@ After you have cloned the Backstage repository, you should run the following commands once to set things up for development: ```bash -$ yarn install # fetch dependency packages - may take a while +$ cd backstage # change to root directory of project +$ yarn install # fetch dependency packages - may take a while $ yarn tsc # does a first run of type generation and checks ``` diff --git a/docs/getting-started/homepage.md b/docs/getting-started/homepage.md index eac76b5fdc..2d34998013 100644 --- a/docs/getting-started/homepage.md +++ b/docs/getting-started/homepage.md @@ -78,7 +78,7 @@ const routes = ( ) ``` -### 4. Update sidebar items +#### 4. Update sidebar items Let's update the route for "Home" in the Backstage sidebar to point to the new homepage. We'll also add a Sidebar item to quickly open Catalog. diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md index 4f032901a9..bbbe86a834 100644 --- a/docs/integrations/github/discovery.md +++ b/docs/integrations/github/discovery.md @@ -14,7 +14,7 @@ organization and register entities matching the configured path. This can be useful as an alternative to static locations or manually adding things to the catalog. This is the preferred method for ingesting entities into the catalog. -## Installation +## Installation without Events Support You will have to add the provider in the catalog initialization code of your backend. They are not installed by default, therefore you have to add a @@ -53,6 +53,52 @@ And then add the entity provider to your catalog builder: } ``` +## Installation with Events Support + +Please follow the installation instructions at + +- https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md +- https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-github/README.md + +Additionally, you need to decide how you want to receive events from external sources like + +- [via HTTP endpoint](https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md) +- [via an AWS SQS queue](https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md) + +Set up your provider + +```diff +// packages/backend/src/plugins/catalogEventBasedProviders.ts ++import { GithubEntityProvider } from '@backstage/plugin-catalog-backend-module-github'; + import { EntityProvider } from '@backstage/plugin-catalog-node'; + import { EventSubscriber } from '@backstage/plugin-events-node'; + import { PluginEnvironment } from '../types'; + export default async function createCatalogEventBasedProviders( +- _: PluginEnvironment, ++ env: PluginEnvironment, + ): Promise> { + const providers: Array< + (EntityProvider & EventSubscriber) | Array + > = []; +- // add your event-based entity providers here ++ providers.push( ++ GithubEntityProvider.fromConfig(env.config, { ++ logger: env.logger, ++ // optional: alternatively, use scheduler with schedule defined in app-config.yaml ++ schedule: env.scheduler.createScheduledTaskRunner({ ++ frequency: { minutes: 30 }, ++ timeout: { minutes: 3 }, ++ }), ++ // optional: alternatively, use schedule ++ scheduler: env.scheduler, ++ }), ++ ); + return providers.flat(); + } +``` + +You can check the official docs to [configure your webhook](https://docs.github.com/en/developers/webhooks-and-events/webhooks/creating-webhooks) and to [secure your request](https://docs.github.com/en/developers/webhooks-and-events/webhooks/securing-your-webhooks). The webhook will need to be configured to forward `push` events. + ## Configuration To use the discovery provider, you'll need a GitHub integration diff --git a/docs/releases/v1.9.0-next.0-changelog.md b/docs/releases/v1.9.0-next.0-changelog.md new file mode 100644 index 0000000000..690bf60ceb --- /dev/null +++ b/docs/releases/v1.9.0-next.0-changelog.md @@ -0,0 +1,2305 @@ +# Release v1.9.0-next.0 + +## @backstage/catalog-client@1.2.0-next.0 + +### Minor Changes + +- 00d90b520a: **BREAKING PRODUCERS**: Added a new `getEntitiesByRefs` endpoint to `CatalogApi`, for efficient batch fetching of entities by ref. + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/repo-tools@0.1.0-next.0 + +### Minor Changes + +- 99713fd671: Introducing repo-tools package + +### Patch Changes + +- Updated dependencies + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend@1.6.0-next.0 + +### Minor Changes + +- 16891a212c: Added new `POST /entities/by-refs` endpoint, which allows you to efficiently + batch-fetch entities by their entity ref. This can be useful e.g. in graphql + resolvers or similar contexts where you need to fetch many entities at the same + time. + +### Patch Changes + +- d8593ce0e6: Do not use deprecated `LocationSpec` from the `@backstage/plugin-catalog-node` package +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- e982f77fe3: Registered shutdown hook in experimental catalog plugin. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-events-backend@0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: **BREAKING:** Remove required field `router` at `HttpPostIngressEventPublisher.fromConfig` + and replace it with `bind(router: Router)`. + Additionally, the path prefix `/http` will be added inside `HttpPostIngressEventPublisher`. + + ```diff + // at packages/backend/src/plugins/events.ts + const eventsRouter = Router(); + - const httpRouter = Router(); + - eventsRouter.use('/http', httpRouter); + + const http = HttpPostIngressEventPublisher.fromConfig({ + config: env.config, + logger: env.logger, + - router: httpRouter, + }); + + http.bind(eventsRouter); + ``` + +### Patch Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-events-node@0.2.0-next.0 + +### Minor Changes + +- cf41eedf43: Introduce a new interface `RequestDetails` to abstract `Request` + providing access to request body and headers. + + **BREAKING:** Replace `request: Request` with `request: RequestDetails` at `RequestValidator`. + +### Patch Changes + +- Updated dependencies + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-scaffolder@1.9.0-next.0 + +### Minor Changes + +- ddd1c3308d: Implement Custom Field Explorer to view and play around with available installed custom field extensions +- adb1b01e32: Adds the ability to supply a `transformErrors` function to the `Stepper` for `/next` + +### Patch Changes + +- d4d07cf55e: Enabling the customization of the last step in the scaffolder template. + + To override the content you have to do the next: + + ```typescript jsx + + ``` + +- ef803022f1: Initialize all `formData` in the `Stepper` in `/next` + +- 3280711113: Updated dependency `msw` to `^0.49.0`. + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. + +- a63e2df559: fixed `headerOptions` not passed to `TemplatePage` component + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + +## @backstage/plugin-user-settings@0.6.0-next.0 + +### Minor Changes + +- 29bdda5442: Added the ability to fully customize settings page. Deprecated UserSettingsTab in favour of SettingsLayout.Route + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/app-defaults@1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/backend-app-api@0.2.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` implementation. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-common@0.16.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-defaults@0.1.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` to default service factories. +- Updated dependencies + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/backend-plugin-api@0.1.5-next.0 + +### Patch Changes + +- d6dbf1792b: Added initial support for registering shutdown hooks via `lifecycleServiceRef`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/backend-tasks@0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/backend-test-utils@0.1.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/catalog-model@1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/cli@0.21.2-next.0 + +### Patch Changes + +- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention +- 459a3457e1: Bump `msw` version in default plugin/app templates +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/release-manifests@0.0.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/config@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/config-loader@1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/core-app-api@1.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/core-components@0.12.1-next.0 + +### Patch Changes + +- ea4a5be8f3: Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained. +- 64a579a998: Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + +## @backstage/core-plugin-api@1.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/create-app@0.4.35-next.0 + +### Patch Changes + +- Bumped create-app version. +- Updated dependencies + - @backstage/cli-common@0.1.10 + +## @backstage/dev-utils@1.0.9-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/errors@1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/integration@1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 34b039ca9f: Added `integrations.github.apps.allowedInstallationOwners` to the configuration schema. +- Updated dependencies + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/integration-react@1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/release-manifests@0.0.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. + +## @techdocs/cli@1.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + +## @backstage/test-utils@1.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/types@1.0.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. + +## @backstage/plugin-adr@0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-adr-backend@0.2.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-adr-common@0.2.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-adr-common@0.2.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-airbrake@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/dev-utils@1.0.9-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-airbrake-backend@0.2.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-allure@0.1.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-analytics-module-ga@0.1.23-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-apache-airflow@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + +## @backstage/plugin-api-docs@0.8.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-apollo-explorer@0.1.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-app-backend@0.3.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config-loader@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-auth-backend@0.17.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-auth-node@0.2.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-azure-devops@0.2.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-devops-backend@0.3.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-devops-common@0.3.0 + +## @backstage/plugin-azure-sites@0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-azure-sites-backend@0.1.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-azure-sites-common@0.1.0 + +## @backstage/plugin-badges@0.2.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-badges-backend@0.1.33-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bazaar@0.2.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bazaar-backend@0.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/integration@1.4.1-next.0 + +## @backstage/plugin-bitrise@0.1.39-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-catalog@1.6.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 387d1d5218: Fixed Entity kind pluralisation in the `CatalogKindHeader` component. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-catalog-backend-module-aws@0.1.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-azure@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket@0.2.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-bitbucket-cloud-common@0.2.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-gerrit@0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-github@0.2.2-next.0 + +### Patch Changes + +- 70fa5ec3ec: Fixes the assignment of group member references in `GithubMultiOrgProcessor` so membership relations are resolved correctly. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 754b5854df: Fix incorrectly exported GithubOrgEntityProvider as a type +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-gitlab@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-ldap@0.5.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-catalog-backend-module-msgraph@0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-backend-module-openapi@0.1.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-common@1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-catalog-graph@0.2.24-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-catalog-graphql@0.3.16-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-catalog-import@0.9.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-node@1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-catalog-react@1.2.2-next.0 + +### Patch Changes + +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + +## @backstage/plugin-cicd-statistics@0.1.14-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-cicd-statistics-module-gitlab@0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/plugin-cicd-statistics@0.1.14-next.0 + +## @backstage/plugin-circleci@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-cloudbuild@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-climate@0.1.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-coverage@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-code-coverage-backend@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-codescene@0.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-config-schema@0.1.35-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-cost-insights@0.12.1-next.0 + +### Patch Changes + +- f9bbb3be37: Provide the ability to change the base currency from USD to any other currency in cost insights plugin +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-cost-insights-common@0.1.1 + +## @backstage/plugin-dynatrace@1.0.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-events-backend-module-aws-sqs@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-events-backend-module-azure@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-gerrit@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-github@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-module-gitlab@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + +## @backstage/plugin-events-backend-test-utils@0.1.1-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-events-node@0.2.0-next.0 + +## @backstage/plugin-explore@0.3.43-next.0 + +### Patch Changes + +- ea4a5be8f3: Adds styling to graph forcing it to always fill out the available space. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-explore-react@0.0.24-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-explore-react@0.0.24-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + +## @backstage/plugin-firehydrant@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-fossa@0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gcalendar@0.3.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gcp-projects@0.3.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-git-release-manager@0.3.25-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-actions@0.5.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-deployments@0.1.43-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-issues@0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-github-pull-requests-board@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gitops-profiles@0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-gocd@0.1.18-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-graphiql@0.2.44-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-graphql-backend@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-catalog-graphql@0.3.16-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-home@0.4.28-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-ilert@0.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-jenkins@0.7.11-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + +## @backstage/plugin-jenkins-backend@0.1.29-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-jenkins-common@0.1.11-next.0 + +## @backstage/plugin-jenkins-common@0.1.11-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + +## @backstage/plugin-kafka@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-kafka-backend@0.2.32-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-kubernetes@0.7.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-kubernetes-backend@0.8.1-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-kubernetes-common@0.4.5-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-kubernetes-common@0.4.5-next.0 + +### Patch Changes + +- b585179770: Added Kubernetes proxy API route to backend Kubernetes plugin, allowing Backstage plugin developers to read/write new information from Kubernetes (if proper credentials are provided). +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-lighthouse@0.3.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-newrelic@0.3.30-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-org@0.6.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-org-react@0.1.1-next.0 + +### Patch Changes + +- 4cb5066828: Bug fixes and adding the possibility to add a default value for the `GroupListPicker`. Fixes: Vertical size jump on text entry, left align for text, selecting a value closes the popup, auto focus on the popup when opening +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-pagerduty@0.5.5-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-periskop@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-periskop-backend@0.1.10-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-permission-backend@0.5.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-common@0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-node@0.7.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-permission-react@0.4.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-playlist@0.1.3-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-playlist-backend@0.2.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-playlist-common@0.1.3-next.0 + +## @backstage/plugin-playlist-common@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + +## @backstage/plugin-proxy-backend@0.2.33-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-rollbar@0.4.12-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-rollbar-backend@0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-scaffolder-backend@1.8.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 26404430bc: Use Json types from @backstage/types +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-scaffolder-common@1.2.3-next.0 + +## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.12-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + +## @backstage/plugin-scaffolder-common@1.2.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + +## @backstage/plugin-search@1.0.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-search-backend@1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-backend-node@1.0.5-next.0 + +### Patch Changes + +- a962ce0551: Wait for indexer initialization before finalizing indexing. +- 683ced83f6: Fixed a bug that could cause a `max listeners exceeded warning` to be logged when more than 10 collators were running simultaneously. +- 81b1e7b0fe: Updated indexer and decorator base classes to take advantage of features introduced in Node.js v16; be sure you are running a [supported version of Node.js](https://backstage.io/docs/releases/v1.8.0#node-16-and-18). +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-search-common@1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + +## @backstage/plugin-search-react@1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-sentry@0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-shortcuts@0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-sonarqube@0.5.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-sonarqube-backend@0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-splunk-on-call@0.4.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-stack-overflow@0.1.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-stack-overflow-backend@0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-tech-insights@0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + +## @backstage/plugin-tech-insights-backend@0.5.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## @backstage/plugin-tech-insights-common@0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + +## @backstage/plugin-tech-insights-node@0.3.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + +## @backstage/plugin-tech-radar@0.5.19-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-techdocs@1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-techdocs-addons-test-utils@1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-react@1.2.2-next.0 + +## @backstage/plugin-techdocs-backend@1.4.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + +## @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 8536e7c281: Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-techdocs-node@1.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + +## @backstage/plugin-techdocs-react@1.0.7-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + +## @backstage/plugin-todo@0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-todo-backend@0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-user-settings-backend@0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-vault@0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## @backstage/plugin-vault-backend@0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 7a3d2688ed: Use `express-promise-router` to catch errors properly. + Add `403` error as a known one. It will now return a `NotAllowed` error. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @backstage/plugin-xcmetrics@0.2.32-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + +## example-app@0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.2.24-next.0 + - @backstage/plugin-pagerduty@0.5.5-next.0 + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/plugin-scaffolder@1.9.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/plugin-cost-insights@0.12.1-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/plugin-user-settings@0.6.0-next.0 + - @backstage/plugin-explore@0.3.43-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-airbrake@0.3.12-next.0 + - @backstage/plugin-apache-airflow@0.2.5-next.0 + - @backstage/plugin-api-docs@0.8.12-next.0 + - @backstage/plugin-azure-devops@0.2.3-next.0 + - @backstage/plugin-azure-sites@0.1.1-next.0 + - @backstage/plugin-badges@0.2.36-next.0 + - @backstage/plugin-catalog-import@0.9.2-next.0 + - @backstage/plugin-circleci@0.3.12-next.0 + - @backstage/plugin-cloudbuild@0.3.12-next.0 + - @backstage/plugin-code-coverage@0.2.5-next.0 + - @backstage/plugin-dynatrace@1.0.2-next.0 + - @backstage/plugin-gcalendar@0.3.8-next.0 + - @backstage/plugin-gcp-projects@0.3.31-next.0 + - @backstage/plugin-github-actions@0.5.12-next.0 + - @backstage/plugin-gocd@0.1.18-next.0 + - @backstage/plugin-graphiql@0.2.44-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/plugin-jenkins@0.7.11-next.0 + - @backstage/plugin-kafka@0.3.12-next.0 + - @backstage/plugin-kubernetes@0.7.5-next.0 + - @backstage/plugin-lighthouse@0.3.12-next.0 + - @backstage/plugin-newrelic@0.3.30-next.0 + - @backstage/plugin-org@0.6.1-next.0 + - @backstage/plugin-playlist@0.1.3-next.0 + - @backstage/plugin-rollbar@0.4.12-next.0 + - @backstage/plugin-search@1.0.5-next.0 + - @backstage/plugin-sentry@0.4.5-next.0 + - @backstage/plugin-shortcuts@0.3.4-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-tech-insights@0.3.4-next.0 + - @backstage/plugin-tech-radar@0.5.19-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-todo@0.2.14-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + - @internal/plugin-catalog-customized@0.0.5-next.0 + +## example-backend@0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-backend@0.2.0-next.0 + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/plugin-auth-backend@0.17.2-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-azure-devops-backend@0.3.18-next.0 + - @backstage/plugin-azure-sites-backend@0.1.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.5-next.0 + - @backstage/plugin-graphql-backend@0.1.29-next.0 + - @backstage/plugin-jenkins-backend@0.1.29-next.0 + - @backstage/plugin-permission-backend@0.5.14-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/plugin-playlist-backend@0.2.2-next.0 + - @backstage/plugin-proxy-backend@0.2.33-next.0 + - @backstage/plugin-rollbar-backend@0.1.36-next.0 + - @backstage/plugin-techdocs-backend@1.4.2-next.0 + - @backstage/plugin-todo-backend@0.1.36-next.0 + - @backstage/plugin-kubernetes-backend@0.8.1-next.0 + - example-app@0.2.78-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + - @backstage/plugin-badges-backend@0.1.33-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/plugin-tech-insights-backend@0.5.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-kafka-backend@0.2.32-next.0 + - @backstage/plugin-search-backend@1.1.2-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + - @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + +## example-backend-next@0.0.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/backend-defaults@0.1.4-next.0 + +## techdocs-cli-embedded-app@0.2.77-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + +## @internal/plugin-catalog-customized@0.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + +## @internal/plugin-todo-list@1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + +## @internal/plugin-todo-list-backend@1.0.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + +## @internal/plugin-todo-list-common@1.0.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 diff --git a/microsite/data/plugins/azure-spring-apps.yml b/microsite/data/plugins/azure-spring-apps.yml new file mode 100644 index 0000000000..cefb0e2824 --- /dev/null +++ b/microsite/data/plugins/azure-spring-apps.yml @@ -0,0 +1,10 @@ +--- +title: 'Azure Spring Apps' +author: Enfuse +authorUrl: https://enfuse.io/ +category: Discovery +description: Easily view your Azure Spring Apps service resources +documentation: https://github.com/enfuse/asae-backstage-plugin/blob/main/README.md +iconUrl: img/azure-spring-apps.png +npmPackageName: '@enfuse/plugin-azure-spring-apps' +addedDate: '2022-11-21' diff --git a/microsite/data/plugins/cloudsmith.yaml b/microsite/data/plugins/cloudsmith.yaml new file mode 100644 index 0000000000..5fc417eec1 --- /dev/null +++ b/microsite/data/plugins/cloudsmith.yaml @@ -0,0 +1,13 @@ +--- +title: Cloudsmith +author: Roadie +authorUrl: https://roadie.io +category: CI/CD +description: Show Cloudsmith Repository stats on your backstage homepage. +documentation: https://github.com/RoadieHQ/roadie-backstage-plugins/tree/main/plugins/frontend/backstage-plugin-cloudsmith +iconUrl: https://cloudsmith.com/img/cloudsmith-mini-dark.svg +npmPackageName: '@roadiehq/backstage-plugin-cloudsmith' +tags: + - dashboards + - monitoring +addedDate: '2022-11-18' diff --git a/microsite/static/img/enfuse.png b/microsite/static/img/enfuse.png new file mode 100644 index 0000000000..42124a4a24 Binary files /dev/null and b/microsite/static/img/enfuse.png differ diff --git a/microsite/yarn.lock b/microsite/yarn.lock index 1fa6e492cb..f0e6bd698a 100644 --- a/microsite/yarn.lock +++ b/microsite/yarn.lock @@ -7393,11 +7393,11 @@ __metadata: linkType: hard "prettier@npm:^2.6.2": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" + version: 2.8.0 + resolution: "prettier@npm:2.8.0" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 languageName: node linkType: hard diff --git a/package.json b/package.json index 2f20eeeee3..ad75fcdec3 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "build:backend": "yarn workspace backend build", "build:all": "backstage-cli repo build --all", "build:api-reports": "yarn build:api-reports:only --tsc", - "build:api-reports:only": "ts-node -T -P scripts/tsconfig.json scripts/api-extractor.ts", + "build:api-reports:only": "backstage-repo-tools api-reports", "build:api-docs": "LANG=en_EN yarn build:api-reports --docs", "tsc": "tsc", "tsc:full": "backstage-cli repo clean && tsc --skipLibCheck false --incremental false", @@ -21,7 +21,7 @@ "lint": "backstage-cli repo lint --since origin/master", "lint:docs": "node ./scripts/check-docs-quality", "lint:all": "backstage-cli repo lint", - "lint:type-deps": "node scripts/check-type-dependencies.js", + "lint:type-deps": "backstage-repo-tools type-deps", "docker-build": "yarn tsc && yarn workspace example-backend build --build-dependencies && yarn workspace example-backend build-image", "new": "backstage-cli new --scope backstage --baseVersion 0.0.0 --no-private", "create-plugin": "echo \"use 'yarn new' instead\"", @@ -46,19 +46,16 @@ "@types/react": "^17", "@types/react-dom": "^17" }, - "version": "1.8.0", + "version": "1.9.0-next.0", "dependencies": { "@backstage/errors": "workspace:^", - "@manypkg/get-packages": "^1.1.3", - "@microsoft/api-documenter": "^7.17.11", - "@microsoft/api-extractor": "^7.23.0", - "@microsoft/api-extractor-model": "^7.17.2", - "@microsoft/tsdoc": "^0.14.1" + "@manypkg/get-packages": "^1.1.3" }, "devDependencies": { "@backstage/cli": "workspace:*", "@backstage/codemods": "workspace:*", "@backstage/create-app": "workspace:*", + "@backstage/repo-tools": "workspace:*", "@changesets/cli": "^2.14.0", "@octokit/rest": "^19.0.3", "@spotify/prettier-config": "^14.0.0", diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md index ebe8519740..ab34404847 100644 --- a/packages/app-defaults/CHANGELOG.md +++ b/packages/app-defaults/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/app-defaults +## 1.0.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-permission-react@0.4.8-next.0 + ## 1.0.8 ### Patch Changes diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json index e89757d925..10cbea0824 100644 --- a/packages/app-defaults/package.json +++ b/packages/app-defaults/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/app-defaults", "description": "Provides the default wiring of a Backstage App", - "version": "1.0.8", + "version": "1.0.9-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index 69860075a1..2d7cce1b6d 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,68 @@ # example-app +## 0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-catalog-graph@0.2.24-next.0 + - @backstage/plugin-pagerduty@0.5.5-next.0 + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/plugin-scaffolder@1.9.0-next.0 + - @backstage/cli@0.21.2-next.0 + - @backstage/plugin-cost-insights@0.12.1-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/plugin-user-settings@0.6.0-next.0 + - @backstage/plugin-explore@0.3.43-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/plugin-airbrake@0.3.12-next.0 + - @backstage/plugin-apache-airflow@0.2.5-next.0 + - @backstage/plugin-api-docs@0.8.12-next.0 + - @backstage/plugin-azure-devops@0.2.3-next.0 + - @backstage/plugin-azure-sites@0.1.1-next.0 + - @backstage/plugin-badges@0.2.36-next.0 + - @backstage/plugin-catalog-import@0.9.2-next.0 + - @backstage/plugin-circleci@0.3.12-next.0 + - @backstage/plugin-cloudbuild@0.3.12-next.0 + - @backstage/plugin-code-coverage@0.2.5-next.0 + - @backstage/plugin-dynatrace@1.0.2-next.0 + - @backstage/plugin-gcalendar@0.3.8-next.0 + - @backstage/plugin-gcp-projects@0.3.31-next.0 + - @backstage/plugin-github-actions@0.5.12-next.0 + - @backstage/plugin-gocd@0.1.18-next.0 + - @backstage/plugin-graphiql@0.2.44-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/plugin-jenkins@0.7.11-next.0 + - @backstage/plugin-kafka@0.3.12-next.0 + - @backstage/plugin-kubernetes@0.7.5-next.0 + - @backstage/plugin-lighthouse@0.3.12-next.0 + - @backstage/plugin-newrelic@0.3.30-next.0 + - @backstage/plugin-org@0.6.1-next.0 + - @backstage/plugin-playlist@0.1.3-next.0 + - @backstage/plugin-rollbar@0.4.12-next.0 + - @backstage/plugin-search@1.0.5-next.0 + - @backstage/plugin-sentry@0.4.5-next.0 + - @backstage/plugin-shortcuts@0.3.4-next.0 + - @backstage/plugin-stack-overflow@0.1.8-next.0 + - @backstage/plugin-tech-insights@0.3.4-next.0 + - @backstage/plugin-tech-radar@0.5.19-next.0 + - @backstage/plugin-techdocs-module-addons-contrib@1.0.7-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-todo@0.2.14-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/app-defaults@1.0.9-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-newrelic-dashboard@0.2.5-next.0 + - @backstage/plugin-permission-react@0.4.8-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + - @internal/plugin-catalog-customized@0.0.5-next.0 + ## 0.2.77 ### Patch Changes diff --git a/packages/app/package.json b/packages/app/package.json index 9978a0d515..171151f843 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "example-app", - "version": "0.2.77", + "version": "0.2.78-next.0", "private": true, "backstage": { "role": "frontend" diff --git a/packages/app/src/components/Root/Root.tsx b/packages/app/src/components/Root/Root.tsx index 41e5b15db9..8cec54326a 100644 --- a/packages/app/src/components/Root/Root.tsx +++ b/packages/app/src/components/Root/Root.tsx @@ -47,12 +47,21 @@ import { SidebarSpace, Link, useSidebarOpenState, + SidebarSubmenu, + SidebarSubmenuItem, } from '@backstage/core-components'; import { MyGroupsSidebarItem } from '@backstage/plugin-org'; import GroupIcon from '@material-ui/icons/People'; import { SearchModal } from '../search/SearchModal'; import Score from '@material-ui/icons/Score'; +import ApiIcon from '@material-ui/icons/Extension'; +import ComponentIcon from '@material-ui/icons/Memory'; +import DomainIcon from '@material-ui/icons/Apartment'; +import ResourceIcon from '@material-ui/icons/Work'; +import SystemIcon from '@material-ui/icons/Category'; +import UserIcon from '@material-ui/icons/Person'; + const useSidebarLogoStyles = makeStyles({ root: { width: sidebarConfig.drawerWidthClosed, @@ -93,7 +102,47 @@ export const Root = ({ children }: PropsWithChildren<{}>) => ( }> {/* Global nav, not org-specific */} - + + + + + + + + + + + + + { return ( - {!isMobile &&
} />} + {!isMobile &&
} diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md index 15e4a6942d..22f29c3fd2 100644 --- a/packages/backend-app-api/CHANGELOG.md +++ b/packages/backend-app-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-app-api +## 0.2.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` implementation. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.3 ### Patch Changes diff --git a/packages/backend-app-api/api-report.md b/packages/backend-app-api/api-report.md index 4d9fbea4a5..5008b1efe1 100644 --- a/packages/backend-app-api/api-report.md +++ b/packages/backend-app-api/api-report.md @@ -4,6 +4,7 @@ ```ts import { BackendFeature } from '@backstage/backend-plugin-api'; +import { BackendLifecycle } from '@backstage/backend-plugin-api'; import { Config } from '@backstage/config'; import { ExtensionPoint } from '@backstage/backend-plugin-api'; import { HttpRouterService } from '@backstage/backend-plugin-api'; @@ -66,6 +67,11 @@ export type HttpRouterFactoryOptions = { indexPlugin?: string; }; +// @public +export const lifecycleFactory: ( + options?: undefined, +) => ServiceFactory; + // @public (undocumented) export const loggerFactory: (options?: undefined) => ServiceFactory; diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json index c25105fc6c..75517acad1 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.2.3", + "version": "0.2.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-app-api/src/services/implementations/index.ts b/packages/backend-app-api/src/services/implementations/index.ts index 608399bad9..2c26097f48 100644 --- a/packages/backend-app-api/src/services/implementations/index.ts +++ b/packages/backend-app-api/src/services/implementations/index.ts @@ -25,4 +25,5 @@ export { schedulerFactory } from './schedulerService'; export { tokenManagerFactory } from './tokenManagerService'; export { urlReaderFactory } from './urlReaderService'; export { httpRouterFactory } from './httpRouterService'; +export { lifecycleFactory } from './lifecycleService'; export type { HttpRouterFactoryOptions } from './httpRouterService'; diff --git a/packages/backend-app-api/src/services/implementations/lifecycleService.test.ts b/packages/backend-app-api/src/services/implementations/lifecycleService.test.ts new file mode 100644 index 0000000000..c0b69a3bef --- /dev/null +++ b/packages/backend-app-api/src/services/implementations/lifecycleService.test.ts @@ -0,0 +1,47 @@ +/* + * Copyright 2022 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { getVoidLogger } from '@backstage/backend-common'; +import { BackendLifecycleImpl } from './lifecycleService'; + +describe('lifecycleService', () => { + it('should execute registered shutdown hook', async () => { + const service = new BackendLifecycleImpl(getVoidLogger()); + const hook = jest.fn(); + service.addShutdownHook({ + pluginId: 'test', + fn: async () => { + hook(); + }, + }); + // should not execute the hook more than once. + await service.shutdown(); + await service.shutdown(); + await service.shutdown(); + expect(hook).toHaveBeenCalledTimes(1); + }); + + it('should not throw errors', async () => { + const service = new BackendLifecycleImpl(getVoidLogger()); + service.addShutdownHook({ + pluginId: 'test', + fn: async () => { + throw new Error('oh no'); + }, + }); + await expect(service.shutdown()).resolves.toBeUndefined(); + }); +}); diff --git a/packages/backend-app-api/src/services/implementations/lifecycleService.ts b/packages/backend-app-api/src/services/implementations/lifecycleService.ts new file mode 100644 index 0000000000..7d41a7a276 --- /dev/null +++ b/packages/backend-app-api/src/services/implementations/lifecycleService.ts @@ -0,0 +1,96 @@ +/* + * 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 { + BackendLifecycle, + createServiceFactory, + lifecycleServiceRef, + loggerToWinstonLogger, + pluginMetadataServiceRef, + rootLoggerServiceRef, + BackendLifecycleShutdownHook, +} from '@backstage/backend-plugin-api'; +import { Logger } from 'winston'; + +const CALLBACKS = ['SIGTERM', 'SIGINT', 'beforeExit']; +export class BackendLifecycleImpl { + constructor(private readonly logger: Logger) { + CALLBACKS.map(signal => process.on(signal, () => this.shutdown())); + } + + #isCalled = false; + #shutdownTasks: Array = + []; + + addShutdownHook( + options: BackendLifecycleShutdownHook & { pluginId: string }, + ): void { + this.#shutdownTasks.push(options); + } + + async shutdown(): Promise { + if (this.#isCalled) { + return; + } + this.#isCalled = true; + + this.logger.info(`Running ${this.#shutdownTasks.length} shutdown tasks...`); + await Promise.all( + this.#shutdownTasks.map(hook => + Promise.resolve() + .then(() => hook.fn()) + .catch(e => { + this.logger.error( + `Shutdown hook registered by plugin '${hook.pluginId}' failed with: ${e}`, + ); + }) + .then(() => + this.logger.info( + `Successfully ran shutdown hook registered by plugin ${hook.pluginId}`, + ), + ), + ), + ); + } +} + +class PluginScopedLifecycleImpl implements BackendLifecycle { + constructor( + private readonly lifecycle: BackendLifecycleImpl, + private readonly pluginId: string, + ) {} + addShutdownHook(options: BackendLifecycleShutdownHook): void { + this.lifecycle.addShutdownHook({ ...options, pluginId: this.pluginId }); + } +} + +/** + * Allows plugins to register shutdown hooks that are run when the process is about to exit. + * @public */ +export const lifecycleFactory = createServiceFactory({ + service: lifecycleServiceRef, + deps: { + logger: rootLoggerServiceRef, + plugin: pluginMetadataServiceRef, + }, + async factory({ logger }) { + const rootLifecycle = new BackendLifecycleImpl( + loggerToWinstonLogger(logger), + ); + return async ({ plugin }) => { + return new PluginScopedLifecycleImpl(rootLifecycle, plugin.getId()); + }; + }, +}); diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md index ca2fca26dc..66f505399d 100644 --- a/packages/backend-common/CHANGELOG.md +++ b/packages/backend-common/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/backend-common +## 0.16.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.16.0 ### Minor Changes diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md index e8dbd8d150..a063815056 100644 --- a/packages/backend-common/api-report.md +++ b/packages/backend-common/api-report.md @@ -28,6 +28,7 @@ import { GitLabIntegration } from '@backstage/integration'; import { isChildPath } from '@backstage/cli-common'; import { JsonValue } from '@backstage/types'; import { Knex } from 'knex'; +import { KubeConfig } from '@kubernetes/client-node'; import { LoadConfigOptionsRemote } from '@backstage/config-loader'; import { Logger } from 'winston'; import { MergeResult } from 'isomorphic-git'; @@ -37,6 +38,7 @@ import { ReadCommitResult } from 'isomorphic-git'; import { RequestHandler } from 'express'; import { Router } from 'express'; import { Server } from 'http'; +import { V1PodTemplateSpec } from '@kubernetes/client-node'; import * as winston from 'winston'; import { Writable } from 'stream'; @@ -474,6 +476,29 @@ export { isChildPath }; // @public export function isDatabaseConflictError(e: unknown): boolean; +// @public +export class KubernetesContainerRunner implements ContainerRunner { + constructor(options: KubernetesContainerRunnerOptions); + // (undocumented) + runContainer(options: RunContainerOptions): Promise; +} + +// @public +export type KubernetesContainerRunnerMountBase = { + volumeName: string; + basePath: string; +}; + +// @public +export type KubernetesContainerRunnerOptions = { + kubeConfig: KubeConfig; + name: string; + namespace?: string; + mountBase?: KubernetesContainerRunnerMountBase; + podTemplate?: V1PodTemplateSpec; + timeoutMs?: number; +}; + // @public export function loadBackendConfig(options: { logger: Logger; diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json index c703405719..9fadc0aeb7 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.16.0", + "version": "0.16.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -117,7 +117,7 @@ "better-sqlite3": "^7.5.0", "http-errors": "^2.0.0", "mock-fs": "^5.1.0", - "msw": "^0.48.0", + "msw": "^0.49.0", "mysql2": "^2.2.5", "recursive-readdir": "^2.2.2", "supertest": "^6.1.3" diff --git a/packages/backend-common/src/discovery/SingleHostDiscovery.test.ts b/packages/backend-common/src/discovery/SingleHostDiscovery.test.ts new file mode 100644 index 0000000000..ce4a5ae261 --- /dev/null +++ b/packages/backend-common/src/discovery/SingleHostDiscovery.test.ts @@ -0,0 +1,84 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { ConfigReader } from '@backstage/config'; +import { SingleHostDiscovery } from './SingleHostDiscovery'; + +describe('SingleHostDiscovery', () => { + it('is created from config', async () => { + const discovery = SingleHostDiscovery.fromConfig( + new ConfigReader({ + backend: { + baseUrl: 'http://localhost:40', + listen: { port: 80, host: 'localhost' }, + }, + }), + ); + + await expect(discovery.getBaseUrl('catalog')).resolves.toBe( + 'http://localhost:80/api/catalog', + ); + await expect(discovery.getExternalBaseUrl('catalog')).resolves.toBe( + 'http://localhost:40/api/catalog', + ); + }); + + it('can configure the base path', async () => { + const discovery = SingleHostDiscovery.fromConfig( + new ConfigReader({ + backend: { + baseUrl: 'http://localhost:40', + listen: { port: 80, host: 'localhost' }, + }, + }), + { basePath: '/service' }, + ); + + await expect(discovery.getBaseUrl('catalog')).resolves.toBe( + 'http://localhost:80/service/catalog', + ); + await expect(discovery.getExternalBaseUrl('catalog')).resolves.toBe( + 'http://localhost:40/service/catalog', + ); + }); + + it.each([ + [{ listen: ':80' }, 'http://localhost:80'], + [{ listen: ':40', https: true }, 'https://localhost:40'], + [{ listen: '127.0.0.1:80' }, 'http://127.0.0.1:80'], + [{ listen: '127.0.0.1:80', https: true }, 'https://127.0.0.1:80'], + [{ listen: '0.0.0.0:40' }, 'http://127.0.0.1:40'], + [{ listen: { port: 80 } }, 'http://localhost:80'], + [{ listen: { port: 8000 } }, 'http://localhost:8000'], + [{ listen: { port: 80, host: '0.0.0.0' } }, 'http://127.0.0.1:80'], + [{ listen: { port: 80, host: '::' } }, 'http://localhost:80'], + [{ listen: { port: 80, host: '::1' } }, 'http://[::1]:80'], + [{ listen: { port: 90, host: '::2' }, https: true }, 'https://[::2]:90'], + ])('resolves internal baseUrl for %j as %s', async (config, expected) => { + const discovery = SingleHostDiscovery.fromConfig( + new ConfigReader({ + backend: { + baseUrl: 'http://localhost:40', + ...config, + }, + }), + ); + + await expect(discovery.getBaseUrl('catalog')).resolves.toBe( + `${expected}/api/catalog`, + ); + }); +}); diff --git a/packages/backend-common/src/discovery/SingleHostDiscovery.ts b/packages/backend-common/src/discovery/SingleHostDiscovery.ts index 2f1e44b293..cc23a2f744 100644 --- a/packages/backend-common/src/discovery/SingleHostDiscovery.ts +++ b/packages/backend-common/src/discovery/SingleHostDiscovery.ts @@ -50,7 +50,7 @@ export class SingleHostDiscovery implements PluginEndpointDiscovery { // Translate bind-all to localhost, and support IPv6 let host = listenHost; - if (host === '::') { + if (host === '::' || host === '') { // We use localhost instead of ::1, since IPv6-compatible systems should default // to using IPv6 when they see localhost, but if the system doesn't support IPv6 // things will still work. diff --git a/packages/backend-common/src/reading/GitlabUrlReader.test.ts b/packages/backend-common/src/reading/GitlabUrlReader.test.ts index 012f8978ae..518e2efadc 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.test.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.test.ts @@ -574,4 +574,86 @@ describe('GitlabUrlReader', () => { ).rejects.toThrow(NotModifiedError); }); }); + + describe('getGitlabFetchUrl', () => { + beforeEach(() => { + worker.use( + rest.get( + '*/api/v4/projects/group%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(200), ctx.json({ id: 12345 })), + ), + ); + }); + it('should fall back to getGitLabFileFetchUrl for blob urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/group/subgroup/project/-/blob/branch/my/path/to/file.yaml', + ), + ).resolves.toEqual( + 'https://gitlab.com/api/v4/projects/12345/repository/files/my%2Fpath%2Fto%2Ffile.yaml/raw?ref=branch', + ); + }); + it('should work for job artifact urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/group/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ).resolves.toEqual( + 'https://gitlab.com/api/v4/projects/12345/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ); + }); + it('should fail on unfamiliar or non-Gitlab urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabFetchUrl( + 'https://gitlab.com/some/random/endpoint', + ), + ).rejects.toThrow('Please provide full path to yaml file from GitLab'); + }); + }); + + describe('getGitlabArtifactFetchUrl', () => { + beforeEach(() => { + worker.use( + rest.get( + '*/api/v4/projects/group%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(200), ctx.json({ id: 12345 })), + ), + ); + worker.use( + rest.get( + '*/api/v4/projects/groupA%2Fsubgroup%2Fproject', + (_, res, ctx) => res(ctx.status(404)), + ), + ); + }); + it('should reject urls that are not for the job artifacts API', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL('https://gitlab.com/some/url'), + ), + ).rejects.toThrow('Unable to process url as an GitLab artifact'); + }); + it('should work for job artifact urls', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL( + 'https://gitlab.com/group/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ), + ).resolves.toEqual( + new URL( + 'https://gitlab.com/api/v4/projects/12345/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ); + }); + it('errors in mapping the project ID should be captured', async () => { + await expect( + (gitlabProcessor as any).getGitlabArtifactFetchUrl( + new URL( + 'https://gitlab.com/groupA/subgroup/project/-/jobs/artifacts/branch/raw/my/path/to/file.yaml?job=myJob', + ), + ), + ).rejects.toThrow(/^Unable to translate GitLab artifact URL:/); + }); + }); }); diff --git a/packages/backend-common/src/reading/GitlabUrlReader.ts b/packages/backend-common/src/reading/GitlabUrlReader.ts index eaa15a7208..522e81cd2f 100644 --- a/packages/backend-common/src/reading/GitlabUrlReader.ts +++ b/packages/backend-common/src/reading/GitlabUrlReader.ts @@ -73,7 +73,7 @@ export class GitlabUrlReader implements UrlReader { options?: ReadUrlOptions, ): Promise { const { etag, signal } = options ?? {}; - const builtUrl = await getGitLabFileFetchUrl(url, this.integration.config); + const builtUrl = await this.getGitlabFetchUrl(url); let response: Response; try { @@ -256,4 +256,66 @@ export class GitlabUrlReader implements UrlReader { const { host, token } = this.integration.config; return `gitlab{host=${host},authed=${Boolean(token)}}`; } + + private async getGitlabFetchUrl(target: string): Promise { + // If the target is for a job artifact then go down that path + const targetUrl = new URL(target); + if (targetUrl.pathname.includes('/-/jobs/artifacts/')) { + return this.getGitlabArtifactFetchUrl(targetUrl).then(value => + value.toString(), + ); + } + // Default to the old behavior of assuming the url is for a file + return getGitLabFileFetchUrl(target, this.integration.config); + } + + // convert urls of the form: + // https://example.com///-/jobs/artifacts//raw/?job= + // to urls of the form: + // https://example.com/api/v4/projects/:id/jobs/artifacts/:ref_name/raw/*artifact_path?job= + private async getGitlabArtifactFetchUrl(target: URL): Promise { + if (!target.pathname.includes('/-/jobs/artifacts/')) { + throw new Error('Unable to process url as an GitLab artifact'); + } + try { + const [namespaceAndProject, ref] = + target.pathname.split('/-/jobs/artifacts/'); + const projectPath = new URL(target); + projectPath.pathname = namespaceAndProject; + const projectId = await this.resolveProjectToId(projectPath); + const relativePath = getGitLabIntegrationRelativePath( + this.integration.config, + ); + const newUrl = new URL(target); + newUrl.pathname = `${relativePath}/api/v4/projects/${projectId}/jobs/artifacts/${ref}`; + return newUrl; + } catch (e) { + throw new Error( + `Unable to translate GitLab artifact URL: ${target}, ${e}`, + ); + } + } + + private async resolveProjectToId(pathToProject: URL): Promise { + let project = pathToProject.pathname; + // Check relative path exist and remove it if so + const relativePath = getGitLabIntegrationRelativePath( + this.integration.config, + ); + if (relativePath) { + project = project.replace(relativePath, ''); + } + // Trim an initial / if it exists + project = project.replace(/^\//, ''); + const result = await fetch( + `${ + pathToProject.origin + }${relativePath}/api/v4/projects/${encodeURIComponent(project)}`, + ); + const data = await result.json(); + if (!result.ok) { + throw new Error(`Gitlab error: ${data.error}, ${data.error_description}`); + } + return Number(data.id); + } } diff --git a/packages/backend-common/src/scm/git.ts b/packages/backend-common/src/scm/git.ts index 0c9252cb64..ea28ffb9b2 100644 --- a/packages/backend-common/src/scm/git.ts +++ b/packages/backend-common/src/scm/git.ts @@ -179,7 +179,7 @@ export class Git { }); } catch (ex) { this.config.logger?.error( - `Failed to fetch repo {dir=${dir},origin=${origin}}`, + `Failed to fetch repo {dir=${dir},remote=${remote}}`, ); if (ex.data) { throw new Error(`${ex.message} {data=${JSON.stringify(ex.data)}}`); diff --git a/packages/backend-common/src/util/KubernetesContainerRunner.ts b/packages/backend-common/src/util/KubernetesContainerRunner.ts index af00351fd1..f3590a0bdc 100644 --- a/packages/backend-common/src/util/KubernetesContainerRunner.ts +++ b/packages/backend-common/src/util/KubernetesContainerRunner.ts @@ -39,7 +39,7 @@ import { Request } from 'request'; * * @public */ -export type MountBaseOptions = { +export type KubernetesContainerRunnerMountBase = { volumeName: string; basePath: string; }; @@ -51,7 +51,7 @@ export type MountBaseOptions = { * and their names will be prefixed with the provided 'name'. * * 'podTemplate' defines a Pod template for the Jobs. It has to include - * a volume definition named as the {@link MountBaseOptions} 'volumeName'. + * a volume definition named as the {@link KubernetesContainerRunnerMountBase} 'volumeName'. * * @public */ @@ -59,7 +59,7 @@ export type KubernetesContainerRunnerOptions = { kubeConfig: KubeConfig; name: string; namespace?: string; - mountBase?: MountBaseOptions; + mountBase?: KubernetesContainerRunnerMountBase; podTemplate?: V1PodTemplateSpec; timeoutMs?: number; }; @@ -77,12 +77,12 @@ export class KubernetesContainerRunner implements ContainerRunner { private readonly log: Log; private readonly name: string; private readonly namespace: string; - private readonly mountBase?: MountBaseOptions; + private readonly mountBase?: KubernetesContainerRunnerMountBase; private readonly podTemplate?: V1PodTemplateSpec; private readonly timeoutMs: number; private readonly containerName = 'executor'; - getNamespace(kubeConfig: KubeConfig, namespace?: string): string { + private getNamespace(kubeConfig: KubeConfig, namespace?: string): string { let _namespace = namespace; if (!_namespace) { _namespace = kubeConfig.getContextObject( @@ -95,10 +95,10 @@ export class KubernetesContainerRunner implements ContainerRunner { return _namespace; } - validateMountBase( - mountBase: MountBaseOptions, + private validateMountBase( + mountBase: KubernetesContainerRunnerMountBase, podTemplate?: V1PodTemplateSpec, - ): MountBaseOptions { + ): KubernetesContainerRunnerMountBase { if ( !podTemplate?.spec?.volumes?.filter(v => v.name === mountBase.volumeName) .length @@ -213,7 +213,7 @@ export class KubernetesContainerRunner implements ContainerRunner { await this.runJob(jobSpec, taskId, logStream); } - handleError(err: any, errorCallback: (reason: any) => void) { + private handleError(err: any, errorCallback: (reason: any) => void) { if (err.code !== 'ECONNRESET' && err.message !== 'aborted') { errorCallback( handleKubernetesError( @@ -224,7 +224,7 @@ export class KubernetesContainerRunner implements ContainerRunner { } } - watchPod( + private watchPod( taskId: string, callback: (pod: V1Pod) => void, errorCallback: (reason: any) => void, @@ -247,7 +247,7 @@ export class KubernetesContainerRunner implements ContainerRunner { ); } - tailLogs( + private tailLogs( taskId: string, logStream: Writable, ): { promise: Promise; close: () => Promise } { @@ -295,7 +295,7 @@ export class KubernetesContainerRunner implements ContainerRunner { return { promise: Promise.race([watchPromise, logPromise]), close }; } - waitPod(taskId: string): { + private waitPod(taskId: string): { promise: Promise; close: () => Promise; } { @@ -322,7 +322,7 @@ export class KubernetesContainerRunner implements ContainerRunner { return { promise, close }; } - async createJob(jobSpec: V1Job): Promise { + private async createJob(jobSpec: V1Job): Promise { return this.batchV1Api .createNamespacedJob(this.namespace, jobSpec) .catch(err => { @@ -333,7 +333,7 @@ export class KubernetesContainerRunner implements ContainerRunner { }); } - async runJob( + private async runJob( jobSpec: V1Job, taskId: string, logStream: Writable, diff --git a/packages/backend-common/src/util/index.ts b/packages/backend-common/src/util/index.ts index ba8074a11e..3e7b762519 100644 --- a/packages/backend-common/src/util/index.ts +++ b/packages/backend-common/src/util/index.ts @@ -16,3 +16,8 @@ export type { ContainerRunner, RunContainerOptions } from './ContainerRunner'; export { DockerContainerRunner } from './DockerContainerRunner'; +export type { + KubernetesContainerRunnerOptions, + KubernetesContainerRunnerMountBase, +} from './KubernetesContainerRunner'; +export { KubernetesContainerRunner } from './KubernetesContainerRunner'; diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md index 1ba1c02e1c..270e946880 100644 --- a/packages/backend-defaults/CHANGELOG.md +++ b/packages/backend-defaults/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/backend-defaults +## 0.1.4-next.0 + +### Patch Changes + +- d6dbf1792b: Added `lifecycleFactory` to default service factories. +- Updated dependencies + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + ## 0.1.3 ### Patch Changes diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json index 8561f3c5d3..74d0b726e5 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.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-defaults/src/CreateBackend.ts b/packages/backend-defaults/src/CreateBackend.ts index b95bd6f35b..9fde31e3bd 100644 --- a/packages/backend-defaults/src/CreateBackend.ts +++ b/packages/backend-defaults/src/CreateBackend.ts @@ -22,6 +22,7 @@ import { databaseFactory, discoveryFactory, httpRouterFactory, + lifecycleFactory, loggerFactory, permissionsFactory, rootLoggerFactory, @@ -43,6 +44,7 @@ export const defaultServiceFactories = [ tokenManagerFactory, urlReaderFactory, httpRouterFactory, + lifecycleFactory, ]; /** diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md index e117ef1120..e8957375cd 100644 --- a/packages/backend-next/CHANGELOG.md +++ b/packages/backend-next/CHANGELOG.md @@ -1,5 +1,15 @@ # example-backend-next +## 0.0.6-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/backend-defaults@0.1.4-next.0 + ## 0.0.5 ### Patch Changes diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 3219adb21f..b8b26d6e61 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -1,6 +1,6 @@ { "name": "example-backend-next", - "version": "0.0.5", + "version": "0.0.6-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md index 2a2cc35141..b33b7ec9a4 100644 --- a/packages/backend-plugin-api/CHANGELOG.md +++ b/packages/backend-plugin-api/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/backend-plugin-api +## 0.1.5-next.0 + +### Patch Changes + +- d6dbf1792b: Added initial support for registering shutdown hooks via `lifecycleServiceRef`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.4 ### Patch Changes diff --git a/packages/backend-plugin-api/api-report.md b/packages/backend-plugin-api/api-report.md index 70ab168053..b73a85c32e 100644 --- a/packages/backend-plugin-api/api-report.md +++ b/packages/backend-plugin-api/api-report.md @@ -24,6 +24,16 @@ export interface BackendFeature { register(reg: BackendRegistrationPoints): void; } +// @public (undocumented) +export interface BackendLifecycle { + addShutdownHook(options: BackendLifecycleShutdownHook): void; +} + +// @public (undocumented) +export type BackendLifecycleShutdownHook = { + fn: () => void | Promise; +}; + // @public (undocumented) export interface BackendModuleConfig { // (undocumented) @@ -158,6 +168,9 @@ export interface HttpRouterService { // @public (undocumented) export const httpRouterServiceRef: ServiceRef; +// @public (undocumented) +export const lifecycleServiceRef: ServiceRef; + // @public (undocumented) export interface Logger { // (undocumented) diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json index 0eee8d8d2f..2e9c0aa6ec 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.1.4", + "version": "0.1.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-plugin-api/src/services/definitions/index.ts b/packages/backend-plugin-api/src/services/definitions/index.ts index e5f032ef60..cf997a344d 100644 --- a/packages/backend-plugin-api/src/services/definitions/index.ts +++ b/packages/backend-plugin-api/src/services/definitions/index.ts @@ -28,4 +28,9 @@ export { permissionsServiceRef } from './permissionsServiceRef'; export { schedulerServiceRef } from './schedulerServiceRef'; export { rootLoggerServiceRef } from './rootLoggerServiceRef'; export { pluginMetadataServiceRef } from './pluginMetadataServiceRef'; +export { lifecycleServiceRef } from './lifecycleServiceRef'; +export type { + BackendLifecycle, + BackendLifecycleShutdownHook, +} from './lifecycleServiceRef'; export type { PluginMetadata } from './pluginMetadataServiceRef'; diff --git a/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts b/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts new file mode 100644 index 0000000000..15610e2643 --- /dev/null +++ b/packages/backend-plugin-api/src/services/definitions/lifecycleServiceRef.ts @@ -0,0 +1,42 @@ +/* + * 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 { createServiceRef } from '../system/types'; + +/** + * @public + **/ +export type BackendLifecycleShutdownHook = { + fn: () => void | Promise; +}; + +/** + * @public + **/ +export interface BackendLifecycle { + /** + * Register a function to be called when the backend is shutting down. + */ + addShutdownHook(options: BackendLifecycleShutdownHook): void; +} + +/** + * @public + */ +export const lifecycleServiceRef = createServiceRef({ + id: 'core.lifecycle', + scope: 'plugin', +}); diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md index 365bcb28ad..3276c0d453 100644 --- a/packages/backend-tasks/CHANGELOG.md +++ b/packages/backend-tasks/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/backend-tasks +## 0.3.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.3.7 ### Patch Changes diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json index b28355a7d6..1e209a4d10 100644 --- a/packages/backend-tasks/package.json +++ b/packages/backend-tasks/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-tasks", "description": "Common distributed task management library for Backstage backends", - "version": "0.3.7", + "version": "0.3.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md index 5422015003..77de87b476 100644 --- a/packages/backend-test-utils/CHANGELOG.md +++ b/packages/backend-test-utils/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/backend-test-utils +## 0.1.31-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/backend-app-api@0.2.4-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-plugin-api@0.1.5-next.0 + - @backstage/config@1.0.5-next.0 + ## 0.1.30 ### Patch Changes diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json index 87da7162d8..6dde2fe3d4 100644 --- a/packages/backend-test-utils/package.json +++ b/packages/backend-test-utils/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/backend-test-utils", "description": "Test helpers library for Backstage backends", - "version": "0.1.30", + "version": "0.1.31-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -41,7 +41,7 @@ "@backstage/config": "workspace:^", "better-sqlite3": "^7.5.0", "knex": "^2.0.0", - "msw": "^0.48.0", + "msw": "^0.49.0", "mysql2": "^2.2.5", "pg": "^8.3.0", "testcontainers": "^8.1.2", diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md index 4b72814000..d30c720c73 100644 --- a/packages/backend/CHANGELOG.md +++ b/packages/backend/CHANGELOG.md @@ -1,5 +1,51 @@ # example-backend +## 0.2.78-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-scaffolder-backend@1.8.1-next.0 + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/plugin-catalog-backend@1.6.0-next.0 + - @backstage/plugin-events-backend@0.2.0-next.0 + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/plugin-events-node@0.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-app-backend@0.3.39-next.0 + - @backstage/plugin-auth-backend@0.17.2-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-azure-devops-backend@0.3.18-next.0 + - @backstage/plugin-azure-sites-backend@0.1.1-next.0 + - @backstage/plugin-code-coverage-backend@0.2.5-next.0 + - @backstage/plugin-graphql-backend@0.1.29-next.0 + - @backstage/plugin-jenkins-backend@0.1.29-next.0 + - @backstage/plugin-permission-backend@0.5.14-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/plugin-playlist-backend@0.2.2-next.0 + - @backstage/plugin-proxy-backend@0.2.33-next.0 + - @backstage/plugin-rollbar-backend@0.1.36-next.0 + - @backstage/plugin-techdocs-backend@1.4.2-next.0 + - @backstage/plugin-todo-backend@0.1.36-next.0 + - @backstage/plugin-kubernetes-backend@0.8.1-next.0 + - example-app@0.2.78-next.0 + - @backstage/plugin-scaffolder-backend-module-rails@0.4.7-next.0 + - @backstage/plugin-badges-backend@0.1.33-next.0 + - @backstage/plugin-catalog-node@1.2.2-next.0 + - @backstage/plugin-tech-insights-backend@0.5.5-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-kafka-backend@0.2.32-next.0 + - @backstage/plugin-search-backend@1.1.2-next.0 + - @backstage/plugin-search-backend-module-elasticsearch@1.0.5-next.0 + - @backstage/plugin-search-backend-module-pg@0.4.3-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.23-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.2.77 ### Patch Changes diff --git a/packages/backend/package.json b/packages/backend/package.json index 8162293228..e7d2d5d7b7 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -1,6 +1,6 @@ { "name": "example-backend", - "version": "0.2.77", + "version": "0.2.78-next.0", "main": "dist/index.cjs.js", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/packages/backend/src/plugins/events.ts b/packages/backend/src/plugins/events.ts index 2ada92a5b6..7427d34217 100644 --- a/packages/backend/src/plugins/events.ts +++ b/packages/backend/src/plugins/events.ts @@ -27,14 +27,12 @@ export default async function createPlugin( subscribers: EventSubscriber[], ): Promise { const eventsRouter = Router(); - const httpRouter = Router(); - eventsRouter.use('/http', httpRouter); const http = HttpPostIngressEventPublisher.fromConfig({ config: env.config, logger: env.logger, - router: httpRouter, }); + http.bind(eventsRouter); await new EventsBackend(env.logger) .addPublishers(http) diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md index ff2f42799f..71f05de695 100644 --- a/packages/catalog-client/CHANGELOG.md +++ b/packages/catalog-client/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/catalog-client +## 1.2.0-next.0 + +### Minor Changes + +- 00d90b520a: **BREAKING PRODUCERS**: Added a new `getEntitiesByRefs` endpoint to `CatalogApi`, for efficient batch fetching of entities by ref. + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.2 ### Patch Changes diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json index 04e35ca670..6093d6a891 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.1.2", + "version": "1.2.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -38,7 +38,7 @@ }, "devDependencies": { "@backstage/cli": "workspace:^", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/packages/catalog-model/CHANGELOG.md b/packages/catalog-model/CHANGELOG.md index c9f5b8f098..0383ec3194 100644 --- a/packages/catalog-model/CHANGELOG.md +++ b/packages/catalog-model/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/catalog-model +## 1.1.4-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.3 ### Patch Changes diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json index 5eaed7c679..4127936c26 100644 --- a/packages/catalog-model/package.json +++ b/packages/catalog-model/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/catalog-model", "description": "Types and validators that help describe the model of a Backstage Catalog", - "version": "1.1.3", + "version": "1.1.4-next.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 035e8b3d2d..8902ec60b6 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/cli +## 0.21.2-next.0 + +### Patch Changes + +- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention +- 459a3457e1: Bump `msw` version in default plugin/app templates +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/config-loader@1.1.7-next.0 + - @backstage/release-manifests@0.0.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.21.0 ### Minor Changes diff --git a/packages/cli/cli-report.md b/packages/cli/cli-report.md index aef56380d2..d82f8da60e 100644 --- a/packages/cli/cli-report.md +++ b/packages/cli/cli-report.md @@ -345,11 +345,13 @@ Options: -i, --runInBand --runTestsByPath --runner + --seed --selectProjects --setupFiles --setupFilesAfterEnv --shard --showConfig + --showSeed --silent --skipFilter --snapshotSerializers @@ -524,11 +526,13 @@ Options: -i, --runInBand --runTestsByPath --runner + --seed --selectProjects --setupFiles --setupFilesAfterEnv --shard --showConfig + --showSeed --silent --skipFilter --snapshotSerializers diff --git a/packages/cli/package.json b/packages/cli/package.json index e7a113fb7f..1bba3b41a9 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.21.0", + "version": "0.21.2-next.0", "publishConfig": { "access": "public" }, @@ -155,7 +155,7 @@ "@types/yarnpkg__lockfile": "^1.1.4", "del": "^6.0.0", "mock-fs": "^5.1.0", - "msw": "^0.48.0", + "msw": "^0.49.0", "nodemon": "^2.0.2", "ts-node": "^10.0.0", "type-fest": "^2.0.0" diff --git a/packages/cli/src/lib/bundler/transforms.ts b/packages/cli/src/lib/bundler/transforms.ts index 0a4dddcaf5..9a93f550dd 100644 --- a/packages/cli/src/lib/bundler/transforms.ts +++ b/packages/cli/src/lib/bundler/transforms.ts @@ -62,14 +62,16 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'typescript', - tsx: true, + tsx: !isBackend, dynamicImport: true, }, transform: { - react: { - runtime: 'automatic', - refresh: isDev, - }, + react: isBackend + ? undefined + : { + runtime: 'automatic', + refresh: isDev, + }, }, }, }, @@ -88,14 +90,16 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'ecmascript', - jsx: true, + jsx: !isBackend, dynamicImport: true, }, transform: { - react: { - runtime: 'automatic', - refresh: isDev, - }, + react: isBackend + ? undefined + : { + runtime: 'automatic', + refresh: isDev, + }, }, }, }, @@ -119,7 +123,7 @@ export const transforms = (options: TransformOptions): Transforms => { externalHelpers: !isBackend, parser: { syntax: 'ecmascript', - jsx: true, + jsx: !isBackend, dynamicImport: true, }, }, @@ -188,11 +192,13 @@ export const transforms = (options: TransformOptions): Transforms => { const plugins = new Array(); if (isDev) { - plugins.push( - new ReactRefreshPlugin({ - overlay: { sockProtocol: 'ws' }, - }), - ); + if (!isBackend) { + plugins.push( + new ReactRefreshPlugin({ + overlay: { sockProtocol: 'ws' }, + }), + ); + } } else { plugins.push( new MiniCssExtractPlugin({ diff --git a/packages/cli/templates/default-backend-plugin/package.json.hbs b/packages/cli/templates/default-backend-plugin/package.json.hbs index df381159f0..3a9091e87f 100644 --- a/packages/cli/templates/default-backend-plugin/package.json.hbs +++ b/packages/cli/templates/default-backend-plugin/package.json.hbs @@ -41,7 +41,7 @@ "@backstage/cli": "{{versionQuery '@backstage/cli'}}", "@types/supertest": "{{versionQuery '@types/supertest' '2.0.12'}}", "supertest": "{{versionQuery 'supertest' '6.2.4'}}", - "msw": "{{versionQuery 'msw' '0.47.0'}}" + "msw": "{{versionQuery 'msw' '0.49.0'}}" }, "files": [ "dist" diff --git a/packages/cli/templates/default-plugin/package.json.hbs b/packages/cli/templates/default-plugin/package.json.hbs index c60ba63f2b..d319b16449 100644 --- a/packages/cli/templates/default-plugin/package.json.hbs +++ b/packages/cli/templates/default-plugin/package.json.hbs @@ -48,7 +48,7 @@ "@testing-library/react": "{{versionQuery '@testing-library/react' '12.1.3'}}", "@testing-library/user-event": "{{versionQuery '@testing-library/user-event' '14.0.0'}}", "@types/node": "{{versionQuery '@types/node' '16.11.26'}}", - "msw": "{{versionQuery 'msw' '0.47.0'}}", + "msw": "{{versionQuery 'msw' '0.49.0'}}", "cross-fetch": "{{versionQuery 'cross-fetch' '3.1.5'}}" }, "files": [ diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md index 84fa76e097..e079cb345b 100644 --- a/packages/config-loader/CHANGELOG.md +++ b/packages/config-loader/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/config-loader +## 1.1.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/types@1.0.2-next.0 + - @backstage/cli-common@0.1.10 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 1.1.6 ### Patch Changes diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json index 7c9306cb64..5a128cd0b6 100644 --- a/packages/config-loader/package.json +++ b/packages/config-loader/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/config-loader", "description": "Config loading functionality used by Backstage backend, and CLI", - "version": "1.1.6", + "version": "1.1.7-next.0", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", @@ -45,7 +45,7 @@ "json-schema-merge-allof": "^0.8.1", "json-schema-traverse": "^1.0.0", "node-fetch": "^2.6.7", - "typescript-json-schema": "^0.54.0", + "typescript-json-schema": "^0.55.0", "yaml": "^2.0.0", "yup": "^0.32.9" }, @@ -56,7 +56,7 @@ "@types/node": "^16.11.26", "@types/yup": "^0.29.13", "mock-fs": "^5.1.0", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md index 5523d7efc6..cc4d1571ee 100644 --- a/packages/config/CHANGELOG.md +++ b/packages/config/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/config +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/packages/config/package.json b/packages/config/package.json index bf322e15af..274e7f016e 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/config", "description": "Config API used by Backstage core, backend, and CLI", - "version": "1.0.4", + "version": "1.0.5-next.0", "publishConfig": { "access": "public", "main": "dist/index.cjs.js", diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md index 6e5d88ffae..63bb4511a1 100644 --- a/packages/core-app-api/CHANGELOG.md +++ b/packages/core-app-api/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/core-app-api +## 1.2.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + ## 1.2.0 ### Minor Changes diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json index b5972bf308..1c15f7d6f5 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.2.0", + "version": "1.2.1-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -57,7 +57,7 @@ "@types/node": "^16.11.26", "@types/zen-observable": "^0.8.0", "cross-fetch": "^3.1.5", - "msw": "^0.48.0", + "msw": "^0.49.0", "react-router-beta": "npm:react-router@6.0.0-beta.0", "react-router-dom-beta": "npm:react-router-dom@6.0.0-beta.0", "react-router-dom-stable": "npm:react-router-dom@^6.3.0", diff --git a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts index 6fa46db7c9..5993543c33 100644 --- a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts +++ b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.test.ts @@ -89,6 +89,6 @@ describe('AppIdentityProxy', () => { }); await proxy.signOut(); - expect(location.href).toBe('/foo'); + expect(window.location.href).toBe('/foo'); }); }); diff --git a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts index 2df351bc18..4a51444879 100644 --- a/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts +++ b/packages/core-app-api/src/apis/implementations/IdentityApi/AppIdentityProxy.ts @@ -124,6 +124,6 @@ export class AppIdentityProxy implements IdentityApi { async signOut(): Promise { await this.waitForTarget.then(target => target.signOut()); - location.href = this.signOutTargetUrl; + window.location.href = this.signOutTargetUrl; } } diff --git a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts index a467957063..988c9f17b1 100644 --- a/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts +++ b/packages/core-app-api/src/lib/AuthConnector/DefaultAuthConnector.ts @@ -154,7 +154,7 @@ export class DefaultAuthConnector const scope = this.joinScopesFunc(scopes); const popupUrl = await this.buildUrl('/start', { scope, - origin: location.origin, + origin: window.location.origin, }); const payload = await showLoginPopup({ diff --git a/packages/core-app-api/src/routing/FeatureFlagged.test.tsx b/packages/core-app-api/src/routing/FeatureFlagged.test.tsx index 410540f77e..8ee74c0a23 100644 --- a/packages/core-app-api/src/routing/FeatureFlagged.test.tsx +++ b/packages/core-app-api/src/routing/FeatureFlagged.test.tsx @@ -16,7 +16,7 @@ import React from 'react'; import { FeatureFlagged } from './FeatureFlagged'; -import { render } from '@testing-library/react'; +import { render, screen } from '@testing-library/react'; import { LocalStorageFeatureFlags } from '../apis'; import { TestApiProvider } from '@backstage/test-utils'; import { featureFlagsApiRef } from '@backstage/core-plugin-api'; @@ -35,7 +35,7 @@ describe('FeatureFlagged', () => { .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => true); - const { queryByText } = render( + render(
@@ -45,14 +45,14 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).toBeInTheDocument(); + expect(screen.getByText('BACKSTAGE!')).toBeInTheDocument(); }); it('should not render contents when the feature flag is disabled', async () => { jest .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => false); - const { queryByText } = render( + render(
@@ -62,7 +62,7 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).not.toBeInTheDocument(); + expect(screen.queryByText('BACKSTAGE!')).not.toBeInTheDocument(); }); }); describe('without', () => { @@ -71,7 +71,7 @@ describe('FeatureFlagged', () => { .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => true); - const { queryByText } = render( + render(
@@ -81,14 +81,14 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).not.toBeInTheDocument(); + expect(screen.queryByText('BACKSTAGE!')).not.toBeInTheDocument(); }); it('should render contents when the feature flag is disabled', async () => { jest .spyOn(mockFeatureFlagsApi, 'isActive') .mockImplementation(() => false); - const { queryByText } = render( + render(
@@ -98,7 +98,7 @@ describe('FeatureFlagged', () => { , ); - expect(queryByText('BACKSTAGE!')).toBeInTheDocument(); + expect(screen.getByText('BACKSTAGE!')).toBeInTheDocument(); }); }); }); diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md index dc0df7cd2b..051dc9a67d 100644 --- a/packages/core-components/CHANGELOG.md +++ b/packages/core-components/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/core-components +## 0.12.1-next.0 + +### Patch Changes + +- ea4a5be8f3: Create a variable for minimum height and add a prop named 'fit' for determining if the graph height should grow or be contained. +- 64a579a998: Add items prop to SupportButton. This prop can be used to override the items that would otherwise be grabbed from the config. +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- dfc8edf9c5: Internal refactor to avoid usage of deprecated symbols. +- Updated dependencies + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + ## 0.12.0 ### Minor Changes diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md index fc3ab4e5fc..248b9e227c 100644 --- a/packages/core-components/api-report.md +++ b/packages/core-components/api-report.md @@ -250,6 +250,7 @@ export interface DependencyGraphProps edgeRanks?: number; edges: DependencyEdge[]; edgeWeight?: number; + fit?: 'grow' | 'contain'; labelOffset?: number; // Warning: (ae-unresolved-link) The @link reference could not be resolved: This type of declaration is not supported yet by the resolver labelPosition?: LabelPosition; diff --git a/packages/core-components/package.json b/packages/core-components/package.json index 4a7fec9ef1..11aebfbc0f 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.12.0", + "version": "0.12.1-next.0", "publishConfig": { "access": "public", "main": "dist/index.esm.js", @@ -56,7 +56,7 @@ "pluralize": "^8.0.0", "prop-types": "^15.7.2", "qs": "^6.9.4", - "rc-progress": "3.4.0", + "rc-progress": "3.4.1", "react-helmet": "6.1.0", "react-hook-form": "^7.12.2", "react-markdown": "^8.0.0", @@ -99,7 +99,7 @@ "@types/react-window": "^1.8.5", "@types/zen-observable": "^0.8.0", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx b/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx index 477057f31b..c366082b46 100644 --- a/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx +++ b/packages/core-components/src/components/AlertDisplay/AlertDisplay.test.tsx @@ -15,6 +15,7 @@ */ import React from 'react'; +import { screen } from '@testing-library/react'; import { AlertDisplay } from './AlertDisplay'; import { alertApiRef } from '@backstage/core-plugin-api'; import { AlertApiForwarder } from '@backstage/core-app-api'; @@ -34,7 +35,7 @@ describe('', () => { }); it('renders with message', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( ', () => { , ); - expect(queryByText(TEST_MESSAGE)).toBeInTheDocument(); + expect(screen.getByText(TEST_MESSAGE)).toBeInTheDocument(); }); describe('with multiple messages', () => { @@ -73,23 +74,23 @@ describe('', () => { ] as const; it('renders first message', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( , ); - expect(queryByText('message one')).toBeInTheDocument(); + expect(screen.getByText('message one')).toBeInTheDocument(); }); it('renders a count of remaining messages', async () => { - const { queryByText } = await renderInTestApp( + await renderInTestApp( , ); - expect(queryByText('(2 older messages)')).toBeInTheDocument(); + expect(screen.getByText('(2 older messages)')).toBeInTheDocument(); }); }); }); diff --git a/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx b/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx index 5159f67d9e..94d152ce1e 100644 --- a/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx +++ b/packages/core-components/src/components/DependencyGraph/DependencyGraph.tsx @@ -170,6 +170,14 @@ export interface DependencyGraphProps * Default: 'curveMonotoneX' */ curve?: 'curveStepBefore' | 'curveMonotoneX'; + /** + * Controls if the graph should be contained or grow + * + * @remarks + * + * Default: 'grow' + */ + fit?: 'grow' | 'contain'; } const WORKSPACE_ID = 'workspace'; @@ -203,6 +211,7 @@ export function DependencyGraph( defs, zoom = 'enabled', curve = 'curveMonotoneX', + fit = 'grow', ...svgProps } = props; const theme: BackstageTheme = useTheme(); @@ -223,6 +232,9 @@ export function DependencyGraph( const maxWidth = Math.max(graphWidth, containerWidth); const maxHeight = Math.max(graphHeight, containerHeight); + const minHeight = Math.min(graphHeight, containerHeight); + + const scalableHeight = fit === 'grow' ? maxHeight : minHeight; const containerRef = React.useMemo( () => @@ -394,7 +406,7 @@ export function DependencyGraph( ref={containerRef} {...svgProps} width="100%" - height={maxHeight} + height={scalableHeight} viewBox={`0 0 ${maxWidth} ${maxHeight}`} > diff --git a/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx b/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx index 8c5dc4d530..4ab49596fe 100644 --- a/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx +++ b/packages/core-components/src/components/HorizontalScrollGrid/HorizontalScrollGrid.tsx @@ -155,7 +155,7 @@ function useScrollDistance( return [scrollLeft, scrollRight]; } -// Used to animate scrolling. Returns a single setScrollTarger function, when called with e.g. 200, +// Used to animate scrolling. Returns a single setScrollTarget function, when called with e.g. 200, // the element pointer to by the ref will be scrolled 200px forwards over time. function useSmoothScroll( ref: React.MutableRefObject, @@ -169,7 +169,7 @@ function useSmoothScroll( return; } - const startTime = performance.now(); + const startTime = window.performance.now(); const id = requestAnimationFrame(frameTime => { if (!ref.current) { return; diff --git a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx index b56279a53f..dd707778e1 100644 --- a/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx +++ b/packages/core-components/src/components/LogViewer/RealLogViewer.test.tsx @@ -60,11 +60,11 @@ describe('RealLogViewer', () => { await userEvent.keyboard('{shift>}{enter}{/shift}'); expect(rendered.getByText('3/3')).toBeInTheDocument(); - expect(rendered.queryByText('Some Log Line')).toBeInTheDocument(); + expect(rendered.getByText('Some Log Line')).toBeInTheDocument(); await userEvent.keyboard('{meta>}{enter}{/meta}'); expect(rendered.queryByText('Some Log Line')).not.toBeInTheDocument(); await userEvent.keyboard('{meta>}{enter}{/meta}'); - expect(rendered.queryByText('Some Log Line')).toBeInTheDocument(); + expect(rendered.getByText('Some Log Line')).toBeInTheDocument(); // Tab down to line #2 and click await userEvent.tab(); diff --git a/packages/core-components/src/components/SupportButton/SupportButton.test.tsx b/packages/core-components/src/components/SupportButton/SupportButton.test.tsx index 341ed145a6..6b0e239aa5 100644 --- a/packages/core-components/src/components/SupportButton/SupportButton.test.tsx +++ b/packages/core-components/src/components/SupportButton/SupportButton.test.tsx @@ -14,32 +14,40 @@ * limitations under the License. */ -import React from 'react'; +import { configApiRef } from '@backstage/core-plugin-api'; import { - render, - act, - RenderResult, - waitFor, - fireEvent, - screen, -} from '@testing-library/react'; -import { wrapInTestApp, renderInTestApp } from '@backstage/test-utils'; + MockConfigApi, + renderInTestApp, + TestApiProvider, +} from '@backstage/test-utils'; +import { act, fireEvent, screen } from '@testing-library/react'; +import React from 'react'; import { SupportButton } from './SupportButton'; +const configApi = new MockConfigApi({ + app: { + support: { + url: 'https://github.com', + items: [ + { + title: 'Github', + icon: 'github', + links: [{ title: 'Github Issues', url: '/issues' }], + }, + ], + }, + }, +}); + const SUPPORT_BUTTON_ID = 'support-button'; const POPOVER_ID = 'support-button-popover'; describe('', () => { it('renders without exploding', async () => { - let renderResult: RenderResult; - - await act(async () => { - renderResult = render(wrapInTestApp()); - }); - - await waitFor(() => - expect(renderResult.getByTestId(SUPPORT_BUTTON_ID)).toBeInTheDocument(), - ); + await renderInTestApp(); + await expect( + screen.findByTestId(SUPPORT_BUTTON_ID), + ).resolves.toBeInTheDocument(); }); it('supports passing a title', async () => { @@ -48,26 +56,54 @@ describe('', () => { expect(screen.getByText('Custom title')).toBeInTheDocument(); }); + it('supports passing link items through props', async () => { + await renderInTestApp( + , + ); + + const supportButton = screen.getByTestId(SUPPORT_BUTTON_ID); + expect(supportButton).toBeInTheDocument(); + + fireEvent.click(supportButton); + + const documentationItem = screen.getByText('Documentation'); + expect(documentationItem).toBeInTheDocument(); + }); + + it('shows items from support config', async () => { + await renderInTestApp( + + + , + ); + + const supportButton = screen.getByTestId(SUPPORT_BUTTON_ID); + expect(supportButton).toBeInTheDocument(); + + fireEvent.click(supportButton); + + const defaultGithubSupportConfig = screen.getByText('Github Issues'); + expect(defaultGithubSupportConfig).toBeInTheDocument(); + }); + it('shows popover on click', async () => { - let renderResult: RenderResult; + await renderInTestApp(); + await expect( + screen.findByTestId(SUPPORT_BUTTON_ID), + ).resolves.toBeInTheDocument(); await act(async () => { - renderResult = render(wrapInTestApp()); + fireEvent.click(screen.getByTestId(SUPPORT_BUTTON_ID)); }); - let button: HTMLElement; - - await waitFor(() => { - expect(renderResult.getByTestId(SUPPORT_BUTTON_ID)).toBeInTheDocument(); - button = renderResult.getByTestId(SUPPORT_BUTTON_ID); - }); - - await act(async () => { - fireEvent.click(button); - }); - - await waitFor(() => { - expect(renderResult.getByTestId(POPOVER_ID)).toBeInTheDocument(); - }); + await expect(screen.findByTestId(POPOVER_ID)).resolves.toBeInTheDocument(); }); }); diff --git a/packages/core-components/src/components/SupportButton/SupportButton.tsx b/packages/core-components/src/components/SupportButton/SupportButton.tsx index 4e0bb866f5..7bb9aab9b5 100644 --- a/packages/core-components/src/components/SupportButton/SupportButton.tsx +++ b/packages/core-components/src/components/SupportButton/SupportButton.tsx @@ -35,6 +35,7 @@ import { Link } from '../Link'; type SupportButtonProps = { title?: string; + items?: SupportItem[]; children?: React.ReactNode; }; @@ -82,8 +83,8 @@ const SupportListItem = ({ item }: { item: SupportItem }) => { }; export function SupportButton(props: SupportButtonProps) { - const { title, children } = props; - const { items } = useSupportConfig(); + const { title, items, children } = props; + const { items: configItems } = useSupportConfig(); const [popoverOpen, setPopoverOpen] = useState(false); const [anchorEl, setAnchorEl] = useState(null); @@ -150,10 +151,9 @@ export function SupportButton(props: SupportButtonProps) { {child} ))} - {items && - items.map((item, i) => ( - - ))} + {(items ?? configItems).map((item, i) => ( + + ))} - - - - + )} ); diff --git a/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx b/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx new file mode 100644 index 0000000000..d78d726869 --- /dev/null +++ b/plugins/scaffolder/src/components/MultistepJsonForm/ReviewStep.tsx @@ -0,0 +1,121 @@ +/* + * Copyright 2020 The Backstage Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { Box, Button, Paper, Typography } from '@material-ui/core'; +import React from 'react'; +import { Content, StructuredMetadataTable } from '@backstage/core-components'; +import { UiSchema } from '@rjsf/core'; +import { JsonObject } from '@backstage/types'; +import { ReviewStepProps } from '../types'; + +export function getReviewData( + formData: Record, + uiSchemas: UiSchema[], +) { + const reviewData: Record = {}; + for (const key in formData) { + if (formData.hasOwnProperty(key)) { + const uiSchema = uiSchemas.find(us => us.name === key); + + if (!uiSchema) { + reviewData[key] = formData[key]; + continue; + } + + if (uiSchema['ui:widget'] === 'password') { + reviewData[key] = '******'; + continue; + } + + if (!uiSchema['ui:backstage'] || !uiSchema['ui:backstage'].review) { + reviewData[key] = formData[key]; + continue; + } + + const review = uiSchema['ui:backstage'].review as JsonObject; + if (review.mask) { + reviewData[key] = review.mask; + continue; + } + + if (!review.show) { + continue; + } + reviewData[key] = formData[key]; + } + } + + return reviewData; +} + +export function getUiSchemasFromSteps( + steps: { + schema: JsonObject; + }[], +): UiSchema[] { + const uiSchemas: Array = []; + steps.forEach(step => { + const schemaProps = step.schema.properties as JsonObject; + for (const key in schemaProps) { + if (schemaProps.hasOwnProperty(key)) { + const uiSchema = schemaProps[key] as UiSchema; + uiSchema.name = key; + uiSchemas.push(uiSchema); + } + } + }); + return uiSchemas; +} + +/** + * The component displaying the Last Step in scaffolder template form. + * Which represents the summary of the input provided by the end user. + */ +export const ReviewStep = (props: ReviewStepProps) => { + const { + disableButtons, + formData, + handleBack, + handleCreate, + handleReset, + steps, + } = props; + return ( + + + Review and create + + + + + + + + ); +}; diff --git a/plugins/scaffolder/src/components/Router.tsx b/plugins/scaffolder/src/components/Router.tsx index 9f46b427a0..d35bcbc67a 100644 --- a/plugins/scaffolder/src/components/Router.tsx +++ b/plugins/scaffolder/src/components/Router.tsx @@ -15,7 +15,7 @@ */ import React, { ComponentType, useEffect } from 'react'; -import { Routes, Route, useOutlet, Navigate } from 'react-router'; +import { Navigate, Route, Routes, useOutlet } from 'react-router'; import { Entity } from '@backstage/catalog-model'; import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common'; import { ScaffolderPage } from './ScaffolderPage'; @@ -26,10 +26,10 @@ import { SecretsContextProvider } from './secrets/SecretsContext'; import { TemplateEditorPage } from './TemplateEditorPage'; import { - FieldExtensionOptions, - FIELD_EXTENSION_WRAPPER_KEY, - FIELD_EXTENSION_KEY, DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS, + FIELD_EXTENSION_KEY, + FIELD_EXTENSION_WRAPPER_KEY, + FieldExtensionOptions, } from '../extensions'; import { useElementFilter, @@ -46,6 +46,7 @@ import { } from '../routes'; import { ListTasksPage } from './ListTasksPage'; import { LayoutOptions, LAYOUTS_KEY, LAYOUTS_WRAPPER_KEY } from '../layouts'; +import { ReviewStepProps } from './types'; /** * The props for the entrypoint `ScaffolderPage` component the plugin. @@ -53,6 +54,7 @@ import { LayoutOptions, LAYOUTS_KEY, LAYOUTS_WRAPPER_KEY } from '../layouts'; */ export type RouterProps = { components?: { + ReviewStepComponent?: ComponentType; TemplateCardComponent?: | ComponentType<{ template: TemplateEntityV1beta3 }> | undefined; @@ -87,7 +89,8 @@ export type RouterProps = { export const Router = (props: RouterProps) => { const { groups, components = {}, defaultPreviewTemplate } = props; - const { TemplateCardComponent, TaskPageComponent } = components; + const { ReviewStepComponent, TemplateCardComponent, TaskPageComponent } = + components; const outlet = useOutlet(); const TaskPageElement = TaskPageComponent ?? TaskPage; @@ -161,6 +164,7 @@ export const Router = (props: RouterProps) => { element={ { await userEvent.click(screen.getByTestId('container').firstElementChild!); - expect(screen.queryByText('Template Editor')).toBeInTheDocument(); + expect(screen.getByText('Template Editor')).toBeInTheDocument(); expect(screen.queryByText('Installed Actions')).not.toBeInTheDocument(); }); @@ -62,7 +62,7 @@ describe('ScaffolderPageContextMenu', () => { await userEvent.click(screen.getByTestId('container').firstElementChild!); expect(screen.queryByText('Template Editor')).not.toBeInTheDocument(); - expect(screen.queryByText('Installed Actions')).toBeInTheDocument(); + expect(screen.getByText('Installed Actions')).toBeInTheDocument(); }); it('renders all options', async () => { @@ -77,7 +77,7 @@ describe('ScaffolderPageContextMenu', () => { await userEvent.click(screen.getByTestId('container').firstElementChild!); - expect(screen.queryByText('Template Editor')).toBeInTheDocument(); - expect(screen.queryByText('Installed Actions')).toBeInTheDocument(); + expect(screen.getByText('Template Editor')).toBeInTheDocument(); + expect(screen.getByText('Installed Actions')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx b/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx index 9c1b021071..f7ce850cd8 100644 --- a/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx +++ b/plugins/scaffolder/src/components/TaskPage/IconLink.test.tsx @@ -33,6 +33,6 @@ describe('IconLink', () => { , ); - expect(rendered.queryByText('I am Link')).toBeInTheDocument(); + expect(rendered.getByText('I am Link')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx index 184118914a..36a62f1b8a 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.test.tsx @@ -25,7 +25,7 @@ describe('base64EncodeContent', () => { it('encodes text files', () => { expect(base64EncodeContent('abc')).toBe('YWJj'); expect(base64EncodeContent('abc'.repeat(1000000))).toBe( - btoa(''), + window.btoa(''), ); }); @@ -38,7 +38,7 @@ describe('base64EncodeContent', () => { ); // Triggers size check expect(base64EncodeContent('😅'.repeat(1000000))).toBe( - btoa(''), + window.btoa(''), ); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx index b592e3cecd..3534b62c39 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx @@ -59,11 +59,11 @@ interface DryRunProviderProps { export function base64EncodeContent(content: string): string { if (content.length > MAX_CONTENT_SIZE) { - return btoa(''); + return window.btoa(''); } try { - return btoa(content); + return window.btoa(content); } catch { const decoder = new TextEncoder(); const buffer = decoder.encode(content); @@ -74,7 +74,7 @@ export function base64EncodeContent(content: string): string { String.fromCharCode(...buffer.slice(offset, offset + CHUNK_SIZE)), ); } - return btoa(chunks.join('')); + return window.btoa(chunks.join('')); } } diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx index 65eb59c84a..417c23c483 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.test.tsx @@ -70,7 +70,7 @@ describe('DryRunResultsList', () => { , ); - expect(screen.queryByText('Result 1')).toBeInTheDocument(); + expect(screen.getByText('Result 1')).toBeInTheDocument(); expect(screen.queryByText('Result 2')).not.toBeInTheDocument(); await act(async () => { @@ -84,12 +84,12 @@ describe('DryRunResultsList', () => { ); }); - expect(screen.queryByText('Result 1')).toBeInTheDocument(); - expect(screen.queryByText('Result 2')).toBeInTheDocument(); + expect(screen.getByText('Result 1')).toBeInTheDocument(); + expect(screen.getByText('Result 2')).toBeInTheDocument(); await userEvent.click(screen.getAllByLabelText('delete')[0]); expect(screen.queryByText('Result 1')).not.toBeInTheDocument(); - expect(screen.queryByText('Result 2')).toBeInTheDocument(); + expect(screen.getByText('Result 2')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx index bc6b5d8f6f..c709adfd68 100644 --- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx +++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsView.test.tsx @@ -58,7 +58,7 @@ describe('DryRunResultsView', () => { directoryContents: [ { path: 'foo.txt', - base64Content: btoa('Foo Content'), + base64Content: window.btoa('Foo Content'), executable: false, }, ], diff --git a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx index 71f5ffad47..5b16c21364 100644 --- a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx +++ b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.test.tsx @@ -19,7 +19,7 @@ import { renderInTestApp, TestApiRegistry, } from '@backstage/test-utils'; -import { act, fireEvent, within } from '@testing-library/react'; +import { act, fireEvent, screen, within } from '@testing-library/react'; import React from 'react'; import { Route, Routes } from 'react-router'; import { scaffolderApiRef } from '../../api'; @@ -31,7 +31,6 @@ import { FeatureFlagsApi, analyticsApiRef, } from '@backstage/core-plugin-api'; - import { ApiProvider } from '@backstage/core-app-api'; import { errorApiRef } from '@backstage/core-plugin-api'; @@ -135,8 +134,8 @@ describe('TemplatePage', () => { }, ); - expect(rendered.queryByText('Create a New Component')).toBeInTheDocument(); - expect(rendered.queryByText('React SSR Template')).toBeInTheDocument(); + expect(rendered.getByText('Create a New Component')).toBeInTheDocument(); + expect(rendered.getByText('React SSR Template')).toBeInTheDocument(); }); it('renders spinner while loading', async () => { @@ -156,8 +155,8 @@ describe('TemplatePage', () => { }, ); - expect(rendered.queryByText('Create a New Component')).toBeInTheDocument(); - expect(rendered.queryByTestId('loading-progress')).toBeInTheDocument(); + expect(rendered.getByText('Create a New Component')).toBeInTheDocument(); + expect(rendered.getByTestId('loading-progress')).toBeInTheDocument(); await act(async () => { resolve!({ @@ -248,7 +247,7 @@ describe('TemplatePage', () => { expect( rendered.queryByText('Create a New Component'), ).not.toBeInTheDocument(); - expect(rendered.queryByText('This is root')).toBeInTheDocument(); + expect(rendered.getByText('This is root')).toBeInTheDocument(); }); it('display template with oneOf', async () => { @@ -330,7 +329,7 @@ describe('TemplatePage', () => { schemaMockValue, ); - const { queryByText } = await renderInTestApp( + await renderInTestApp( , @@ -341,9 +340,9 @@ describe('TemplatePage', () => { }, ); - expect(queryByText('Name')).not.toBeInTheDocument(); - expect(queryByText('Description')).toBeInTheDocument(); - expect(queryByText('Owner')).toBeInTheDocument(); - expect(queryByText('Send data')).toBeInTheDocument(); + expect(screen.queryByText('Name')).not.toBeInTheDocument(); + expect(screen.getByText('Description')).toBeInTheDocument(); + expect(screen.getByText('Owner')).toBeInTheDocument(); + expect(screen.getByText('Send data')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx index 522f37dfc9..cfe7992ab1 100644 --- a/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx +++ b/plugins/scaffolder/src/components/TemplatePage/TemplatePage.tsx @@ -16,7 +16,7 @@ import { LinearProgress } from '@material-ui/core'; import { IChangeEvent } from '@rjsf/core'; import qs from 'qs'; -import React, { useCallback, useContext, useState } from 'react'; +import React, { ComponentType, useCallback, useContext, useState } from 'react'; import { Navigate, useNavigate } from 'react-router'; import useAsync from 'react-use/lib/useAsync'; import { scaffolderApiRef } from '../../api'; @@ -41,6 +41,7 @@ import { } from '@backstage/core-plugin-api'; import { stringifyEntityRef } from '@backstage/catalog-model'; import { LayoutOptions } from '../../layouts'; +import { ReviewStepProps } from '../types'; const useTemplateParameterSchema = (templateRef: string) => { const scaffolderApi = useApi(scaffolderApiRef); @@ -52,6 +53,7 @@ const useTemplateParameterSchema = (templateRef: string) => { }; type Props = { + ReviewStepComponent?: ComponentType; customFieldExtensions?: FieldExtensionOptions[]; layouts?: LayoutOptions[]; headerOptions?: { @@ -62,6 +64,7 @@ type Props = { }; export const TemplatePage = ({ + ReviewStepComponent, customFieldExtensions = [], layouts = [], headerOptions, @@ -155,6 +158,7 @@ export const TemplatePage = ({ titleTypographyProps={{ component: 'h2' }} > void; + handleReset: () => void; + handleCreate: () => void; + steps: { + uiSchema: UiSchema; + mergedSchema: JsonObject; + schema: JsonObject; + }[]; +}; diff --git a/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx b/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx index a8e377bd3d..3c2807c4c8 100644 --- a/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx +++ b/plugins/scaffolder/src/next/TemplateListPage/RegisterExistingButton.test.tsx @@ -13,6 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import { screen } from '@testing-library/react'; import { renderInTestApp } from '@backstage/test-utils'; import React from 'react'; import { RegisterExistingButton } from './RegisterExistingButton'; @@ -30,28 +32,22 @@ describe('RegisterExistingButton', () => { it('should not render if to is unset', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: true }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).not.toBeInTheDocument(); + expect(screen.queryByText('Pick me')).not.toBeInTheDocument(); }); it('should not render if permissions are not allowed', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: false }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).not.toBeInTheDocument(); + expect(screen.queryByText('Pick me')).not.toBeInTheDocument(); }); it('should render the button with the text', async () => { (usePermission as jest.Mock).mockReturnValue({ allowed: true }); - const { queryByText } = await renderInTestApp( - , - ); + await renderInTestApp(); - expect(queryByText('Pick me')).toBeInTheDocument(); + expect(screen.getByText('Pick me')).toBeInTheDocument(); }); }); diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx index bf82fecf49..6c02492cd8 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.test.tsx @@ -19,6 +19,7 @@ import { Stepper } from './Stepper'; import { renderInTestApp } from '@backstage/test-utils'; import { act, fireEvent } from '@testing-library/react'; import type { RJSFValidationError } from '@rjsf/utils'; +import { JsonValue } from '@backstage/types'; describe('Stepper', () => { it('should render the step titles for each step of the manifest', async () => { @@ -187,4 +188,43 @@ describe('Stepper', () => { expect(getByText('invalid postcode')).toBeInTheDocument(); }); + + it('should initialize formState with undefined form values', async () => { + const manifest: TemplateParameterSchema = { + steps: [ + { + title: 'Step 1', + schema: { + properties: { + firstName: { + type: 'string', + }, + }, + }, + }, + ], + title: 'initialize formData', + }; + + const onComplete = jest.fn(async (values: Record) => { + expect(values).toHaveProperty('firstName'); + }); + + const { getByRole } = await renderInTestApp( + , + ); + + await act(async () => { + await fireEvent.click(getByRole('button', { name: 'Review' })); + }); + + expect(getByRole('button', { name: 'Create' })).toBeInTheDocument(); + + await act(async () => { + await fireEvent.click(getByRole('button', { name: 'Create' })); + }); + + // flush promises + return new Promise(process.nextTick); + }); }); diff --git a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx index de06655aa1..7051b197f1 100644 --- a/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx +++ b/plugins/scaffolder/src/next/TemplateWizardPage/Stepper/Stepper.tsx @@ -37,6 +37,7 @@ import { ReviewState } from './ReviewState'; import validator from '@rjsf/validator-ajv8'; import { selectedTemplateRouteRef } from '../../../routes'; import type { ErrorTransformer } from '@rjsf/utils'; +import { getDefaultFormState } from '@rjsf/utils'; const useStyles = makeStyles(theme => ({ backButton: { @@ -108,7 +109,18 @@ export const Stepper = (props: StepperProps) => { // to display it's own loading? Or should we grey out the entire form. setErrors(undefined); - const returnedValidation = await validation(formData); + const schema = steps[activeStep]?.schema; + const rootSchema = steps[activeStep]?.mergedSchema; + + const newFormData = getDefaultFormState( + validator, + schema, + formData, + rootSchema, + true, + ); + + const returnedValidation = await validation(newFormData); const hasErrors = Object.values(returnedValidation).some( i => i.__errors?.length, @@ -124,7 +136,7 @@ export const Stepper = (props: StepperProps) => { return stepNum; }); } - setFormState(current => ({ ...current, ...formData })); + setFormState(current => ({ ...current, ...newFormData })); }; return ( diff --git a/plugins/scaffolder/src/plugin.ts b/plugins/scaffolder/src/plugin.tsx similarity index 97% rename from plugins/scaffolder/src/plugin.ts rename to plugins/scaffolder/src/plugin.tsx index a34105745f..cfa7af8128 100644 --- a/plugins/scaffolder/src/plugin.ts +++ b/plugins/scaffolder/src/plugin.tsx @@ -120,7 +120,7 @@ export const EntityNamePickerFieldExtension = scaffolderPlugin.provide( /** * The field extension which provides the ability to select a RepositoryUrl. - * Currently this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`. + * Currently, this is an encoded URL that looks something like the following `github.com?repo=myRepoName&owner=backstage`. * * @public */ diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md index f808ffb752..53b506a0a3 100644 --- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md +++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-search-backend-module-elasticsearch +## 1.0.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json index 945ecfed15..0687ecfb20 100644 --- a/plugins/search-backend-module-elasticsearch/package.json +++ b/plugins/search-backend-module-elasticsearch/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-elasticsearch", "description": "A module for the search backend that implements search using ElasticSearch", - "version": "1.0.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngineIndexer.test.ts b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngineIndexer.test.ts index a19687a03b..155a6bbf32 100644 --- a/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngineIndexer.test.ts +++ b/plugins/search-backend-module-elasticsearch/src/engines/ElasticSearchSearchEngineIndexer.test.ts @@ -137,7 +137,7 @@ describe('ElasticSearchSearchEngineIndexer', () => { }, ]; - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); // Older indices should have been queried for. expect(catSpy).toHaveBeenCalled(); @@ -184,7 +184,7 @@ describe('ElasticSearchSearchEngineIndexer', () => { text: range(2000).join(', '), })); - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); // Ensure multiple bulk requests were made. expect(bulkSpy).toHaveBeenCalledTimes(2); @@ -221,7 +221,7 @@ describe('ElasticSearchSearchEngineIndexer', () => { catSpy, ); - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); // Final deletion shouldn't be called. expect(deleteSpy).not.toHaveBeenCalled(); diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md index c84b823149..608a147f26 100644 --- a/plugins/search-backend-module-pg/CHANGELOG.md +++ b/plugins/search-backend-module-pg/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-search-backend-module-pg +## 0.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.4.2 ### Patch Changes diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json index 0dad5637e6..a40e42a4de 100644 --- a/plugins/search-backend-module-pg/package.json +++ b/plugins/search-backend-module-pg/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-module-pg", "description": "A module for the search backend that implements search using PostgreSQL", - "version": "0.4.2", + "version": "0.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts index 03b9774751..0b9cd96c19 100644 --- a/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts +++ b/plugins/search-backend-module-pg/src/PgSearchEngine/PgSearchEngineIndexer.test.ts @@ -53,7 +53,7 @@ describe('PgSearchEngineIndexer', () => { }, ]; - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); expect(database.getTransaction).toHaveBeenCalledTimes(1); expect(database.prepareInsert).toHaveBeenCalledTimes(1); @@ -73,7 +73,7 @@ describe('PgSearchEngineIndexer', () => { location: `location-${i}`, })); - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); expect(database.getTransaction).toHaveBeenCalledTimes(1); expect(database.prepareInsert).toHaveBeenCalledTimes(1); @@ -92,7 +92,7 @@ describe('PgSearchEngineIndexer', () => { ]; database.prepareInsert.mockRejectedValueOnce(expectedError); - const result = await TestPipeline.withSubject(indexer) + const result = await TestPipeline.fromIndexer(indexer) .withDocuments(documents) .execute(); @@ -114,7 +114,7 @@ describe('PgSearchEngineIndexer', () => { ]; database.insertDocuments.mockRejectedValueOnce(expectedError); - const result = await TestPipeline.withSubject(indexer) + const result = await TestPipeline.fromIndexer(indexer) .withDocuments(documents) .execute(); @@ -136,7 +136,7 @@ describe('PgSearchEngineIndexer', () => { ]; database.completeInsert.mockRejectedValueOnce(expectedError); - const result = await TestPipeline.withSubject(indexer) + const result = await TestPipeline.fromIndexer(indexer) .withDocuments(documents) .execute(); diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md index 209fa9e0c4..935b51d335 100644 --- a/plugins/search-backend-node/CHANGELOG.md +++ b/plugins/search-backend-node/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-search-backend-node +## 1.0.5-next.0 + +### Patch Changes + +- a962ce0551: Wait for indexer initialization before finalizing indexing. +- 683ced83f6: Fixed a bug that could cause a `max listeners exceeded warning` to be logged when more than 10 collators were running simultaneously. +- 81b1e7b0fe: Updated indexer and decorator base classes to take advantage of features introduced in Node.js v16; be sure you are running a [supported version of Node.js](https://backstage.io/docs/releases/v1.8.0#node-16-and-18). +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search-backend-node/api-report.md b/plugins/search-backend-node/api-report.md index 62a4eabc26..734bf6e1c0 100644 --- a/plugins/search-backend-node/api-report.md +++ b/plugins/search-backend-node/api-report.md @@ -173,7 +173,14 @@ export type ScheduleTaskParameters = { // @public export class TestPipeline { execute(): Promise; + static fromCollator(collator: Readable): TestPipeline; + static fromDecorator(decorator: Transform): TestPipeline; + static fromIndexer(indexer: Writable): TestPipeline; + withCollator(collator: Readable): this; + withDecorator(decorator: Transform): this; withDocuments(documents: IndexableDocument[]): TestPipeline; + withIndexer(indexer: Writable): this; + // @deprecated static withSubject(subject: Readable | Transform | Writable): TestPipeline; } diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json index 2dc9e150a0..8a15127040 100644 --- a/plugins/search-backend-node/package.json +++ b/plugins/search-backend-node/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend-node", "description": "A library for Backstage backend plugins that want to interact with the search backend plugin", - "version": "1.0.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-backend-node/src/Scheduler.test.ts b/plugins/search-backend-node/src/Scheduler.test.ts index 30e5c7e416..6daae3013d 100644 --- a/plugins/search-backend-node/src/Scheduler.test.ts +++ b/plugins/search-backend-node/src/Scheduler.test.ts @@ -204,4 +204,40 @@ describe('Scheduler', () => { ); }); }); + + describe('stop', () => { + it('should abort tasks on stop', () => { + const run = jest.fn(); + + // Add tasks and interval to schedule + testScheduler.addToSchedule({ + id: '1', + task: jest.fn(), + scheduledRunner: { run }, + }); + testScheduler.addToSchedule({ + id: '2', + task: jest.fn(), + scheduledRunner: { run }, + }); + + // Starts scheduling process + testScheduler.start(); + + const signals = run.mock.calls.map(([options]) => options.signal); + + expect(signals).toHaveLength(2); + + for (const signal of signals) { + expect(signal.aborted).toBeFalsy(); + } + + // Stops scheduling process + testScheduler.stop(); + + for (const signal of signals) { + expect(signal.aborted).toBeTruthy(); + } + }); + }); }); diff --git a/plugins/search-backend-node/src/Scheduler.ts b/plugins/search-backend-node/src/Scheduler.ts index 872a410808..82d45df090 100644 --- a/plugins/search-backend-node/src/Scheduler.ts +++ b/plugins/search-backend-node/src/Scheduler.ts @@ -40,13 +40,13 @@ export type ScheduleTaskParameters = { export class Scheduler { private logger: Logger; private schedule: { [id: string]: TaskEnvelope }; - private abortController: AbortController; + private abortControllers: AbortController[]; private isRunning: boolean; constructor(options: { logger: Logger }) { this.logger = options.logger; this.schedule = {}; - this.abortController = new AbortController(); + this.abortControllers = []; this.isRunning = false; } @@ -78,11 +78,13 @@ export class Scheduler { this.logger.info('Starting all scheduled search tasks.'); this.isRunning = true; Object.keys(this.schedule).forEach(id => { + const abortController = new AbortController(); + this.abortControllers.push(abortController); const { task, scheduledRunner } = this.schedule[id]; scheduledRunner.run({ id, fn: task, - signal: this.abortController.signal, + signal: abortController.signal, }); }); } @@ -92,7 +94,10 @@ export class Scheduler { */ stop() { this.logger.info('Stopping all scheduled search tasks.'); - this.abortController.abort(); + for (const abortController of this.abortControllers) { + abortController.abort(); + } + this.abortControllers = []; this.isRunning = false; } } diff --git a/plugins/search-backend-node/src/collators/NewlineDelimitedJsonCollatorFactory.test.ts b/plugins/search-backend-node/src/collators/NewlineDelimitedJsonCollatorFactory.test.ts index 7120fc7ce5..c08db8f28e 100644 --- a/plugins/search-backend-node/src/collators/NewlineDelimitedJsonCollatorFactory.test.ts +++ b/plugins/search-backend-node/src/collators/NewlineDelimitedJsonCollatorFactory.test.ts @@ -142,7 +142,7 @@ describe('DefaultCatalogCollatorFactory', () => { }); const collator = await factory.getCollator(); - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); expect(documents).toHaveLength(2); diff --git a/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts b/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts index f0518cd71d..4ef380943f 100644 --- a/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts +++ b/plugins/search-backend-node/src/engines/LunrSearchEngine.test.ts @@ -381,7 +381,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -412,7 +412,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -452,7 +452,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -495,7 +495,7 @@ describe('LunrSearchEngine', () => { inspectableSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -544,7 +544,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -583,7 +583,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -623,7 +623,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -663,7 +663,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -708,7 +708,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -763,10 +763,10 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index-2', ); - await TestPipeline.withSubject(indexer1) + await TestPipeline.fromIndexer(indexer1) .withDocuments(mockDocuments) .execute(); - await TestPipeline.withSubject(indexer2) + await TestPipeline.fromIndexer(indexer2) .withDocuments(mockDocuments2) .execute(); @@ -811,7 +811,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -871,14 +871,14 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); const indexer2 = await getActualIndexer( testLunrSearchEngine, 'test-index-2', ); - await TestPipeline.withSubject(indexer2) + await TestPipeline.fromIndexer(indexer2) .withDocuments(mockDocuments2) .execute(); @@ -924,7 +924,7 @@ describe('LunrSearchEngine', () => { testLunrSearchEngine, 'test-index', ); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -974,7 +974,7 @@ describe('LunrSearchEngine', () => { })); const indexer = await getActualIndexer(testLunrSearchEngine, 'test-index'); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -1112,7 +1112,7 @@ describe('stopword testing', () => { const indexer = await getActualIndexer(testLunrSearchEngine, 'test-index'); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -1149,7 +1149,7 @@ describe('stopword testing', () => { const indexer = await getActualIndexer(testLunrSearchEngine, 'test-index'); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); @@ -1186,7 +1186,7 @@ describe('stopword testing', () => { const indexer = await getActualIndexer(testLunrSearchEngine, 'test-index'); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments(mockDocuments) .execute(); diff --git a/plugins/search-backend-node/src/engines/LunrSearchEngineIndexer.test.ts b/plugins/search-backend-node/src/engines/LunrSearchEngineIndexer.test.ts index fbb6b153d0..ff76f0fa7c 100644 --- a/plugins/search-backend-node/src/engines/LunrSearchEngineIndexer.test.ts +++ b/plugins/search-backend-node/src/engines/LunrSearchEngineIndexer.test.ts @@ -58,7 +58,7 @@ describe('LunrSearchEngineIndexer', () => { }, ]; - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); expect(lunrBuilderAddSpy).toHaveBeenCalledWith(documents[0]); }); @@ -70,7 +70,7 @@ describe('LunrSearchEngineIndexer', () => { location: `location-${i}`, })); - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); expect(lunrBuilderAddSpy).toHaveBeenCalledTimes(350); }); @@ -84,7 +84,7 @@ describe('LunrSearchEngineIndexer', () => { }, ]; - await TestPipeline.withSubject(indexer).withDocuments(documents).execute(); + await TestPipeline.fromIndexer(indexer).withDocuments(documents).execute(); // Builder ref should be set to location (and only once). expect(lunrBuilderRefSpy).toHaveBeenCalledTimes(1); diff --git a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.test.ts b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.test.ts index b4c9ff9e46..a51a479e7e 100644 --- a/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.test.ts +++ b/plugins/search-backend-node/src/indexing/BatchSearchEngineIndexer.test.ts @@ -46,7 +46,7 @@ describe('BatchSearchEngineIndexer', () => { it('should work end-to-end', async () => { const indexer = new ConcreteBatchIndexer({ batchSize: 1 }); - await TestPipeline.withSubject(indexer) + await TestPipeline.fromIndexer(indexer) .withDocuments([document, document, document]) .execute(); expect(indexSpy).toHaveBeenCalledTimes(3); diff --git a/plugins/search-backend-node/src/indexing/DecoratorBase.test.ts b/plugins/search-backend-node/src/indexing/DecoratorBase.test.ts index 12c61bd7d3..875ef11940 100644 --- a/plugins/search-backend-node/src/indexing/DecoratorBase.test.ts +++ b/plugins/search-backend-node/src/indexing/DecoratorBase.test.ts @@ -54,7 +54,7 @@ describe('DecoratorBase', () => { })); const decorator = new ConcreteDecorator(); - const { documents } = await TestPipeline.withSubject(decorator) + const { documents } = await TestPipeline.fromDecorator(decorator) .withDocuments([document, document, document]) .execute(); @@ -68,7 +68,7 @@ describe('DecoratorBase', () => { decorateSpy.mockResolvedValue(undefined); const decorator = new ConcreteDecorator(); - const { documents } = await TestPipeline.withSubject(decorator) + const { documents } = await TestPipeline.fromDecorator(decorator) .withDocuments([document, document, document]) .execute(); @@ -82,7 +82,7 @@ describe('DecoratorBase', () => { }); const decorator = new ConcreteDecorator(); - const { documents } = await TestPipeline.withSubject(decorator) + const { documents } = await TestPipeline.fromDecorator(decorator) .withDocuments([document, document, document]) .execute(); diff --git a/plugins/search-backend-node/src/test-utils/TestPipeline.ts b/plugins/search-backend-node/src/test-utils/TestPipeline.ts index 00dd9b3755..33097daae9 100644 --- a/plugins/search-backend-node/src/test-utils/TestPipeline.ts +++ b/plugins/search-backend-node/src/test-utils/TestPipeline.ts @@ -37,6 +37,35 @@ export type TestPipelineResult = { /** * Test utility for Backstage Search collators, decorators, and indexers. + * + * @example + * An example test checking that a collator provides expected documents. + * ``` + * it('provides expected documents', async () => { + * const testSubject = await yourCollatorFactory.getCollator(); + * const pipeline = TestPipeline.fromCollator(testSubject); + * + * const { documents } = await pipeline.execute(); + * + * expect(documents).toHaveLength(2); + * }) + * ``` + * + * @example + * An example test checking that a decorator behaves as expected. + * ``` + * it('filters private documents', async () => { + * const testSubject = await yourDecoratorFactory.getDecorator(); + * const pipeline = TestPipeline + * .fromDecorator(testSubject) + * .withDocuments([{ title: 'Private', location: '/private', text: '' }]); + * + * const { documents } = await pipeline.execute(); + * + * expect(documents).toHaveLength(0); + * }) + * ``` + * * @public */ export class TestPipeline { @@ -60,6 +89,9 @@ export class TestPipeline { /** * Provide the collator, decorator, or indexer to be tested. + * + * @deprecated Use `fromCollator`, `fromDecorator` or `fromIndexer` static + * methods to create a test pipeline instead. */ static withSubject(subject: Readable | Transform | Writable) { if (subject instanceof Transform) { @@ -79,6 +111,51 @@ export class TestPipeline { ); } + /** + * Create a test pipeline given a collator you want to test. + */ + static fromCollator(collator: Readable) { + return new TestPipeline({ collator }); + } + + /** + * Add a collator to the test pipeline. + */ + withCollator(collator: Readable): this { + this.collator = collator; + return this; + } + + /** + * Create a test pipeline given a decorator you want to test. + */ + static fromDecorator(decorator: Transform) { + return new TestPipeline({ decorator }); + } + + /** + * Add a decorator to the test pipeline. + */ + withDecorator(decorator: Transform): this { + this.decorator = decorator; + return this; + } + + /** + * Create a test pipeline given an indexer you want to test. + */ + static fromIndexer(indexer: Writable) { + return new TestPipeline({ indexer }); + } + + /** + * Add an indexer to the test pipeline. + */ + withIndexer(indexer: Writable): this { + this.indexer = indexer; + return this; + } + /** * Provide documents for testing decorators and indexers. */ diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md index a260266c64..c468790b9c 100644 --- a/plugins/search-backend/CHANGELOG.md +++ b/plugins/search-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-search-backend +## 1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-search-backend-node@1.0.5-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/plugin-permission-node@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.1.1 ### Patch Changes diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json index 834886e6f0..3eee5ff5f0 100644 --- a/plugins/search-backend/package.json +++ b/plugins/search-backend/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-backend", "description": "The Backstage backend plugin that provides your backstage app with search", - "version": "1.1.1", + "version": "1.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-common/CHANGELOG.md b/plugins/search-common/CHANGELOG.md index 816230ee1f..c0862e460c 100644 --- a/plugins/search-common/CHANGELOG.md +++ b/plugins/search-common/CHANGELOG.md @@ -1,5 +1,13 @@ # @backstage/plugin-search-common +## 1.1.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/types@1.0.2-next.0 + ## 1.1.1 ### Patch Changes diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json index 918213ec54..b35c3ab532 100644 --- a/plugins/search-common/package.json +++ b/plugins/search-common/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-search-common", "description": "Common functionalities for Search, to be shared between various search-enabled plugins", - "version": "1.1.1", + "version": "1.1.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md index 8cf413bbb7..52c30a7af1 100644 --- a/plugins/search-react/CHANGELOG.md +++ b/plugins/search-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-search-react +## 1.2.2-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.2.1 ### Patch Changes diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json index 71308297e2..4c277daac2 100644 --- a/plugins/search-react/package.json +++ b/plugins/search-react/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-search-react", - "version": "1.2.1", + "version": "1.2.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/search-react/src/components/DefaultResultListItem/DefaultResultListItem.tsx b/plugins/search-react/src/components/DefaultResultListItem/DefaultResultListItem.tsx index f4260525d6..830cb61780 100644 --- a/plugins/search-react/src/components/DefaultResultListItem/DefaultResultListItem.tsx +++ b/plugins/search-react/src/components/DefaultResultListItem/DefaultResultListItem.tsx @@ -66,21 +66,23 @@ export const DefaultResultListItemComponent = ({ }; return ( - + <> {icon && {icon}} - ) : ( - result.title - ) + + {highlight?.fields.title ? ( + + ) : ( + result.title + )} + } secondary={ {secondaryAction}} - + ); }; diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md index ca0385d0ba..5abbc5847b 100644 --- a/plugins/search/CHANGELOG.md +++ b/plugins/search/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-search +## 1.0.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/version-bridge@1.0.2 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.0.4 ### Patch Changes diff --git a/plugins/search/package.json b/plugins/search/package.json index 81a969db7f..7602e96273 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.0.4", + "version": "1.0.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -66,7 +66,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md index 31eb58a5ea..9bc0d89bf0 100644 --- a/plugins/sentry/CHANGELOG.md +++ b/plugins/sentry/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-sentry +## 0.4.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.4.4 ### Patch Changes diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 98b688499b..4d83821fef 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.4.4", + "version": "0.4.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -62,7 +62,7 @@ "@types/node": "^16.11.26", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist", diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md index a7a499c87f..9caaea3d44 100644 --- a/plugins/shortcuts/CHANGELOG.md +++ b/plugins/shortcuts/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-shortcuts +## 0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/theme@0.2.16 + ## 0.3.3 ### Patch Changes diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json index 773c6e019a..a32a83989f 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.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -50,7 +50,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/sonarqube-backend/CHANGELOG.md b/plugins/sonarqube-backend/CHANGELOG.md index a76482ae32..e574f9677e 100644 --- a/plugins/sonarqube-backend/CHANGELOG.md +++ b/plugins/sonarqube-backend/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-sonarqube-backend +## 0.1.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.3 ### Patch Changes diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json index e18ac34969..ba46e2bcc1 100644 --- a/plugins/sonarqube-backend/package.json +++ b/plugins/sonarqube-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-sonarqube-backend", - "version": "0.1.3", + "version": "0.1.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -36,7 +36,7 @@ "@backstage/cli": "workspace:^", "@backstage/test-utils": "workspace:^", "@types/supertest": "^2.0.12", - "msw": "^0.48.0", + "msw": "^0.49.0", "supertest": "^6.2.4" }, "files": [ diff --git a/plugins/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md index 4c92de36ea..4fdf03eb53 100644 --- a/plugins/sonarqube/CHANGELOG.md +++ b/plugins/sonarqube/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-sonarqube +## 0.5.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 17a8e32f39: Updated dependency `rc-progress` to `3.4.1`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.0 ### Minor Changes diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json index d8f54b80f5..cc3757ac3c 100644 --- a/plugins/sonarqube/package.json +++ b/plugins/sonarqube/package.json @@ -1,7 +1,7 @@ { "name": "@backstage/plugin-sonarqube", "description": "", - "version": "0.5.0", + "version": "0.5.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -44,7 +44,7 @@ "@material-ui/lab": "4.0.0-alpha.57", "@material-ui/styles": "^4.10.0", "cross-fetch": "^3.1.5", - "rc-progress": "3.4.0", + "rc-progress": "3.4.1", "react-use": "^17.2.4" }, "peerDependencies": { @@ -59,7 +59,7 @@ "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist", diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md index 35bf66f661..0fdd94313d 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.1-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.4.0 ### Minor Changes diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json index 53aefc5ee0..f1abb63b97 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.0", + "version": "0.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -60,7 +60,7 @@ "@types/luxon": "^3.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "configSchema": "config.d.ts", "files": [ diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md index 4f4ba31caf..ebeefd5cbd 100644 --- a/plugins/stack-overflow-backend/CHANGELOG.md +++ b/plugins/stack-overflow-backend/CHANGELOG.md @@ -1,5 +1,14 @@ # @backstage/plugin-stack-overflow-backend +## 0.1.8-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/cli@0.21.2-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json index a31d1c1d14..80c45c3554 100644 --- a/plugins/stack-overflow-backend/package.json +++ b/plugins/stack-overflow-backend/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-stack-overflow-backend", - "version": "0.1.7", + "version": "0.1.8-next.0", "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 3e97f1b293..7bc2866dfe 100644 --- a/plugins/stack-overflow/CHANGELOG.md +++ b/plugins/stack-overflow/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-stack-overflow +## 0.1.8-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-home@0.4.28-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 0.1.7 ### Patch Changes diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json index 96df3e4856..cc0f6f615a 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.7", + "version": "0.1.8-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -48,7 +48,7 @@ "@testing-library/react": "^12.1.3", "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist", diff --git a/plugins/stack-overflow/src/search/StackOverflowSearchResultListItem/StackOverflowSearchResultListItem.tsx b/plugins/stack-overflow/src/search/StackOverflowSearchResultListItem/StackOverflowSearchResultListItem.tsx index 581fe34dfb..6a2c8f5889 100644 --- a/plugins/stack-overflow/src/search/StackOverflowSearchResultListItem/StackOverflowSearchResultListItem.tsx +++ b/plugins/stack-overflow/src/search/StackOverflowSearchResultListItem/StackOverflowSearchResultListItem.tsx @@ -47,13 +47,17 @@ export const StackOverflowSearchResultListItem = ( }; return ( - + <> {props.icon && {props.icon}} + {_unescape(title)} + + } secondary={`Author: ${text}`} /> @@ -64,6 +68,6 @@ export const StackOverflowSearchResultListItem = ( - + ); }; diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md index 94001990b9..c315132091 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.23-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.1.22 ### Patch Changes diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json index 0b344a4d04..3d62c81e96 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.22", + "version": "0.1.23-next.0", "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 262cdfc764..fa416ea7ac 100644 --- a/plugins/tech-insights-backend/CHANGELOG.md +++ b/plugins/tech-insights-backend/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-tech-insights-backend +## 0.5.5-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + - @backstage/plugin-tech-insights-node@0.3.7-next.0 + ## 0.5.4 ### Patch Changes diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json index 6b3c50a6f1..fa573ae6c6 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.4", + "version": "0.5.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", diff --git a/plugins/tech-insights-common/CHANGELOG.md b/plugins/tech-insights-common/CHANGELOG.md index 3ea396442e..97917ca063 100644 --- a/plugins/tech-insights-common/CHANGELOG.md +++ b/plugins/tech-insights-common/CHANGELOG.md @@ -1,5 +1,12 @@ # @backstage/plugin-tech-insights-common +## 0.2.9-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/types@1.0.2-next.0 + ## 0.2.8 ### Patch Changes diff --git a/plugins/tech-insights-common/package.json b/plugins/tech-insights-common/package.json index 910fe5608c..7a11122a63 100644 --- a/plugins/tech-insights-common/package.json +++ b/plugins/tech-insights-common/package.json @@ -1,6 +1,6 @@ { "name": "@backstage/plugin-tech-insights-common", - "version": "0.2.8", + "version": "0.2.9-next.0", "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 82d2c59f0f..53f8656181 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.3.7-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + ## 0.3.6 ### Patch Changes diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json index b6f41aaa2e..7096496e3f 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.3.6", + "version": "0.3.7-next.0", "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 0066de5b0f..3415704918 100644 --- a/plugins/tech-insights/CHANGELOG.md +++ b/plugins/tech-insights/CHANGELOG.md @@ -1,5 +1,20 @@ # @backstage/plugin-tech-insights +## 0.3.4-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-tech-insights-common@0.2.9-next.0 + ## 0.3.3 ### Patch Changes diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json index 387f88b9c3..48dd4362be 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.3", + "version": "0.3.4-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -56,7 +56,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md index 17025f1c85..36d1932684 100644 --- a/plugins/tech-radar/CHANGELOG.md +++ b/plugins/tech-radar/CHANGELOG.md @@ -1,5 +1,15 @@ # @backstage/plugin-tech-radar +## 0.5.19-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/theme@0.2.16 + ## 0.5.18 ### Patch Changes diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 67a863e606..599cb2db96 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.5.18", + "version": "0.5.19-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -59,7 +59,7 @@ "@types/node": "^16.11.26", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md index dda684478d..70ad579f17 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.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/test-utils@1.2.3-next.0 + - @backstage/plugin-techdocs@1.4.1-next.0 + - @backstage/plugin-catalog@1.6.2-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json index 694c69ec58..2721ff9348 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.6", + "version": "1.0.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -63,7 +63,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md index 8965b8be7f..8c6f8ff66a 100644 --- a/plugins/techdocs-backend/CHANGELOG.md +++ b/plugins/techdocs-backend/CHANGELOG.md @@ -1,5 +1,22 @@ # @backstage/plugin-techdocs-backend +## 1.4.2-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-permission-common@0.7.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-catalog-common@1.0.9-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-techdocs-node@1.4.3-next.0 + ## 1.4.1 ### Patch Changes diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json index d6c71c4ba1..c9f7364500 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.4.1", + "version": "1.4.2-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -59,7 +59,7 @@ "@backstage/cli": "workspace:^", "@backstage/plugin-search-backend-node": "workspace:^", "@types/dockerode": "^3.3.0", - "msw": "^0.48.0", + "msw": "^0.49.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts b/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts index 659f4783ce..d9329151c6 100644 --- a/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts +++ b/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts @@ -145,7 +145,7 @@ describe('DefaultTechDocsCollatorFactory', () => { }); it('fetches from the configured catalog and tech docs services', async () => { - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); expect(mockDiscoveryApi.getBaseUrl).toHaveBeenCalledWith('catalog'); expect(mockDiscoveryApi.getBaseUrl).toHaveBeenCalledWith('techdocs'); @@ -153,7 +153,7 @@ describe('DefaultTechDocsCollatorFactory', () => { }); it('should create documents for each tech docs search index', async () => { - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); const entity = expectedEntities[0]; documents.forEach((document, idx) => { @@ -182,7 +182,7 @@ describe('DefaultTechDocsCollatorFactory', () => { }); collator = await factory.getCollator(); - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); expect(documents[0]).toMatchObject({ @@ -200,7 +200,7 @@ describe('DefaultTechDocsCollatorFactory', () => { }); collator = await factory.getCollator(); - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); // Only 1 entity with TechDocs configured multiplied by 3 pages. @@ -222,7 +222,7 @@ describe('DefaultTechDocsCollatorFactory', () => { }); it('should create documents for each tech docs search index', async () => { - const pipeline = TestPipeline.withSubject(collator); + const pipeline = TestPipeline.fromCollator(collator); const { documents } = await pipeline.execute(); const entity = expectedEntities[0]; documents.forEach((document, idx) => { diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md index 34d8ebacf1..8da781817a 100644 --- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md +++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-techdocs-module-addons-contrib +## 1.0.7-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 8536e7c281: Use `app.title` from `app-config.yaml` when creating new Documentation Feedback issue. `Backstage` is the default value. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/theme@0.2.16 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json index 91362aa4b0..beb5a8ddf1 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.0.6", + "version": "1.0.7-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -61,7 +61,7 @@ "@types/node": "^16.11.26", "@types/react": "^16.13.1 || ^17.0.0", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts b/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts index 22dc359942..800a422066 100644 --- a/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts +++ b/plugins/techdocs-module-addons-contrib/src/ReportIssue/hooks.ts @@ -16,7 +16,7 @@ import parseGitUrl from 'git-url-parse'; -import { useApi } from '@backstage/core-plugin-api'; +import { configApiRef, useApi } from '@backstage/core-plugin-api'; import { replaceGithubUrlType, replaceGitLabUrlType, @@ -48,7 +48,11 @@ export const getTitle = (selection: Selection) => { return `Documentation feedback: ${text}${ellipsis}`; }; -export const getBody = (selection: Selection, markdownUrl: string) => { +export const getBody = ( + selection: Selection, + markdownUrl: string, + appTitle: string, +) => { const title = '## Documentation Feedback 📝'; const subheading = '#### The highlighted text:'; const commentHeading = '#### The comment on the text:'; @@ -61,7 +65,7 @@ export const getBody = (selection: Selection, markdownUrl: string) => { .join('\n'); const facts = [ - `Backstage URL: <${window.location.href}> \nMarkdown URL: <${markdownUrl}>`, + `${appTitle} URL: <${window.location.href}> \nMarkdown URL: <${markdownUrl}>`, ]; return `${title}\n\n ${subheading} \n\n ${highlightedTextAsQuote}\n\n ${commentHeading} \n ${commentPlaceholder}\n\n ___\n${facts}`; @@ -73,7 +77,8 @@ export const useGitTemplate = (debounceTime?: number) => { const [editLink] = useShadowRootElements([PAGE_EDIT_LINK_SELECTOR]); const url = (editLink as HTMLAnchorElement)?.href ?? ''; const scmIntegrationsApi = useApi(scmIntegrationsApiRef); - + const configApi = useApi(configApiRef); + const appTitle = configApi.getOptionalString('app.title') || 'Backstage'; if (!selection || !url) return initialTemplate; const type = scmIntegrationsApi.byUrl(url)?.type; @@ -82,7 +87,7 @@ export const useGitTemplate = (debounceTime?: number) => { return { title: getTitle(selection), - body: getBody(selection, resolveBlobUrl(url, type)), + body: getBody(selection, resolveBlobUrl(url, type), appTitle), }; }; diff --git a/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx b/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx index 6b4a055c2a..081c718c2f 100644 --- a/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx +++ b/plugins/techdocs-module-addons-contrib/src/TextSize/TextSize.test.tsx @@ -59,7 +59,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('115%'); - let style = getComputedStyle(getByText('TEST_CONTENT')); + let style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('18.4px'); @@ -73,7 +73,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('100%'); - style = getComputedStyle(getByText('TEST_CONTENT')); + style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('16px'); }); @@ -105,7 +105,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('115%'); - let style = getComputedStyle(getByText('TEST_CONTENT')); + let style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('18.4px'); @@ -117,7 +117,7 @@ describe('TextSize', () => { expect(slider).toHaveTextContent('100%'); - style = getComputedStyle(getByText('TEST_CONTENT')); + style = window.getComputedStyle(getByText('TEST_CONTENT')); expect(style.getPropertyValue('--md-typeset-font-size')).toBe('16px'); }); diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md index 1fad63a9a1..981eff2be9 100644 --- a/plugins/techdocs-node/CHANGELOG.md +++ b/plugins/techdocs-node/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-node +## 1.4.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/plugin-search-common@1.1.2-next.0 + ## 1.4.2 ### Patch Changes diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json index 7da0d65167..668fe58239 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.4.2", + "version": "1.4.3-next.0", "main": "src/index.ts", "types": "src/index.ts", "publishConfig": { @@ -39,7 +39,11 @@ "url": "https://github.com/backstage/backstage/issues" }, "dependencies": { - "@azure/identity": "^2.0.1", + "@aws-sdk/client-s3": "^3.208.0", + "@aws-sdk/credential-providers": "^3.208.0", + "@aws-sdk/lib-storage": "^3.208.0", + "@aws-sdk/types": "^3.208.0", + "@azure/identity": "^2.1.0", "@azure/storage-blob": "^12.5.0", "@backstage/backend-common": "workspace:^", "@backstage/catalog-model": "workspace:^", @@ -50,7 +54,6 @@ "@google-cloud/storage": "^6.0.0", "@trendyol-js/openstack-swift-sdk": "^0.0.5", "@types/express": "^4.17.6", - "aws-sdk": "^2.840.0", "express": "^4.17.1", "fs-extra": "10.1.0", "git-url-parse": "^13.0.0", @@ -70,6 +73,7 @@ "@types/mock-fs": "^4.13.0", "@types/recursive-readdir": "^2.2.0", "@types/supertest": "^2.0.8", + "aws-sdk-client-mock": "^2.0.0", "supertest": "^6.1.3" } } diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts index 52d654d159..08facf2208 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.test.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.test.ts @@ -14,119 +14,31 @@ * limitations under the License. */ +import { + DeleteObjectCommand, + GetObjectCommand, + HeadBucketCommand, + HeadObjectCommand, + ListObjectsV2Command, + PutObjectCommand, + S3Client, + UploadPartCommand, +} from '@aws-sdk/client-s3'; import { getVoidLogger } from '@backstage/backend-common'; import { Entity, DEFAULT_NAMESPACE } from '@backstage/catalog-model'; import { ConfigReader } from '@backstage/config'; +import { mockClient, AwsClientStub } from 'aws-sdk-client-mock'; import express from 'express'; import request from 'supertest'; import mockFs from 'mock-fs'; import path from 'path'; -import fs, { ReadStream } from 'fs-extra'; -import { EventEmitter } from 'events'; +import fs from 'fs-extra'; import { AwsS3Publish } from './awsS3'; import { storageRootDir } from '../../testUtils/StorageFilesMock'; +import { Readable } from 'stream'; -jest.mock('aws-sdk', () => { - const { StorageFilesMock } = require('../../testUtils/StorageFilesMock'); - const storage = new StorageFilesMock(); - - return { - __esModule: true, - Credentials: jest.requireActual('aws-sdk').Credentials, - default: { - S3: class { - constructor() { - storage.emptyFiles(); - } - - headObject({ Key }: { Key: string }) { - return { - promise: async () => { - if (!storage.fileExists(Key)) { - throw new Error('File does not exist'); - } - }, - }; - } - - getObject({ Key }: { Key: string }) { - return { - promise: async () => storage.fileExists(Key), - createReadStream: () => { - const emitter = new EventEmitter(); - process.nextTick(() => { - if (storage.fileExists(Key)) { - emitter.emit('data', Buffer.from(storage.readFile(Key))); - emitter.emit('end'); - } else { - emitter.emit( - 'error', - new Error(`The file ${Key} does not exist!`), - ); - } - }); - return emitter; - }, - }; - } - - headBucket({ Bucket }: { Bucket: string }) { - return { - promise: async () => { - if (Bucket === 'errorBucket') { - throw new Error('Bucket does not exist'); - } - return {}; - }, - }; - } - - upload({ Key, Body }: { Key: string; Body: ReadStream }) { - return { - promise: () => - new Promise(async resolve => { - const chunks = new Array(); - Body.on('data', chunk => { - chunks.push(chunk as Buffer); - }); - Body.once('end', () => { - storage.writeFile(Key, Buffer.concat(chunks)); - resolve(null); - }); - }), - }; - } - - listObjectsV2({ Bucket }: { Bucket: string }) { - return { - promise: () => { - if ( - Bucket === 'delete_stale_files_success' || - Bucket === 'delete_stale_files_error' - ) { - return Promise.resolve({ - Contents: [{ Key: 'stale_file.png' }], - }); - } - return Promise.resolve({}); - }, - }; - } - - deleteObject({ Bucket }: { Bucket: string }) { - return { - promise: () => { - if (Bucket === 'delete_stale_files_error') { - throw new Error('Message'); - } - return Promise.resolve(); - }, - }; - } - }, - }, - }; -}); +const env = process.env; +let s3Mock: AwsClientStub; const getEntityRootDir = (entity: Entity) => { const { @@ -137,6 +49,23 @@ const getEntityRootDir = (entity: Entity) => { return path.join(storageRootDir, namespace || DEFAULT_NAMESPACE, kind, name); }; +class ErrorReadable extends Readable { + errorMessage: string; + + constructor(errorMessage: string) { + super(); + this.errorMessage = errorMessage; + } + + _read() { + this.destroy(new Error(this.errorMessage)); + } + + _destroy(error: Error | null, callback: (error?: Error | null) => void) { + callback(error); + } +} + const logger = getVoidLogger(); const loggerInfoSpy = jest.spyOn(logger, 'info'); const loggerErrorSpy = jest.spyOn(logger, 'error'); @@ -219,13 +148,71 @@ describe('AwsS3Publish', () => { }; beforeEach(() => { + process.env = { ...env }; + process.env.AWS_REGION = 'us-west-2'; + mockFs({ [directory]: files, }); + + const { StorageFilesMock } = require('../../testUtils/StorageFilesMock'); + const storage = new StorageFilesMock(); + storage.emptyFiles(); + + s3Mock = mockClient(S3Client); + + s3Mock.on(HeadObjectCommand).callsFake(input => { + if (!storage.fileExists(input.Key)) { + throw new Error('File does not exist'); + } + return {}; + }); + + s3Mock.on(GetObjectCommand).callsFake(input => { + if (storage.fileExists(input.Key)) { + return { + Body: Readable.from(storage.readFile(input.Key)), + }; + } + + throw new Error(`The file ${input.Key} does not exist!`); + }); + + s3Mock.on(HeadBucketCommand).callsFake(input => { + if (input.Bucket === 'errorBucket') { + throw new Error('Bucket does not exist'); + } + return {}; + }); + + s3Mock.on(ListObjectsV2Command).callsFake(input => { + if ( + input.Bucket === 'delete_stale_files_success' || + input.Bucket === 'delete_stale_files_error' + ) { + return { + Contents: [{ Key: 'stale_file.png' }], + }; + } + return {}; + }); + + s3Mock.on(DeleteObjectCommand).callsFake(input => { + if (input.Bucket === 'delete_stale_files_error') { + throw new Error('Message'); + } + return {}; + }); + + s3Mock.on(UploadPartCommand).rejects(); + s3Mock.on(PutObjectCommand).callsFake(input => { + storage.writeFile(input.Key, input.Body); + }); }); afterEach(() => { mockFs.restore(); + process.env = env; }); describe('getReadiness', () => { @@ -476,9 +463,33 @@ describe('AwsS3Publish', () => { const fails = publisher.fetchTechDocsMetadata(invalidEntityName); + await expect(fails).rejects.toMatchObject({ + message: expect.stringContaining( + 'The file invalid/triplet/path/techdocs_metadata.json does not exist', + ), + }); + }); + + it('should return an error if the techdocs_metadata.json file cannot be read from stream', async () => { + s3Mock.on(GetObjectCommand).callsFake(_ => { + return { + Body: new ErrorReadable('No stream!'), + }; + }); + + const publisher = createPublisherFromConfig(); + + const invalidEntityName = { + namespace: 'invalid', + kind: 'triplet', + name: 'path', + }; + + const fails = publisher.fetchTechDocsMetadata(invalidEntityName); + await expect(fails).rejects.toMatchObject({ message: expect.stringMatching( - 'TechDocs metadata fetch failed; caused by Error: Unable to read stream; caused by Error: The file invalid/triplet/path/techdocs_metadata.json does not exist', + 'TechDocs metadata fetch failed; caused by Error: Unable to read stream; caused by Error: No stream!', ), }); }); @@ -597,5 +608,22 @@ describe('AwsS3Publish', () => { 'File Not Found', ); }); + + it('should return 404 if file cannot be read from stream', async () => { + s3Mock.on(GetObjectCommand).callsFake(_ => { + return { + Body: new ErrorReadable('No stream!'), + }; + }); + + const response = await request(app).get( + `/${entityTripletPath}/not-found.html`, + ); + expect(response.status).toBe(404); + + expect(Buffer.from(response.text).toString('utf8')).toEqual( + 'File Not Found', + ); + }); }); }); diff --git a/plugins/techdocs-node/src/stages/publish/awsS3.ts b/plugins/techdocs-node/src/stages/publish/awsS3.ts index 67a4157a5b..7c2405cc1c 100644 --- a/plugins/techdocs-node/src/stages/publish/awsS3.ts +++ b/plugins/techdocs-node/src/stages/publish/awsS3.ts @@ -16,9 +16,23 @@ import { Entity, CompoundEntityRef } from '@backstage/catalog-model'; import { Config } from '@backstage/config'; import { assertError, ForwardedError } from '@backstage/errors'; -import aws, { Credentials } from 'aws-sdk'; -import { ListObjectsV2Output } from 'aws-sdk/clients/s3'; -import { CredentialsOptions } from 'aws-sdk/lib/credentials'; +import { + GetObjectCommand, + CopyObjectCommand, + DeleteObjectCommand, + HeadBucketCommand, + HeadObjectCommand, + PutObjectCommandInput, + ListObjectsV2CommandOutput, + ListObjectsV2Command, + S3Client, +} from '@aws-sdk/client-s3'; +import { + fromNodeProviderChain, + fromTemporaryCredentials, +} from '@aws-sdk/credential-providers'; +import { Upload } from '@aws-sdk/lib-storage'; +import { CredentialProvider } from '@aws-sdk/types'; import express from 'express'; import fs from 'fs-extra'; import JSON5 from 'json5'; @@ -60,7 +74,7 @@ const streamToBuffer = (stream: Readable): Promise => { }; export class AwsS3Publish implements PublisherBase { - private readonly storageClient: aws.S3; + private readonly storageClient: S3Client; private readonly bucketName: string; private readonly legacyPathCasing: boolean; private readonly logger: Logger; @@ -68,7 +82,7 @@ export class AwsS3Publish implements PublisherBase { private readonly sse?: 'aws:kms' | 'AES256'; constructor(options: { - storageClient: aws.S3; + storageClient: S3Client; bucketName: string; legacyPathCasing: boolean; logger: Logger; @@ -103,6 +117,10 @@ export class AwsS3Publish implements PublisherBase { | 'AES256' | undefined; + // AWS Region is an optional config. If missing, default AWS env variable AWS_REGION + // or AWS shared credentials file at ~/.aws/credentials will be used. + const region = config.getOptionalString('techdocs.publisher.awsS3.region'); + // Credentials is an optional config. If missing, the default ways of authenticating AWS SDK V2 will be used. // 1. AWS environment variables // https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-environment.html @@ -113,11 +131,10 @@ export class AwsS3Publish implements PublisherBase { const credentialsConfig = config.getOptionalConfig( 'techdocs.publisher.awsS3.credentials', ); - const credentials = AwsS3Publish.buildCredentials(credentialsConfig); - - // AWS Region is an optional config. If missing, default AWS env variable AWS_REGION - // or AWS shared credentials file at ~/.aws/credentials will be used. - const region = config.getOptionalString('techdocs.publisher.awsS3.region'); + const credentials = AwsS3Publish.buildCredentials( + credentialsConfig, + region, + ); // AWS endpoint is an optional config. If missing, the default endpoint is built from // the configured region. @@ -131,8 +148,9 @@ export class AwsS3Publish implements PublisherBase { 'techdocs.publisher.awsS3.s3ForcePathStyle', ); - const storageClient = new aws.S3({ - credentials, + const storageClient = new S3Client({ + customUserAgent: 'backstage-aws-techdocs-s3-publisher', + credentialDefaultProvider: () => credentials, ...(region && { region }), ...(endpoint && { endpoint }), ...(s3ForcePathStyle && { s3ForcePathStyle }), @@ -153,31 +171,42 @@ export class AwsS3Publish implements PublisherBase { }); } + private static buildStaticCredentials( + accessKeyId: string, + secretAccessKey: string, + ): CredentialProvider { + return async () => { + return Promise.resolve({ + accessKeyId, + secretAccessKey, + }); + }; + } + private static buildCredentials( config?: Config, - ): Credentials | CredentialsOptions | undefined { + region?: string, + ): CredentialProvider { if (!config) { - return undefined; + return fromNodeProviderChain(); } const accessKeyId = config.getOptionalString('accessKeyId'); const secretAccessKey = config.getOptionalString('secretAccessKey'); - let explicitCredentials: Credentials | undefined; - if (accessKeyId && secretAccessKey) { - explicitCredentials = new Credentials({ - accessKeyId, - secretAccessKey, - }); - } + const explicitCredentials: CredentialProvider = + accessKeyId && secretAccessKey + ? AwsS3Publish.buildStaticCredentials(accessKeyId, secretAccessKey) + : fromNodeProviderChain(); const roleArn = config.getOptionalString('roleArn'); if (roleArn) { - return new aws.ChainableTemporaryCredentials({ + return fromTemporaryCredentials({ masterCredentials: explicitCredentials, params: { RoleSessionName: 'backstage-aws-techdocs-s3-publisher', RoleArn: roleArn, }, + clientConfig: { region }, }); } @@ -190,9 +219,9 @@ export class AwsS3Publish implements PublisherBase { */ async getReadiness(): Promise { try { - await this.storageClient - .headBucket({ Bucket: this.bucketName }) - .promise(); + await this.storageClient.send( + new HeadBucketCommand({ Bucket: this.bucketName }), + ); this.logger.info( `Successfully connected to the AWS S3 bucket ${this.bucketName}.`, @@ -258,7 +287,7 @@ export class AwsS3Publish implements PublisherBase { const relativeFilePath = path.relative(directory, absoluteFilePath); const fileStream = fs.createReadStream(absoluteFilePath); - const params = { + const params: PutObjectCommandInput = { Bucket: this.bucketName, Key: getCloudPathForLocalPath( entity, @@ -268,10 +297,15 @@ export class AwsS3Publish implements PublisherBase { ), Body: fileStream, ...(sse && { ServerSideEncryption: sse }), - } as aws.S3.PutObjectRequest; + }; - objects.push(params.Key); - return this.storageClient.upload(params).promise(); + objects.push(params.Key!); + + const upload = new Upload({ + client: this.storageClient, + params, + }); + return upload.done(); }, absoluteFilesToUpload, { concurrencyLimit: 10 }, @@ -301,12 +335,12 @@ export class AwsS3Publish implements PublisherBase { await bulkStorageOperation( async relativeFilePath => { - return await this.storageClient - .deleteObject({ + return await this.storageClient.send( + new DeleteObjectCommand({ Bucket: this.bucketName, Key: relativeFilePath, - }) - .promise(); + }), + ); }, staleFiles, { concurrencyLimit: 10 }, @@ -334,15 +368,17 @@ export class AwsS3Publish implements PublisherBase { const entityRootDir = path.posix.join(this.bucketRootPath, entityDir); - const stream = this.storageClient - .getObject({ - Bucket: this.bucketName, - Key: `${entityRootDir}/techdocs_metadata.json`, - }) - .createReadStream(); - try { - const techdocsMetadataJson = await streamToBuffer(stream); + const resp = await this.storageClient.send( + new GetObjectCommand({ + Bucket: this.bucketName, + Key: `${entityRootDir}/techdocs_metadata.json`, + }), + ); + + const techdocsMetadataJson = await streamToBuffer( + resp.Body as Readable, + ); if (!techdocsMetadataJson) { throw new Error( `Unable to parse the techdocs metadata file ${entityRootDir}/techdocs_metadata.json.`, @@ -384,10 +420,11 @@ export class AwsS3Publish implements PublisherBase { const fileExtension = path.extname(filePath); const responseHeaders = getHeadersForFileExtension(fileExtension); - const stream = this.storageClient - .getObject({ Bucket: this.bucketName, Key: filePath }) - .createReadStream(); try { + const resp = await this.storageClient.send( + new GetObjectCommand({ Bucket: this.bucketName, Key: filePath }), + ); + // Inject response headers for (const [headerKey, headerValue] of Object.entries( responseHeaders, @@ -395,7 +432,7 @@ export class AwsS3Publish implements PublisherBase { res.setHeader(headerKey, headerValue); } - res.send(await streamToBuffer(stream)); + res.send(await streamToBuffer(resp.Body as Readable)); } catch (err) { assertError(err); this.logger.warn( @@ -419,12 +456,12 @@ export class AwsS3Publish implements PublisherBase { const entityRootDir = path.posix.join(this.bucketRootPath, entityDir); - await this.storageClient - .headObject({ + await this.storageClient.send( + new HeadObjectCommand({ Bucket: this.bucketName, Key: `${entityRootDir}/index.html`, - }) - .promise(); + }), + ); return Promise.resolve(true); } catch (e) { return Promise.resolve(false); @@ -457,21 +494,21 @@ export class AwsS3Publish implements PublisherBase { try { this.logger.verbose(`Migrating ${file}`); - await this.storageClient - .copyObject({ + await this.storageClient.send( + new CopyObjectCommand({ Bucket: this.bucketName, CopySource: [this.bucketName, file].join('/'), Key: newPath, - }) - .promise(); + }), + ); if (removeOriginal) { - await this.storageClient - .deleteObject({ + await this.storageClient.send( + new DeleteObjectCommand({ Bucket: this.bucketName, Key: file, - }) - .promise(); + }), + ); } } catch (e) { assertError(e); @@ -490,16 +527,16 @@ export class AwsS3Publish implements PublisherBase { ): Promise { const objects: string[] = []; let nextContinuation: string | undefined; - let allObjects: ListObjectsV2Output; + let allObjects: ListObjectsV2CommandOutput; // Iterate through every file in the root of the publisher. do { - allObjects = await this.storageClient - .listObjectsV2({ + allObjects = await this.storageClient.send( + new ListObjectsV2Command({ Bucket: this.bucketName, ContinuationToken: nextContinuation, ...(prefix ? { Prefix: prefix } : {}), - }) - .promise(); + }), + ); objects.push( ...(allObjects.Contents || []).map(f => f.Key || '').filter(f => !!f), ); diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md index 262c7f5284..ebea38b85e 100644 --- a/plugins/techdocs-react/CHANGELOG.md +++ b/plugins/techdocs-react/CHANGELOG.md @@ -1,5 +1,17 @@ # @backstage/plugin-techdocs-react +## 1.0.7-next.0 + +### Patch Changes + +- cb716004ef: Internal refactor to improve tests +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/version-bridge@1.0.2 + ## 1.0.6 ### Patch Changes diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json index 3adc83c969..c2334785ff 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.0.6", + "version": "1.0.7-next.0", "publishConfig": { "access": "public", "alphaTypes": "dist/index.alpha.d.ts", diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md index 8bbf00e84d..0757d6d1ce 100644 --- a/plugins/techdocs/CHANGELOG.md +++ b/plugins/techdocs/CHANGELOG.md @@ -1,5 +1,24 @@ # @backstage/plugin-techdocs +## 1.4.1-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/plugin-techdocs-react@1.0.7-next.0 + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/integration-react@1.1.7-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + - @backstage/plugin-search-common@1.1.2-next.0 + - @backstage/plugin-search-react@1.2.2-next.0 + ## 1.4.0 ### Minor Changes diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 5762a3d8af..ac1efbe5f7 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.4.0", + "version": "1.4.1-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -78,7 +78,7 @@ "@types/node": "^16.11.26", "canvas": "^2.10.2", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist", diff --git a/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx b/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx index 2837ab340a..acaf01b318 100644 --- a/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx +++ b/plugins/techdocs/src/home/components/Grids/EntityListDocsGrid.test.tsx @@ -103,9 +103,9 @@ describe('Entity List Docs Grid', () => { }, ); - expect(screen.queryByText('All Documentation')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #1')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #2')).toBeInTheDocument(); + expect(screen.getByText('All Documentation')).toBeInTheDocument(); + expect(screen.getByText('Documentation #1')).toBeInTheDocument(); + expect(screen.getByText('Documentation #2')).toBeInTheDocument(); expect(screen.queryByTestId('doc-not-found')).not.toBeInTheDocument(); }); @@ -131,8 +131,8 @@ describe('Entity List Docs Grid', () => { }, ); - expect(screen.queryByText('Curated Documentation')).toBeInTheDocument(); - expect(screen.queryByText('Documentation #1')).toBeInTheDocument(); + expect(screen.getByText('Curated Documentation')).toBeInTheDocument(); + expect(screen.getByText('Documentation #1')).toBeInTheDocument(); expect(screen.queryByText('Documentation #2')).not.toBeInTheDocument(); expect(screen.queryByTestId('doc-not-found')).not.toBeInTheDocument(); }); @@ -182,6 +182,6 @@ describe('Entity List Docs Grid', () => { expect(screen.queryByText('All Documentation')).not.toBeInTheDocument(); expect(screen.queryByText('Documentation #1')).not.toBeInTheDocument(); expect(screen.queryByText('Documentation #2')).not.toBeInTheDocument(); - expect(screen.queryByTestId('doc-not-found')).toBeInTheDocument(); + expect(screen.getByTestId('doc-not-found')).toBeInTheDocument(); }); }); diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts index 4613df374d..9c4ee08346 100644 --- a/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.test.ts @@ -20,7 +20,7 @@ import { lightTheme } from '@backstage/theme'; import { waitFor } from '@testing-library/react'; const clipboardSpy = jest.fn(); -Object.defineProperty(navigator, 'clipboard', { +Object.defineProperty(window.navigator, 'clipboard', { value: { writeText: clipboardSpy, }, diff --git a/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx b/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx index 25a1d67f65..6adb4252d3 100644 --- a/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx +++ b/plugins/techdocs/src/reader/transformers/copyToClipboard.tsx @@ -49,7 +49,7 @@ const CopyToClipboardButton = ({ text }: CopyToClipboardButtonProps) => { const [open, setOpen] = useState(false); const handleClick = useCallback(() => { - navigator.clipboard.writeText(text); + window.navigator.clipboard.writeText(text); setOpen(true); }, [text]); diff --git a/plugins/techdocs/src/search/components/TechDocsSearchResultListItem.tsx b/plugins/techdocs/src/search/components/TechDocsSearchResultListItem.tsx index 430165bf8b..c7755e8733 100644 --- a/plugins/techdocs/src/search/components/TechDocsSearchResultListItem.tsx +++ b/plugins/techdocs/src/search/components/TechDocsSearchResultListItem.tsx @@ -81,6 +81,15 @@ export const TechDocsSearchResultListItem = ( }); }; + const LinkWrapper = ({ children }: PropsWithChildren<{}>) => + asLink ? ( + + {children} + + ) : ( + <>{children} + ); + const TextItem = () => { const resultTitle = highlight?.fields.title ? ( - {resultTitle} | {entityTitle ?? resultName} docs - - ) + + {title ? ( + title + ) : ( + <> + {resultTitle} | {entityTitle ?? resultName} docs + + )} + } secondary={ ) => - asLink ? ( - - {children} - - ) : ( - <>{children} - ); - const ListItemWrapper = ({ children }: PropsWithChildren<{}>) => asListItem ? ( <> @@ -172,10 +174,8 @@ export const TechDocsSearchResultListItem = ( ); return ( - - - - - + + + ); }; diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md index 0acae327c1..59864387e3 100644 --- a/plugins/todo-backend/CHANGELOG.md +++ b/plugins/todo-backend/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-todo-backend +## 0.1.36-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/catalog-client@1.2.0-next.0 + - @backstage/backend-common@0.16.1-next.0 + - @backstage/integration@1.4.1-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.35 ### Patch Changes diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json index f08ef060c5..fd563c6a2e 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.1.35", + "version": "0.1.36-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -45,7 +45,7 @@ "devDependencies": { "@backstage/cli": "workspace:^", "@types/supertest": "^2.0.8", - "msw": "^0.48.0", + "msw": "^0.49.0", "supertest": "^6.1.3" }, "files": [ diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md index f05b2c3d4d..3197a6ac95 100644 --- a/plugins/todo/CHANGELOG.md +++ b/plugins/todo/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-todo +## 0.2.14-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.13 ### Patch Changes diff --git a/plugins/todo/package.json b/plugins/todo/package.json index a098fe1132..3247464afb 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.13", + "version": "0.2.14-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -54,7 +54,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md index f17baf793d..c0bb920fce 100644 --- a/plugins/user-settings-backend/CHANGELOG.md +++ b/plugins/user-settings-backend/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-user-settings-backend +## 0.1.3-next.0 + +### Patch Changes + +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/plugin-auth-node@0.2.8-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.1.2 ### Patch Changes diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json index 94a9c01d55..4f9d278cdf 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.1.2", + "version": "0.1.3-next.0", "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 ff36b363d8..c9c2effcad 100644 --- a/plugins/user-settings/CHANGELOG.md +++ b/plugins/user-settings/CHANGELOG.md @@ -1,5 +1,23 @@ # @backstage/plugin-user-settings +## 0.6.0-next.0 + +### Minor Changes + +- 29bdda5442: Added the ability to fully customize settings page. Deprecated UserSettingsTab in favour of SettingsLayout.Route + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 19356df560: Updated dependency `zen-observable` to `^0.9.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-app-api@1.2.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/types@1.0.2-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.5.1 ### Patch Changes diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json index b8db3a5b03..e0b1822a9c 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.5.1", + "version": "0.6.0-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -58,7 +58,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md index 08fb5bf341..8b41bafb81 100644 --- a/plugins/vault-backend/CHANGELOG.md +++ b/plugins/vault-backend/CHANGELOG.md @@ -1,5 +1,19 @@ # @backstage/plugin-vault-backend +## 0.2.5-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- 7a3d2688ed: Use `express-promise-router` to catch errors properly. + Add `403` error as a known one. It will now return a `NotAllowed` error. +- Updated dependencies + - @backstage/backend-common@0.16.1-next.0 + - @backstage/backend-test-utils@0.1.31-next.0 + - @backstage/backend-tasks@0.3.8-next.0 + - @backstage/config@1.0.5-next.0 + - @backstage/errors@1.1.4-next.0 + ## 0.2.4 ### Patch Changes diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json index 5a023e50e6..7a5b7894dc 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.2.4", + "version": "0.2.5-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -53,7 +53,7 @@ "@backstage/cli": "workspace:^", "@types/compression": "^1.7.2", "@types/supertest": "^2.0.8", - "msw": "^0.48.0", + "msw": "^0.49.0", "supertest": "^6.1.6" }, "files": [ diff --git a/plugins/vault-backend/src/service/VaultBuilder.ts b/plugins/vault-backend/src/service/VaultBuilder.ts index b82a5802bb..788b90ff01 100644 --- a/plugins/vault-backend/src/service/VaultBuilder.ts +++ b/plugins/vault-backend/src/service/VaultBuilder.ts @@ -17,7 +17,8 @@ import { Config } from '@backstage/config'; import { InputError } from '@backstage/errors'; import { Logger } from 'winston'; -import express, { Router } from 'express'; +import express from 'express'; +import Router from 'express-promise-router'; import { VaultClient } from './vaultApi'; import { TaskRunner, PluginTaskScheduler } from '@backstage/backend-tasks'; import { errorHandler } from '@backstage/backend-common'; diff --git a/plugins/vault-backend/src/service/vaultApi.ts b/plugins/vault-backend/src/service/vaultApi.ts index 785352fea8..ea588964dc 100644 --- a/plugins/vault-backend/src/service/vaultApi.ts +++ b/plugins/vault-backend/src/service/vaultApi.ts @@ -15,7 +15,7 @@ */ import { Config } from '@backstage/config'; -import { NotFoundError } from '@backstage/errors'; +import { NotAllowedError, NotFoundError } from '@backstage/errors'; import fetch from 'node-fetch'; import plimit from 'p-limit'; import { getVaultConfig, VaultConfig } from '../config'; @@ -103,6 +103,8 @@ export class VaultClient implements VaultApi { return (await response.json()) as T; } else if (response.status === 404) { throw new NotFoundError(`No secrets found in path '${path}'`); + } else if (response.status === 403) { + throw new NotAllowedError(response.statusText); } throw new Error( `Unexpected error while fetching secrets from path '${path}'`, diff --git a/plugins/vault/CHANGELOG.md b/plugins/vault/CHANGELOG.md index 6f7da110d1..cc67baf940 100644 --- a/plugins/vault/CHANGELOG.md +++ b/plugins/vault/CHANGELOG.md @@ -1,5 +1,18 @@ # @backstage/plugin-vault +## 0.1.6-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/plugin-catalog-react@1.2.2-next.0 + - @backstage/catalog-model@1.1.4-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.1.5 ### Patch Changes diff --git a/plugins/vault/package.json b/plugins/vault/package.json index 6b0a360e4e..3dde73660f 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.5", + "version": "0.1.6-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -57,7 +57,7 @@ "@testing-library/user-event": "^14.0.0", "@types/node": "*", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md index a4fccd2e16..4fee3c2c3f 100644 --- a/plugins/xcmetrics/CHANGELOG.md +++ b/plugins/xcmetrics/CHANGELOG.md @@ -1,5 +1,16 @@ # @backstage/plugin-xcmetrics +## 0.2.32-next.0 + +### Patch Changes + +- 3280711113: Updated dependency `msw` to `^0.49.0`. +- Updated dependencies + - @backstage/core-components@0.12.1-next.0 + - @backstage/core-plugin-api@1.1.1-next.0 + - @backstage/errors@1.1.4-next.0 + - @backstage/theme@0.2.16 + ## 0.2.31 ### Patch Changes diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json index 026391e627..db33c63d92 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.31", + "version": "0.2.32-next.0", "main": "src/index.ts", "types": "src/index.ts", "license": "Apache-2.0", @@ -49,7 +49,7 @@ "@types/luxon": "^3.0.0", "@types/node": "^16.11.26", "cross-fetch": "^3.1.5", - "msw": "^0.48.0" + "msw": "^0.49.0" }, "files": [ "dist" diff --git a/scripts/check-if-release.js b/scripts/check-if-release.js index b61b0e2eb7..e7dabe14a4 100755 --- a/scripts/check-if-release.js +++ b/scripts/check-if-release.js @@ -28,6 +28,7 @@ const { execFile: execFileCb } = require('child_process'); const { resolve: resolvePath } = require('path'); const { promises: fs } = require('fs'); const { promisify } = require('util'); +const { EOL } = require('os'); const parentRef = process.env.COMMIT_SHA_BEFORE || 'HEAD^'; @@ -53,6 +54,10 @@ async function runPlain(cmd, ...args) { async function main() { process.cwd(resolvePath(__dirname, '..')); + if (!process.env.GITHUB_OUTPUT) { + throw new Error('GITHUB_OUTPUT environment variable not set'); + } + const diff = await runPlain( 'git', 'diff', @@ -103,7 +108,7 @@ async function main() { if (newVersions.length === 0) { console.log('No package version bumps detected, no release needed'); - console.log(`::set-output name=needs_release::false`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `needs_release=false${EOL}`); return; } @@ -114,7 +119,7 @@ async function main() { ` ${name.padEnd(maxLength, ' ')} ${oldVersion} to ${newVersion}`, ); } - console.log(`::set-output name=needs_release::true`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `needs_release=true${EOL}`); } main().catch(error => { diff --git a/scripts/create-release-tag.js b/scripts/create-release-tag.js index a2706c578f..28417024fd 100755 --- a/scripts/create-release-tag.js +++ b/scripts/create-release-tag.js @@ -19,6 +19,7 @@ const { Octokit } = require('@octokit/rest'); const path = require('path'); const fs = require('fs-extra'); +const { EOL } = require('os'); const baseOptions = { owner: 'backstage', @@ -64,6 +65,9 @@ async function main() { if (!process.env.GITHUB_TOKEN) { throw new Error('GITHUB_TOKEN is not set'); } + if (!process.env.GITHUB_OUTPUT) { + throw new Error('GITHUB_OUTPUT environment variable not set'); + } const commitSha = process.env.GITHUB_SHA; const octokit = new Octokit({ auth: process.env.GITHUB_TOKEN }); @@ -74,8 +78,11 @@ async function main() { console.log(`Creating release tag ${tagName} at ${commitSha}`); await createGitTag(octokit, commitSha, tagName); - console.log(`::set-output name=tag_name::${tagName}`); - console.log(`::set-output name=version::${releaseVersion}`); + await fs.appendFile(process.env.GITHUB_OUTPUT, `tag_name=${tagName}${EOL}`); + await fs.appendFile( + process.env.GITHUB_OUTPUT, + `version=${releaseVersion}${EOL}`, + ); } main().catch(error => { diff --git a/scripts/generate-merge-message.js b/scripts/generate-merge-message.js new file mode 100755 index 0000000000..f691c92c79 --- /dev/null +++ b/scripts/generate-merge-message.js @@ -0,0 +1,122 @@ +#!/usr/bin/env node +/* + * 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. + */ + +const { execFile: execFileCb } = require('child_process'); +const { promisify } = require('util'); +const { resolve: resolvePath } = require('path'); + +const execFile = promisify(execFileCb); + +async function hasNewChangesets(baseRef, headRef) { + if (!baseRef) { + throw new Error('baseRef is required'); + } + if (!headRef) { + throw new Error('headRef is required'); + } + + const { stdout } = await execFile('git', [ + 'diff', + '--compact-summary', + baseRef, + headRef, + '--', + '.changeset/*.md', + ':(exclude).changeset/create-app-*.md', + ]); + return stdout.includes('(new)'); +} + +function getReleaseOfMonth(year, month) { + const base = new Date(Date.UTC(year, month)); + const wednesdayOffset = + base.getUTCDay() > 3 ? 10 - base.getUTCDay() : 3 - base.getUTCDay(); + const thirdWednesdayOffset = wednesdayOffset + 7 * 2; + const releaseOffset = thirdWednesdayOffset - 1; + const releaseDay = new Date( + Date.UTC(base.getUTCFullYear(), base.getUTCMonth(), releaseOffset + 1), + ); + return releaseDay; +} + +function getReleaseSchedule() { + const firstReleaseYear = 2022; + const firstReleaseMonth = 2; + + return Array(100) + .fill(0) + .map((_, i) => { + const date = getReleaseOfMonth(firstReleaseYear, firstReleaseMonth + i); + return { version: `1.${i}.0`, date }; + }); +} + +function getCurrentRelease() { + const { version: releaseVersion } = require(resolvePath('package.json')); + + const match = releaseVersion.match(/^(\d+\.\d+\.\d+)/); + if (!match) { + throw new Error(`Failed to parse release version, '${releaseVersion}'`); + } + const [versionStr] = match; + if (versionStr === releaseVersion) { + return releaseVersion; + } + const [major, minor] = versionStr.split('.').map(Number); + return `${major}.${minor - 1}.0`; +} + +function findNextRelease(currentRelease, releaseSchedule) { + const currentIndex = releaseSchedule.findIndex( + r => r.version === currentRelease, + ); + if (currentIndex === -1) { + throw new Error( + `Failed to find current release '${currentRelease}' in release schedule`, + ); + } + + return releaseSchedule[currentIndex + 1]; +} + +async function main() { + const [diffBaseRefRef = 'origin/master', diffHeadRef = 'HEAD'] = + process.argv.slice(2); + const needsMessage = await hasNewChangesets(diffBaseRefRef, diffHeadRef); + if (!needsMessage) { + return; + } + + const currentRelease = getCurrentRelease(); + const releaseSchedule = getReleaseSchedule(); + const nextRelease = findNextRelease(currentRelease, releaseSchedule); + + const scheduledDate = nextRelease.date + .toUTCString() + .replace(/\s*\d+:\d+:\d+.*/, ''); + process.stdout.write( + [ + 'Thank you for contributing to Backstage! The changes in this pull request will be part', + `of the \`${nextRelease.version}\` release, scheduled for ${scheduledDate}.`, + ].join(' '), + ); +} + +main().catch(error => { + console.error(error.stack); + process.exit(1); +}); diff --git a/storybook/yarn.lock b/storybook/yarn.lock index 77fbf8ca66..29f94941ef 100644 --- a/storybook/yarn.lock +++ b/storybook/yarn.lock @@ -2966,90 +2966,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-darwin-arm64@npm:1.3.16" +"@swc/core-darwin-arm64@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-darwin-arm64@npm:1.3.20" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-darwin-x64@npm:1.3.16" +"@swc/core-darwin-x64@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-darwin-x64@npm:1.3.20" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.16" +"@swc/core-linux-arm-gnueabihf@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.20" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.16" +"@swc/core-linux-arm64-gnu@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.20" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.16" +"@swc/core-linux-arm64-musl@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.20" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.16" +"@swc/core-linux-x64-gnu@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.20" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-x64-musl@npm:1.3.16" +"@swc/core-linux-x64-musl@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-x64-musl@npm:1.3.20" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.16" +"@swc/core-win32-arm64-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.20" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.16" +"@swc/core-win32-ia32-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.20" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.16" +"@swc/core-win32-x64-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.20" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.9": - version: 1.3.16 - resolution: "@swc/core@npm:1.3.16" + version: 1.3.20 + resolution: "@swc/core@npm:1.3.20" dependencies: - "@swc/core-darwin-arm64": 1.3.16 - "@swc/core-darwin-x64": 1.3.16 - "@swc/core-linux-arm-gnueabihf": 1.3.16 - "@swc/core-linux-arm64-gnu": 1.3.16 - "@swc/core-linux-arm64-musl": 1.3.16 - "@swc/core-linux-x64-gnu": 1.3.16 - "@swc/core-linux-x64-musl": 1.3.16 - "@swc/core-win32-arm64-msvc": 1.3.16 - "@swc/core-win32-ia32-msvc": 1.3.16 - "@swc/core-win32-x64-msvc": 1.3.16 + "@swc/core-darwin-arm64": 1.3.20 + "@swc/core-darwin-x64": 1.3.20 + "@swc/core-linux-arm-gnueabihf": 1.3.20 + "@swc/core-linux-arm64-gnu": 1.3.20 + "@swc/core-linux-arm64-musl": 1.3.20 + "@swc/core-linux-x64-gnu": 1.3.20 + "@swc/core-linux-x64-musl": 1.3.20 + "@swc/core-win32-arm64-msvc": 1.3.20 + "@swc/core-win32-ia32-msvc": 1.3.20 + "@swc/core-win32-x64-msvc": 1.3.20 dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -3073,7 +3073,7 @@ __metadata: optional: true bin: swcx: run_swcx.js - checksum: 4361252c928c487a02f526aecd8f3072b923244234c2701916944cf13c252b6d5ce2466caf3e0797d3e92e71a89d4a044f8577e51e8f7fe3af0fe30d94e94b13 + checksum: 646c37e3521f04cd08061ab67a4388959e4b234c38eba2eb9fe0fd615dedb6ff9412264789e58af7c2d24b3e5a7ea456efd060e3760d7a91509234b5b5983ad7 languageName: node linkType: hard diff --git a/yarn.lock b/yarn.lock index 1a5617c798..98614b0736 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,45 +21,15 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:9.0.6, @apidevtools/json-schema-ref-parser@npm:^9.0.6": - version: 9.0.6 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.6" +"@apidevtools/json-schema-ref-parser@npm:^9.0.6": + version: 9.1.0 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.0" dependencies: "@jsdevtools/ono": ^7.1.3 + "@types/json-schema": ^7.0.6 call-me-maybe: ^1.0.1 - js-yaml: ^3.13.1 - checksum: c7ff53623ab8a9dd221772a5757fa0b9e5167a5ac3a71c23596634bae6efc85d8efcdebbe17f73ee5c027ea5afc48c705e8a720f02c4909f9a357d8027040b7b - languageName: node - linkType: hard - -"@apidevtools/openapi-schemas@npm:^2.1.0": - version: 2.1.0 - resolution: "@apidevtools/openapi-schemas@npm:2.1.0" - checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 - languageName: node - linkType: hard - -"@apidevtools/swagger-methods@npm:^3.0.2": - version: 3.0.2 - resolution: "@apidevtools/swagger-methods@npm:3.0.2" - checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae - languageName: node - linkType: hard - -"@apidevtools/swagger-parser@npm:^10.1.0": - version: 10.1.0 - resolution: "@apidevtools/swagger-parser@npm:10.1.0" - dependencies: - "@apidevtools/json-schema-ref-parser": 9.0.6 - "@apidevtools/openapi-schemas": ^2.1.0 - "@apidevtools/swagger-methods": ^3.0.2 - "@jsdevtools/ono": ^7.1.3 - ajv: ^8.6.3 - ajv-draft-04: ^1.0.0 - call-me-maybe: ^1.0.1 - peerDependencies: - openapi-types: ">=7" - checksum: c7c923755bd025ee2cae97e1cfd525538523ba74c341a0ac814c023ffe5e63fc2d997539a8ccf9a0fcec41a2d6337d40cc5735acb991ddcbb415853a241908d1 + js-yaml: ^4.1.0 + checksum: 135569d905cd5cd3652fe850ff3a07bfbbfb1585bb20139710e8a865f0bd9fa1c8bbe8122cce11928ce00fc618b8b9f61ccd7b62827654c9b7e2853789ee0e4a languageName: node linkType: hard @@ -306,6 +276,28 @@ __metadata: languageName: node linkType: hard +"@aws-crypto/crc32@npm:2.0.0": + version: 2.0.0 + resolution: "@aws-crypto/crc32@npm:2.0.0" + dependencies: + "@aws-crypto/util": ^2.0.0 + "@aws-sdk/types": ^3.1.0 + tslib: ^1.11.1 + checksum: 88ab906da8304a430c655496e363835f3c7ca870db0dec50bb9d53ed0f446337de60c85ba7baa4528c8363bee708474785649262ebfde23a1e099eb69318b53e + languageName: node + linkType: hard + +"@aws-crypto/crc32c@npm:2.0.0": + version: 2.0.0 + resolution: "@aws-crypto/crc32c@npm:2.0.0" + dependencies: + "@aws-crypto/util": ^2.0.0 + "@aws-sdk/types": ^3.1.0 + tslib: ^1.11.1 + checksum: 776e1e61b3bde018b815d3973774a4ec3cd88c282046e49bb5a2625ac7db923068aad708a8e4c21b62a80e50a5c58324a32621b9ba82b7b2ecab66370c4fe893 + languageName: node + linkType: hard + "@aws-crypto/ie11-detection@npm:^2.0.0": version: 2.0.2 resolution: "@aws-crypto/ie11-detection@npm:2.0.2" @@ -315,6 +307,20 @@ __metadata: languageName: node linkType: hard +"@aws-crypto/sha1-browser@npm:2.0.0": + version: 2.0.0 + resolution: "@aws-crypto/sha1-browser@npm:2.0.0" + dependencies: + "@aws-crypto/ie11-detection": ^2.0.0 + "@aws-crypto/supports-web-crypto": ^2.0.0 + "@aws-sdk/types": ^3.1.0 + "@aws-sdk/util-locate-window": ^3.0.0 + "@aws-sdk/util-utf8-browser": ^3.0.0 + tslib: ^1.11.1 + checksum: 72c0b24800cd79328fef934553e7a5d5929c90877d7e9a661614542dd29d0d99ee1594bd59fc028ee9ec595d77df56645a396c6336cff3c7784a564302d4a254 + languageName: node + linkType: hard + "@aws-crypto/sha256-browser@npm:2.0.0": version: 2.0.0 resolution: "@aws-crypto/sha256-browser@npm:2.0.0" @@ -373,647 +379,1111 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/abort-controller@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/abort-controller@npm:3.183.0" +"@aws-sdk/abort-controller@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/abort-controller@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 28f5bc16b5aba414e354df603bc8becd010aa8c9b3c79e527130723a39f21d5a3df98c3bafb3cea733d415a5b042af90098ffa9dfa29d400114c2f6f5292524e + checksum: eda64e8f93885a20b889374c6ae068799f9ee5ef91850a9c07e29465734a83c33b4bd37d961a61a2ff0c64ed18651a9878db40b1d7bb39aef4338a9167bfb605 languageName: node linkType: hard -"@aws-sdk/client-sqs@npm:^3.0.0": - version: 3.183.0 - resolution: "@aws-sdk/client-sqs@npm:3.183.0" +"@aws-sdk/chunked-blob-reader-native@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/chunked-blob-reader-native@npm:3.208.0" + dependencies: + "@aws-sdk/util-base64": 3.208.0 + tslib: ^2.3.1 + checksum: 6df294c66d6acaa3de2c5f3444a62577d0effa451a65b6a1606df538cfc865d257f01c74e711b36741a2c59f43385bd393c07c8562fe5101d6069b8c2646da53 + languageName: node + linkType: hard + +"@aws-sdk/chunked-blob-reader@npm:3.188.0": + version: 3.188.0 + resolution: "@aws-sdk/chunked-blob-reader@npm:3.188.0" + dependencies: + tslib: ^2.3.1 + checksum: d6becebc6d77a63dd84601806c5f04bc9d0e418368fb2d593d786738119091e4d2e40721751be66260063fe7bb1c7ee2a5e075fa731eb8307722b90f6ce809dc + languageName: node + linkType: hard + +"@aws-sdk/client-cognito-identity@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.218.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/client-sts": 3.183.0 - "@aws-sdk/config-resolver": 3.183.0 - "@aws-sdk/credential-provider-node": 3.183.0 - "@aws-sdk/fetch-http-handler": 3.183.0 - "@aws-sdk/hash-node": 3.183.0 - "@aws-sdk/invalid-dependency": 3.183.0 - "@aws-sdk/md5-js": 3.183.0 - "@aws-sdk/middleware-content-length": 3.183.0 - "@aws-sdk/middleware-host-header": 3.183.0 - "@aws-sdk/middleware-logger": 3.183.0 - "@aws-sdk/middleware-recursion-detection": 3.183.0 - "@aws-sdk/middleware-retry": 3.183.0 - "@aws-sdk/middleware-sdk-sqs": 3.183.0 - "@aws-sdk/middleware-serde": 3.183.0 - "@aws-sdk/middleware-signing": 3.183.0 - "@aws-sdk/middleware-stack": 3.183.0 - "@aws-sdk/middleware-user-agent": 3.183.0 - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/node-http-handler": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/smithy-client": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/url-parser": 3.183.0 - "@aws-sdk/util-base64-browser": 3.183.0 - "@aws-sdk/util-base64-node": 3.183.0 - "@aws-sdk/util-body-length-browser": 3.183.0 - "@aws-sdk/util-body-length-node": 3.183.0 - "@aws-sdk/util-defaults-mode-browser": 3.183.0 - "@aws-sdk/util-defaults-mode-node": 3.183.0 - "@aws-sdk/util-user-agent-browser": 3.183.0 - "@aws-sdk/util-user-agent-node": 3.183.0 - "@aws-sdk/util-utf8-browser": 3.183.0 - "@aws-sdk/util-utf8-node": 3.183.0 - entities: 2.2.0 - fast-xml-parser: 3.19.0 + "@aws-sdk/client-sts": 3.218.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/credential-provider-node": 3.218.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-signing": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: fe0a7ba53cac4d52c25a4a4f1a1bb16438d5011347fcfec037df1d73379d750cd47b437f7a45aea2d4e29bc92587b51dd7631a06f5d6881e3b67b2d4c0dd2633 + checksum: 54c15fa5cf9179eb806ae3bec4b0b936e28a955a2fa750ba99fe687e9580618dd6190726caf770db4fa23aed35dd022406b1d3eb9112c6a04d61edacdda3c501 languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/client-sso@npm:3.183.0" +"@aws-sdk/client-s3@npm:^3.208.0": + version: 3.218.0 + resolution: "@aws-sdk/client-s3@npm:3.218.0" + dependencies: + "@aws-crypto/sha1-browser": 2.0.0 + "@aws-crypto/sha256-browser": 2.0.0 + "@aws-crypto/sha256-js": 2.0.0 + "@aws-sdk/client-sts": 3.218.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/credential-provider-node": 3.218.0 + "@aws-sdk/eventstream-serde-browser": 3.215.0 + "@aws-sdk/eventstream-serde-config-resolver": 3.215.0 + "@aws-sdk/eventstream-serde-node": 3.215.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-blob-browser": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/hash-stream-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/md5-js": 3.215.0 + "@aws-sdk/middleware-bucket-endpoint": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-expect-continue": 3.215.0 + "@aws-sdk/middleware-flexible-checksums": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-location-constraint": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-sdk-s3": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-signing": 3.215.0 + "@aws-sdk/middleware-ssec": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/signature-v4-multi-region": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-stream-browser": 3.215.0 + "@aws-sdk/util-stream-node": 3.215.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 + "@aws-sdk/util-waiter": 3.215.0 + "@aws-sdk/xml-builder": 3.201.0 + fast-xml-parser: 4.0.11 + tslib: ^2.3.1 + checksum: a747efc45e20a309dc856a01770f95d3503ab3d144d356ef8b37125023b735e98d429e4b7bf3f37fd0686e59132573d9b0703e9dcf0986e08c843eefa10d8aaa + languageName: node + linkType: hard + +"@aws-sdk/client-sqs@npm:^3.208.0": + version: 3.218.0 + resolution: "@aws-sdk/client-sqs@npm:3.218.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.183.0 - "@aws-sdk/fetch-http-handler": 3.183.0 - "@aws-sdk/hash-node": 3.183.0 - "@aws-sdk/invalid-dependency": 3.183.0 - "@aws-sdk/middleware-content-length": 3.183.0 - "@aws-sdk/middleware-host-header": 3.183.0 - "@aws-sdk/middleware-logger": 3.183.0 - "@aws-sdk/middleware-recursion-detection": 3.183.0 - "@aws-sdk/middleware-retry": 3.183.0 - "@aws-sdk/middleware-serde": 3.183.0 - "@aws-sdk/middleware-stack": 3.183.0 - "@aws-sdk/middleware-user-agent": 3.183.0 - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/node-http-handler": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/smithy-client": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/url-parser": 3.183.0 - "@aws-sdk/util-base64-browser": 3.183.0 - "@aws-sdk/util-base64-node": 3.183.0 - "@aws-sdk/util-body-length-browser": 3.183.0 - "@aws-sdk/util-body-length-node": 3.183.0 - "@aws-sdk/util-defaults-mode-browser": 3.183.0 - "@aws-sdk/util-defaults-mode-node": 3.183.0 - "@aws-sdk/util-user-agent-browser": 3.183.0 - "@aws-sdk/util-user-agent-node": 3.183.0 - "@aws-sdk/util-utf8-browser": 3.183.0 - "@aws-sdk/util-utf8-node": 3.183.0 + "@aws-sdk/client-sts": 3.218.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/credential-provider-node": 3.218.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/md5-js": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-sdk-sqs": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-signing": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 + fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: 6909329cf87c1a0c830fa9657e04c7e1ae496d7d79cc0a6813999503ae809f245f0b879af1d5564a5d97c2c69583c8a4df702d29ec7dc75934d98a0cdf017ad3 + checksum: 6fe2faf96f848fba4f36b736f2979ddf2283708241b56e22cfb27b196c8dcaf87bcbef148eb511e961800257edd6e895ea2cf0fe18bdf9dd9d54140d6dcfeca1 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/client-sts@npm:3.183.0" +"@aws-sdk/client-sso-oidc@npm:3.216.0": + version: 3.216.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.216.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/config-resolver": 3.183.0 - "@aws-sdk/credential-provider-node": 3.183.0 - "@aws-sdk/fetch-http-handler": 3.183.0 - "@aws-sdk/hash-node": 3.183.0 - "@aws-sdk/invalid-dependency": 3.183.0 - "@aws-sdk/middleware-content-length": 3.183.0 - "@aws-sdk/middleware-host-header": 3.183.0 - "@aws-sdk/middleware-logger": 3.183.0 - "@aws-sdk/middleware-recursion-detection": 3.183.0 - "@aws-sdk/middleware-retry": 3.183.0 - "@aws-sdk/middleware-sdk-sts": 3.183.0 - "@aws-sdk/middleware-serde": 3.183.0 - "@aws-sdk/middleware-signing": 3.183.0 - "@aws-sdk/middleware-stack": 3.183.0 - "@aws-sdk/middleware-user-agent": 3.183.0 - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/node-http-handler": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/smithy-client": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/url-parser": 3.183.0 - "@aws-sdk/util-base64-browser": 3.183.0 - "@aws-sdk/util-base64-node": 3.183.0 - "@aws-sdk/util-body-length-browser": 3.183.0 - "@aws-sdk/util-body-length-node": 3.183.0 - "@aws-sdk/util-defaults-mode-browser": 3.183.0 - "@aws-sdk/util-defaults-mode-node": 3.183.0 - "@aws-sdk/util-user-agent-browser": 3.183.0 - "@aws-sdk/util-user-agent-node": 3.183.0 - "@aws-sdk/util-utf8-browser": 3.183.0 - "@aws-sdk/util-utf8-node": 3.183.0 - entities: 2.2.0 - fast-xml-parser: 3.19.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: d4492e537803d64e5fc0c5db8ac3a3788204aadc14b21e4fb407188feb58b35689c4a6878b4f13123a5f35f7e9fa01d95d427be168aeec9072aea881f2a92fb7 + checksum: b1bce1b9594f2a0c19aabe934ee5d53becfff4f4244ce907393621d8e990df0625d0fe3ba3e1c7dba48946f43bd451d2c969b5e9fa9ee1b8504298706677bf30 languageName: node linkType: hard -"@aws-sdk/config-resolver@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/config-resolver@npm:3.183.0" +"@aws-sdk/client-sso@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/client-sso@npm:3.218.0" dependencies: - "@aws-sdk/signature-v4": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-config-provider": 3.183.0 - "@aws-sdk/util-middleware": 3.183.0 + "@aws-crypto/sha256-browser": 2.0.0 + "@aws-crypto/sha256-js": 2.0.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: 1be0ab79d5019f7502a7aee8c740f4e381ab7501ed639569526a4a7e1c70ad6bb36d642a8a2b18afe58c34497c6f2f8244dbf05211a0f6bc9a57e5e379c70b2b + checksum: 2ef01b0cf87ca4af9fb728e01674a765b84111a6e4030f8aa4dff3dbacc2a3c55861bdb3d992be84e49b625e50d497aa0f611e7e0c1de844392ee3089b9fe879 languageName: node linkType: hard -"@aws-sdk/credential-provider-env@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-env@npm:3.183.0" +"@aws-sdk/client-sts@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/client-sts@npm:3.218.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-crypto/sha256-browser": 2.0.0 + "@aws-crypto/sha256-js": 2.0.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/credential-provider-node": 3.218.0 + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/hash-node": 3.215.0 + "@aws-sdk/invalid-dependency": 3.215.0 + "@aws-sdk/middleware-content-length": 3.215.0 + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/middleware-host-header": 3.215.0 + "@aws-sdk/middleware-logger": 3.215.0 + "@aws-sdk/middleware-recursion-detection": 3.215.0 + "@aws-sdk/middleware-retry": 3.215.0 + "@aws-sdk/middleware-sdk-sts": 3.215.0 + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/middleware-signing": 3.215.0 + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/middleware-user-agent": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-body-length-browser": 3.188.0 + "@aws-sdk/util-body-length-node": 3.208.0 + "@aws-sdk/util-defaults-mode-browser": 3.215.0 + "@aws-sdk/util-defaults-mode-node": 3.215.0 + "@aws-sdk/util-endpoints": 3.216.0 + "@aws-sdk/util-user-agent-browser": 3.215.0 + "@aws-sdk/util-user-agent-node": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 + fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: 4281e14c286cc5c57c69ba88c49fe1c1ff61f27923db5e8f852a84cce02b40fdc938f876ad08e72005deae9a28fab7400f747f63ca50f9c4d60e04e6c2705205 + checksum: 1619e054c23ef3b103fe1427faad454f6dced3e8daf98c91bc2bfd93386864ae25df90b13a3e8cbe4a9d75670e42815ce414401294c99de0b3cd475d3e85167e languageName: node linkType: hard -"@aws-sdk/credential-provider-imds@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-imds@npm:3.183.0" +"@aws-sdk/config-resolver@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/config-resolver@npm:3.215.0" dependencies: - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/url-parser": 3.183.0 + "@aws-sdk/signature-v4": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-config-provider": 3.208.0 + "@aws-sdk/util-middleware": 3.215.0 tslib: ^2.3.1 - checksum: e9fe1007b22825dc0c033beb2057b9f759d8cafec6e65d08ba4915bccb9b7d737eeccb3d06e9768a084b6726d9ea10778172b1bec695353c60276c1a5c21370e + checksum: d2ec1ca0da965a0baa4610a43186654dbacdab697b826ff9ebaff3004e4cd472a17e4757ea3eac463dd88390a8ae8475090b7d88cd2a2a5cdcb99a4dbf3835d4 languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.183.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.218.0" dependencies: - "@aws-sdk/credential-provider-env": 3.183.0 - "@aws-sdk/credential-provider-imds": 3.183.0 - "@aws-sdk/credential-provider-sso": 3.183.0 - "@aws-sdk/credential-provider-web-identity": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/shared-ini-file-loader": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/client-cognito-identity": 3.218.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: c7784a3674c863dacc1305a08dd63cb16d1e7374250b0ceafa9feee8344de4228d7c32e84fbaa9d963adab69eb3938cd75b99554756da120cd9beae4693eded9 + checksum: bb7a9e9d4212dd2b393e23ecc6be6691eaea762bf8f882188fea9d426725617ea0d8d66d70e7a7c82c99baff3fab1c0f8819a7829fc329a1923e57c3ee55ac4d languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.183.0" +"@aws-sdk/credential-provider-env@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.215.0" dependencies: - "@aws-sdk/credential-provider-env": 3.183.0 - "@aws-sdk/credential-provider-imds": 3.183.0 - "@aws-sdk/credential-provider-ini": 3.183.0 - "@aws-sdk/credential-provider-process": 3.183.0 - "@aws-sdk/credential-provider-sso": 3.183.0 - "@aws-sdk/credential-provider-web-identity": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/shared-ini-file-loader": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: f23e1148054a96d68632284501ba01c4285cce1a2f4562817ec4b7fa315ff56e2f6b97fae0d2ae26fd52fca8c9f000be5d72a3582cff6c32ba10010f02a30977 + checksum: fa878a7dc53e964aa6228b5879c419b6e8aebc74b1e560df8980ec51b40a998d0a43eab8c5ab366c6afae831b43d88310e776cea3f5cfdb4755067cbefde1be4 languageName: node linkType: hard -"@aws-sdk/credential-provider-process@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-process@npm:3.183.0" +"@aws-sdk/credential-provider-imds@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/credential-provider-imds@npm:3.215.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/shared-ini-file-loader": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 tslib: ^2.3.1 - checksum: 3109e79ec2b4647f5e7f78c6dc2e10cd8a34a70147e7e90549153b7ff3ff12eda3499b3189d6fc1f3b99f461d5445e8017b44cd50029d30b0fc7437ad88a5f38 + checksum: 341e1c1af4a3908e635558791b67346bba31ff0d6b6c5a44e1b4af912eda3163ec1edc8933c9f5e123979b0e179a160505a2407efff15c9597e91521783167b7 languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.183.0" +"@aws-sdk/credential-provider-ini@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.218.0" dependencies: - "@aws-sdk/client-sso": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/shared-ini-file-loader": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/credential-provider-env": 3.215.0 + "@aws-sdk/credential-provider-imds": 3.215.0 + "@aws-sdk/credential-provider-sso": 3.218.0 + "@aws-sdk/credential-provider-web-identity": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 8775894ef50499361a4b49d846417c2c1e1ea90383730a32428154628358e7847f6f29dddd3cd04d3a4e15c1343fe10b051a92863055989ac3c4cb241e68f63a + checksum: d48d601c89bb35330ddd3a9c976cad6caaf484468ac5819d21d34550a653b8ff54de616973e4b79b09f3e12d404582d4e4b46977eac465411d1bae79a7db370d languageName: node linkType: hard -"@aws-sdk/credential-provider-web-identity@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/credential-provider-web-identity@npm:3.183.0" +"@aws-sdk/credential-provider-node@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.218.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/credential-provider-env": 3.215.0 + "@aws-sdk/credential-provider-imds": 3.215.0 + "@aws-sdk/credential-provider-ini": 3.218.0 + "@aws-sdk/credential-provider-process": 3.215.0 + "@aws-sdk/credential-provider-sso": 3.218.0 + "@aws-sdk/credential-provider-web-identity": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: c39576c8f35137284fc69db8d94adcf07fa89d51153ee9710481262e205d485ff089a796e8a253aa14a0434dde91eadb65602fc614167a4f14301201ee840c08 + checksum: da8da825da1fca84fdb8ca3d9958be1059a3b93c868e19b0c4d6a8c628de881cf95701beec3fd107218c37e7726587197ab5a5cdf437d5c628436d17506cb1d1 languageName: node linkType: hard -"@aws-sdk/fetch-http-handler@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/fetch-http-handler@npm:3.183.0" +"@aws-sdk/credential-provider-process@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.215.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/querystring-builder": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-base64-browser": 3.183.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 87c51d1dad8c469e32b99f6ed3729e753097cd4a9f8f417ec8681cf01e18b9a5dc6571f3cd1220293216bd4527b8499bb2ea1f821a240fde6d9560817c120066 + checksum: 5e8f70e94fc4ec0d347e96b65bd18faba93c9ff7b30f9f24268789bcaa121905295c7fc575ca29842484a6315b3772214dac2621b1b85184c4ded9f924aec5c8 languageName: node linkType: hard -"@aws-sdk/hash-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/hash-node@npm:3.183.0" +"@aws-sdk/credential-provider-sso@npm:3.218.0": + version: 3.218.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.218.0" dependencies: - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-buffer-from": 3.183.0 + "@aws-sdk/client-sso": 3.218.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/token-providers": 3.216.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: fbed8757df633620807594535e3bb7d387576e0c2f89ad16dc7c98405a9d1d9743bea50148186de2f19cac67144b30f7f89e6c15317ddd7b8c0c8f61ca9556ef + checksum: 1d6b26776c83d7256336f89b33ae1a5cf7ba252af6ea54b2daaa9c5ce77a1d7b7afb08a49ef10dccbb900f12b40522e87b6561f5128b2869530f8a86ad2c6654 languageName: node linkType: hard -"@aws-sdk/invalid-dependency@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/invalid-dependency@npm:3.183.0" +"@aws-sdk/credential-provider-web-identity@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: d928ca26d4390ad4f5e2c8198d16e14b675face6ad8c4a4eef699b54ce3f6cba584456659287b0e57e9f9019bc456b51dfa474671e11bf555fe04ed16174c10c + checksum: f012d3789817c42487a66058c7efadc95aa17afa02a7c652821c79195e18f20884e6b02c9b74e2a2260682f49349f7a8e9b524d3b0e1db4cace8a01a7f7dacf3 languageName: node linkType: hard -"@aws-sdk/is-array-buffer@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/is-array-buffer@npm:3.183.0" +"@aws-sdk/credential-providers@npm:^3.208.0": + version: 3.218.0 + resolution: "@aws-sdk/credential-providers@npm:3.218.0" dependencies: + "@aws-sdk/client-cognito-identity": 3.218.0 + "@aws-sdk/client-sso": 3.218.0 + "@aws-sdk/client-sts": 3.218.0 + "@aws-sdk/credential-provider-cognito-identity": 3.218.0 + "@aws-sdk/credential-provider-env": 3.215.0 + "@aws-sdk/credential-provider-imds": 3.215.0 + "@aws-sdk/credential-provider-ini": 3.218.0 + "@aws-sdk/credential-provider-node": 3.218.0 + "@aws-sdk/credential-provider-process": 3.215.0 + "@aws-sdk/credential-provider-sso": 3.218.0 + "@aws-sdk/credential-provider-web-identity": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 717e508989821434a2ace4f690fc599f67b3f28ee9de5f06fce65a296fe11a68a5b97f30d66bfbf490d4a83259e4ffa1f0321231e4a54ce2440a9c6fdbacde24 + checksum: 75200e3d75b38435780192232ca7b0daf79b7538e6e8327783e8b4fb9e0f82f783f9cb679cf1642a07feef4bf34a0c8951e27d4d1969afdcf9a59ded50905bba languageName: node linkType: hard -"@aws-sdk/md5-js@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/md5-js@npm:3.183.0" +"@aws-sdk/eventstream-codec@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/eventstream-codec@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-utf8-browser": 3.183.0 - "@aws-sdk/util-utf8-node": 3.183.0 + "@aws-crypto/crc32": 2.0.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-hex-encoding": 3.201.0 tslib: ^2.3.1 - checksum: 5bd92465940ace6b3ca13342bd60eab42ffd5d74dfa65655c28e10bbf4aa0c32b2f9b4deb2050f3d092b8586e558bf248559af9c3cffb37810961169ad0797af + checksum: 9fb18b8b9e96c2dea75a70ac37f3d7f3f349167ba234ee8a8aab95dcb433783506a538aa1490da7f0b6824b445cfeacd520664f2f42203c846f41a3ce741e236 languageName: node linkType: hard -"@aws-sdk/middleware-content-length@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-content-length@npm:3.183.0" +"@aws-sdk/eventstream-serde-browser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/eventstream-serde-browser@npm:3.215.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/eventstream-serde-universal": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: bf3ec6872a925dbafd91e57334b6264e8446ca59eba598ee4bc7b37113c466300ac6b77ab314c4aa2859221f1f4e98beabbd365346e0815d591f276e642d1849 + checksum: 6c4cd0d0d243b09c01151c7c56926968c38237fdf4cb94afa24cfe21f35cc1cb46c64b7c197c416401d3894b7725c1fecdfc073e072f99869beb3b526109f73e languageName: node linkType: hard -"@aws-sdk/middleware-host-header@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-host-header@npm:3.183.0" +"@aws-sdk/eventstream-serde-config-resolver@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/eventstream-serde-config-resolver@npm:3.215.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: b4c4886976cffec614ff368daa995a69c765e737c8d366daa0033d781cf8e7483565bb3627ecd752698edc23dcf578de6657c9e8cb41c0fcd92631d17b7749b8 + checksum: 36777edd4b43d43bf007a85399b988d0c71fc67476fd0536e10333b6ae21196c796ea7d30e80554a1fc86b230bda432b449a1b751ae0a26ac24ca9f072744a9c languageName: node linkType: hard -"@aws-sdk/middleware-logger@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-logger@npm:3.183.0" +"@aws-sdk/eventstream-serde-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/eventstream-serde-node@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/eventstream-serde-universal": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 10ffb6af0f81b0144fef91af2bbeaeb680df2beff838f2a6ebcc260971fd6252a166e3bf3501c1fc00f6f8f203117ff6e2b4baebb7a6d8cd8504b7e1f392bd6d + checksum: 15f8c603504f15c5f32430d05c586faa2e3c444fd7ede960e5a9b5b9e13437e54bb2bb424dc6b1fd51183550ad4bc9849d6d2afd43dff7794111014a2c30128a languageName: node linkType: hard -"@aws-sdk/middleware-recursion-detection@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-recursion-detection@npm:3.183.0" +"@aws-sdk/eventstream-serde-universal@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/eventstream-serde-universal@npm:3.215.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/eventstream-codec": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 461117e0dc8c38750942035a07163817bc8e89f377211f5fb52d4314acae4e7e6cb49be04193c508112833535b33814c1609196cb65e38cff1122043398ad89e + checksum: 4a4e009ec9baf643067453f85df59e29e539eddd7ec1b5b29beab25c4e93e57a9b8c0b2f1788cb5cf17a031444bb6bab751aab8ed530605379a37c9661ff8cea languageName: node linkType: hard -"@aws-sdk/middleware-retry@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-retry@npm:3.183.0" +"@aws-sdk/fetch-http-handler@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/fetch-http-handler@npm:3.208.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/service-error-classification": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-middleware": 3.183.0 + "@aws-sdk/protocol-http": 3.208.0 + "@aws-sdk/querystring-builder": 3.208.0 + "@aws-sdk/types": 3.208.0 + "@aws-sdk/util-base64": 3.208.0 + tslib: ^2.3.1 + checksum: a0016ec854d247e28ba7a86e72d6915854b33d489e88e5d26c8e3843704a3978129b4b52619c9810acd19c47dbf9b4359be17ad939e0be676b4af9cb21952abf + languageName: node + linkType: hard + +"@aws-sdk/fetch-http-handler@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/fetch-http-handler@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/querystring-builder": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + tslib: ^2.3.1 + checksum: 7031944b65100023fdee709d4c38845fc5fe7ab01d3fabdd8fb13c32a326811c1ddcc201f6171fe5847b4bebd171a6a37c77068c5439ee29acf38078e16ef556 + languageName: node + linkType: hard + +"@aws-sdk/hash-blob-browser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/hash-blob-browser@npm:3.215.0" + dependencies: + "@aws-sdk/chunked-blob-reader": 3.188.0 + "@aws-sdk/chunked-blob-reader-native": 3.208.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 2d4d8e7ff8e4f44510073a173aa7ecd5dd11f6758e5dc261d2b0576a33271d8728204066089a1805ceb1f5d5b738f44edc3c808fbd7a7121f8eb6bd70de856a7 + languageName: node + linkType: hard + +"@aws-sdk/hash-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/hash-node@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-buffer-from": 3.208.0 + tslib: ^2.3.1 + checksum: 8d50f46c195b48304ba69107adf31e3380a1952920c373031c5ed31f936300c24b492ad477ae3e868a73834cffc78177294bee2a683904133ca516ebb3b64bef + languageName: node + linkType: hard + +"@aws-sdk/hash-stream-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/hash-stream-node@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: b86f99e3d5b6da2f48c4a0f1f46544218ce4059758c3bbe2b0ab8bed1aa115d42d9b8ff331f81ee339abfcb029b9aec35c9181137e632f36883f2e1f1e50e981 + languageName: node + linkType: hard + +"@aws-sdk/invalid-dependency@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/invalid-dependency@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: f3ba901c3884c943909ec344bd5e17cdb13a5246a53d1e8e33fda036f45cb944dcfb52ef948d04d1d27cf514ef711ef65d1f2c3cc5048624b8fc49493d72837f + languageName: node + linkType: hard + +"@aws-sdk/is-array-buffer@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/is-array-buffer@npm:3.201.0" + dependencies: + tslib: ^2.3.1 + checksum: 295450b417a9ab0b734050afff6c53aaed8a33dccd3ede60bf67fdec21f675d14ab8edc24f4e1d12aa4e99f9ccaf794aaaaff270c296c1ee38f73ea7ba7f59ce + languageName: node + linkType: hard + +"@aws-sdk/lib-storage@npm:^3.208.0": + version: 3.218.0 + resolution: "@aws-sdk/lib-storage@npm:3.218.0" + dependencies: + "@aws-sdk/middleware-endpoint": 3.215.0 + "@aws-sdk/smithy-client": 3.215.0 + buffer: 5.6.0 + events: 3.3.0 + stream-browserify: 3.0.0 + tslib: ^2.3.1 + peerDependencies: + "@aws-sdk/abort-controller": ^3.0.0 + "@aws-sdk/client-s3": ^3.0.0 + checksum: 96db639ac862f049431d54e0af0d72245aa7c34f6f95a8ab7fdca280289e9916c86ada4708d6ad12cfb218f16191282b5ecbe2db335a944991228338931f5d2d + languageName: node + linkType: hard + +"@aws-sdk/md5-js@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/md5-js@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + "@aws-sdk/util-utf8-node": 3.208.0 + tslib: ^2.3.1 + checksum: 7e51e56cd4c1a91ec00c2d97dfa895497d5755a59feeb0a83eec871c2b6c62b2f0623d7a057b9670c871aea0010abe384236190944d0ecd913e61bf95526d0bc + languageName: node + linkType: hard + +"@aws-sdk/middleware-bucket-endpoint@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-bucket-endpoint@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-arn-parser": 3.208.0 + "@aws-sdk/util-config-provider": 3.208.0 + tslib: ^2.3.1 + checksum: 83456d16108aca33078dc55631482c738029bd4c73a23a0ca9bc3573979e43c1de829df46f69e1ee0b58cc2e2f5513d4c3f830fbc9d2fcf605f5ad43d7a709ce + languageName: node + linkType: hard + +"@aws-sdk/middleware-content-length@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-content-length@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 7f41e88463faa0134be2c57bae62cd3c48fd2e6973d987e10a72f3c5cabc238cf5f59a9a8d6e92f5989e460f668f03c3b034fe54192391314de2431f77681aae + languageName: node + linkType: hard + +"@aws-sdk/middleware-endpoint@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-endpoint@npm:3.215.0" + dependencies: + "@aws-sdk/middleware-serde": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/signature-v4": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/url-parser": 3.215.0 + "@aws-sdk/util-config-provider": 3.208.0 + "@aws-sdk/util-middleware": 3.215.0 + tslib: ^2.3.1 + checksum: cf57854b88ca43874e25dd4d160525a9cf0844319fb20bfdbfe6100570724ecafaf1c0014c803ee477ad85fd2a2b80686ec8e7b2ae69118ac3453b05f4bffc0f + languageName: node + linkType: hard + +"@aws-sdk/middleware-expect-continue@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-expect-continue@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: a8d4c7713fbb5f725ffb4d3fc9131a90a196bf4c6035b967b8989f6d0397c8f908723627633232799ca4d8cf5fb416dca56ba4c32f6982341f16b18fb3d1f6b9 + languageName: node + linkType: hard + +"@aws-sdk/middleware-flexible-checksums@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-flexible-checksums@npm:3.215.0" + dependencies: + "@aws-crypto/crc32": 2.0.0 + "@aws-crypto/crc32c": 2.0.0 + "@aws-sdk/is-array-buffer": 3.201.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 1bd63010e3cd5f254f4c75122d96915c1db8d9c7388a67391ad05aae7d71e5e8dd37e7243ed4c673a8a652f477b500eaeb9b020c152b4d0e05e8e8f73437559f + languageName: node + linkType: hard + +"@aws-sdk/middleware-host-header@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 461158ce46c5ca089d12a63b37ed064cc584b48d6b49523c11bcb690fdf811fb3d5603554d5f92c58dcf26d4948308cd7433d7a26c20a934d07e816cbf67a3a3 + languageName: node + linkType: hard + +"@aws-sdk/middleware-location-constraint@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-location-constraint@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 77efd1a5393357f98a1199d6d5f5690a41935f60924e9a622796d0fcb700c9f27da84b0b282cd0b82b3949778ef94e8bcd225c5d70348107a89aea78333966fc + languageName: node + linkType: hard + +"@aws-sdk/middleware-logger@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-logger@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 7d90e2195e68e1e7c04f52f8b8bdbbcc800f879200082892668477d17ae064beb6e7352540f262758b004d40560039426f6971396569c79eb9b4a51cba701081 + languageName: node + linkType: hard + +"@aws-sdk/middleware-recursion-detection@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 0bf6eda1208cc39ac92ce25b82c8cddae990c960096d5cffc57646d8fddfa5e3bcfff44cf6a99e1a60b613f48bdc015a6e056c55b790a996db7b3dddf47867eb + languageName: node + linkType: hard + +"@aws-sdk/middleware-retry@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-retry@npm:3.215.0" + dependencies: + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/service-error-classification": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-middleware": 3.215.0 tslib: ^2.3.1 uuid: ^8.3.2 - checksum: 76fa3f9fe5f1c67bbfa792611289edf0afa2d0271073039931ac9ea46b3f432d74692d2db55443f40b7e97014898454f6d4bd8d2f2f5714a4281428b7464efac + checksum: 6b5d5d9a370e2c46df14654f38ae9aab639dc429f216155556706352dc607c24ad79ff5c03533c8f5e40134e6d5209ce77b3856e0ba49c93ce93255da7b3c6fe languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sqs@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.183.0" +"@aws-sdk/middleware-sdk-s3@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-sdk-s3@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-hex-encoding": 3.183.0 + "@aws-sdk/middleware-bucket-endpoint": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-arn-parser": 3.208.0 tslib: ^2.3.1 - checksum: 0bb914b2e7a5391f5b22a5262a5c299fa7e3eb22076d00c4cfffb449e97404b4830a77bb742e8f3110d66f15ae9aad81ea740238799cc35bb8d328eaf13f3fe2 + checksum: de1e1f661d182f385f1658943a3b0a8dce9cc15b8140d29fcc3eea7c8f629c7575613af7ee74499f42b85927682643167170c595cb955d9e7666568818b43b9a languageName: node linkType: hard -"@aws-sdk/middleware-sdk-sts@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-sdk-sts@npm:3.183.0" +"@aws-sdk/middleware-sdk-sqs@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-sdk-sqs@npm:3.215.0" dependencies: - "@aws-sdk/middleware-signing": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/signature-v4": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-hex-encoding": 3.201.0 tslib: ^2.3.1 - checksum: 1969d6128d24cc7d8ff199c2900d805281928668f4dc3ffd128065ccfe515f9f7467a265af276592009bd285847cb9298f8ba4b1dfbe33971c3e7de80986b422 + checksum: f09a4ca9701bd4687c1cfa764e98f88c672d36a0c4b39d66e5da3f3c022457764d7c5aee76373b753e5f4cb332be65db21552862354b2f96ce05a30a137927c4 languageName: node linkType: hard -"@aws-sdk/middleware-serde@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-serde@npm:3.183.0" +"@aws-sdk/middleware-sdk-sts@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-sdk-sts@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/middleware-signing": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/signature-v4": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 7495bb2adceab2c686588697fd9dd50a859706a8d33d98d9907ffc8f9ef78af141f2654cdac8d7b28b1f0544dcf2e52f25d109f5da1348102234ab5b4e79b256 + checksum: bace7de141bef58b491d837e00ad4e0acbf6c4f79b8af80e0665dc36aa0cf31a21aa18101a1390096af11a76c5ffacf25995c1cf998874576b35ffd1a5146b3f languageName: node linkType: hard -"@aws-sdk/middleware-signing@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-signing@npm:3.183.0" +"@aws-sdk/middleware-serde@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-serde@npm:3.215.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/signature-v4": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-middleware": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 8025499acfefc072511adbc5084a1ed3cfe9cd9e514c58045425c87538af72ad3adfc134f7d0a059ff52832da392b4679b62d4ad28e477b866a20e78370f0758 + checksum: 45caf42bc4aaa6e1c7fd16fd8f219c0629c939c3adfb8274b6a6fed1e62ff1237ee208e387352655580a9a6c8d7fef704cff1f6f51b5bc237b98fee7b193a959 languageName: node linkType: hard -"@aws-sdk/middleware-stack@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-stack@npm:3.183.0" +"@aws-sdk/middleware-signing@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-signing@npm:3.215.0" + dependencies: + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/signature-v4": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-middleware": 3.215.0 + tslib: ^2.3.1 + checksum: a1c8c9b1a0cbde5f64ce5779f8e05494ffeed07bb7e6fe454baf9accf92bd5758dbb09cf0b5ae3f03d081e193af6197ff24659746d390d7e0c2f959f9014c073 + languageName: node + linkType: hard + +"@aws-sdk/middleware-ssec@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-ssec@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: e362a5b63c327fbf66a959f303ae95f521b2f22e00b74959c24d2a4a6a5df1f8e86db21aef752c80cc8a0be47258dc80c79aa6edaf460c8e8782a750490b126a + languageName: node + linkType: hard + +"@aws-sdk/middleware-stack@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-stack@npm:3.215.0" dependencies: tslib: ^2.3.1 - checksum: 03136847b96b0e4baba9b64f53a6c6b5738b1fa2c645edb3f47c1f85082791549b423ea791af33e9da3507cd56fbcbd052f1ba773a9f45ea42a3647277e85264 + checksum: dc9c99969d178857ab975387f6326eb3c65fe1679087de719ea3dd25a3973bea310778ae45c61891de9cc41ce640f483dc9ff4f62af6669f3124029277f870aa languageName: node linkType: hard -"@aws-sdk/middleware-user-agent@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/middleware-user-agent@npm:3.183.0" +"@aws-sdk/middleware-user-agent@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.215.0" dependencies: - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 8d1001d6d30f0f56aa440c541f6dcee9aad9190837e7a9653aef35448ff13e644cb7a441373192134ac86b5741fa64a120add07202cb97674018bd44612acdf7 + checksum: 054f10a197876acc32d1903575855870edc9f5fe1fd7809dda47210e1b0717c7604e3cd916b34df7aa9f5cbe1ad9fa85934913ec51109a2740e3aed450587633 languageName: node linkType: hard -"@aws-sdk/node-config-provider@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/node-config-provider@npm:3.183.0" +"@aws-sdk/node-config-provider@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/node-config-provider@npm:3.215.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/shared-ini-file-loader": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 673fb105de8d11ddd1c3e636c7ed01ef4fbe412a7d96543d9db69149dfad64d33adf5b96b106763c058190841ea497f220e1b75ca438dbda7b34729f00b9e823 + checksum: a23677a836a43bd0d4dd00cab64c42d1c69eafe8ccb833ea08a7b43ab0e891ad67a96757610fdd48a6d1cd749c29aaa1de14d894468c9e79e987e13d979c4382 languageName: node linkType: hard -"@aws-sdk/node-http-handler@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/node-http-handler@npm:3.183.0" +"@aws-sdk/node-http-handler@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/node-http-handler@npm:3.215.0" dependencies: - "@aws-sdk/abort-controller": 3.183.0 - "@aws-sdk/protocol-http": 3.183.0 - "@aws-sdk/querystring-builder": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/abort-controller": 3.215.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/querystring-builder": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: a24ee8cc4e3b63fdec0ebb671caa1e634af488befa7c93a28bb733bb532934c221f6c47707db20264af91ca84336a50b98427b425329b89aeac2a6d2be9537ff + checksum: 7b87cce3393553b9b2cd494aea49075fdafb8c7d9b4d61c44928e7e50f3f2909c6f57547ed504ce7b36b8dc17cc8fc8f0e882a7894898bb3cd5decc9e3de2d65 languageName: node linkType: hard -"@aws-sdk/property-provider@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/property-provider@npm:3.183.0" +"@aws-sdk/property-provider@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/property-provider@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 6e8616e5f7efa9f46bdf62118dfc586e61dcdf0bc99f82305759020ce3d25fc1d2db71c62cfd4417a757a138b1a539cf305b584e6e7ade9bce9975fbe66fd326 + checksum: 0cb519ff8db962b2e65867b4ae5af12b0b517ace1e6f5d5f0a0f65790d087d734004b91454a2b97d842fc7799b0f0ebe4da7209360f627eac6c07af7e6ddb55b languageName: node linkType: hard -"@aws-sdk/protocol-http@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/protocol-http@npm:3.183.0" +"@aws-sdk/protocol-http@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/protocol-http@npm:3.208.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.208.0 tslib: ^2.3.1 - checksum: 13b255bcb37b70853d93374f972d743c80f33ac16188c41b512536c2dbec4d7beb55226bfac6d809981d63bbc87f6bf345334238f187da2faa9feaef5001e0a7 + checksum: 6cf57f264a4ef393fbe5fac71f22eaba47bc421646063dac004919ec7185979ed91a3e03c71373749150249f6be4ae41294a4c068d7c22a5990dcd2f5cf8347c languageName: node linkType: hard -"@aws-sdk/querystring-builder@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/querystring-builder@npm:3.183.0" +"@aws-sdk/protocol-http@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/protocol-http@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-uri-escape": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: a3de19863ccee4e8c9d5bbd719688ee1ffea02c3d90aad5e9c3eb04bed942ff8e5be0bfbc21ed03a968481abe2a2b1093e93b986b4111c468a9f3d3466b61f83 + checksum: fd1d6db6168c3129b5311b42937f56731de5b536c11ffed08f8f7e3e1bbda1732e2632f642e601dd4af32722b78d179827772ae4564cea03553395dfa01e02d2 languageName: node linkType: hard -"@aws-sdk/querystring-parser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/querystring-parser@npm:3.183.0" +"@aws-sdk/querystring-builder@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/querystring-builder@npm:3.208.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.208.0 + "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: f05a03c46317c97f1b775f7c5be19365cf464396edc6b23c93efd5289ff1a8658883f7c9dde2cc7b74bb42b57f257bc212abae5d62100d23cdec5409fbffe468 + checksum: 69ff07e2a05ae0979da4e5b12ffb223f0eb037fab079f1f4c245101fdb2d9244454a543dcc829120b882a99a63ecfc950f209ba5a1aaacf94432a35a214c2521 languageName: node linkType: hard -"@aws-sdk/service-error-classification@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/service-error-classification@npm:3.183.0" - checksum: 8c015163aee9ec4d789daa8605e5b9424dfda81d3f609a2c34d800cb36ee78f4a3af02d1738c7e75f9a62cd1ef8ec4307f77457eecba3de4c6565a981484bca4 - languageName: node - linkType: hard - -"@aws-sdk/shared-ini-file-loader@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/shared-ini-file-loader@npm:3.183.0" +"@aws-sdk/querystring-builder@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/querystring-builder@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-uri-escape": 3.201.0 tslib: ^2.3.1 - checksum: 317fd0d8012559754f82b88fb386d2a01c19be1d3a0b6da3a6436f71701ed8cd8fbe3f5aa869fd7bbfb8dfb148cd9de02aa68e93001200c76ba9e0691e135773 + checksum: 68584d4de16eea7c649bad71b938716917e53aa42aca9a9298a7a21b2dd2195d3e0e5719f0f4a16e448d18f4db6d8ae2ea4229dff4f6a8807712a81097b7aa4c languageName: node linkType: hard -"@aws-sdk/signature-v4@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/signature-v4@npm:3.183.0" +"@aws-sdk/querystring-parser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/querystring-parser@npm:3.215.0" dependencies: - "@aws-sdk/is-array-buffer": 3.183.0 - "@aws-sdk/types": 3.183.0 - "@aws-sdk/util-hex-encoding": 3.183.0 - "@aws-sdk/util-middleware": 3.183.0 - "@aws-sdk/util-uri-escape": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 6639a4925b194171907fc1cf61101470836f5a8fa363f3fcd7b70bbaa4c756f43e13ad93b575885218a68192c375295d359a7e91db370816bd8f39f9c158ba36 + checksum: cfccb89aecadea63c3937e3db06690f2927aa32c8d98dd265151d971ee3221b570b715768a419777bf27a18f3c13509adbeccfbffd9e9d00ff90fbe648e36b22 languageName: node linkType: hard -"@aws-sdk/smithy-client@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/smithy-client@npm:3.183.0" +"@aws-sdk/service-error-classification@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/service-error-classification@npm:3.215.0" + checksum: 470cfec61df10efa304f61d44b75a8fc12fc6ded0c42dc36b7c8cbecc6b7290042e6a6b10ef28acf9e15534c234fd31475d1d0ee45522f8e49267f5eb6d8055e + languageName: node + linkType: hard + +"@aws-sdk/shared-ini-file-loader@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/shared-ini-file-loader@npm:3.215.0" dependencies: - "@aws-sdk/middleware-stack": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 70866adfd91fb35721bcd8667d9a4638e306de6ddc22be37a5b3ea19dfc2a1404a7325992f7f56d635a3bfd3b0ffa159d32f17df35c47ada4724ad8d5bb8d1ce + checksum: b0fcdc3bf81928d3822a5e7e7c088d5ce3c07b6fe4a29692a142226d3829fd1c8ee312cf5b8ee2056893cc6e4686df886641f7cd30e27e4bbd9fcb7ee6b21377 languageName: node linkType: hard -"@aws-sdk/types@npm:3.183.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0": - version: 3.183.0 - resolution: "@aws-sdk/types@npm:3.183.0" - checksum: ab6e888ef8f6d5f5c047dbe0899ac94ad4aa83b9ae1b1fd7a3b88eacec61ab912f215fda65c71f783418d569d1088641806f6b98c9a28ddae04cc70d0eeccea7 - languageName: node - linkType: hard - -"@aws-sdk/url-parser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/url-parser@npm:3.183.0" +"@aws-sdk/signature-v4-multi-region@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/signature-v4-multi-region@npm:3.215.0" dependencies: - "@aws-sdk/querystring-parser": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/protocol-http": 3.215.0 + "@aws-sdk/signature-v4": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-arn-parser": 3.208.0 tslib: ^2.3.1 - checksum: 54c99d47e927368db12b6aa1fe4331a27461502355e0c18e99d8e05d9a114529d0b15965ff885cae8e19e49692ad44bf3c323ffdc535d7129deac900f286d1d5 + peerDependencies: + "@aws-sdk/signature-v4-crt": ^3.118.0 + peerDependenciesMeta: + "@aws-sdk/signature-v4-crt": + optional: true + checksum: d2b898e505edbb85be410ccd16f22475531f5de22c2e53bbd386ebc93ec5f173b1a68a08d6dd71c9df7518fe2d73594e92bd690b93aa6e0c5dee013d0c6fe09c languageName: node linkType: hard -"@aws-sdk/util-base64-browser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-base64-browser@npm:3.183.0" +"@aws-sdk/signature-v4@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/signature-v4@npm:3.215.0" + dependencies: + "@aws-sdk/is-array-buffer": 3.201.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-hex-encoding": 3.201.0 + "@aws-sdk/util-middleware": 3.215.0 + "@aws-sdk/util-uri-escape": 3.201.0 + tslib: ^2.3.1 + checksum: 2bf3912bdf51c116abd2c3dcbbfdd669758b264066d4dd18353b984aaea2532ba6caef95043d1a58acf225a9ee59709c8593226f2acd779ad556c77b12fe0e4b + languageName: node + linkType: hard + +"@aws-sdk/smithy-client@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/smithy-client@npm:3.215.0" + dependencies: + "@aws-sdk/middleware-stack": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 4fd6d5631b738d7e7edf957335fb60c743025812183f3def0b4f83469bff95297c3c870fea790152731da9f3bd80aca4634722f6303774ae4b80a95cc17ad568 + languageName: node + linkType: hard + +"@aws-sdk/token-providers@npm:3.216.0": + version: 3.216.0 + resolution: "@aws-sdk/token-providers@npm:3.216.0" + dependencies: + "@aws-sdk/client-sso-oidc": 3.216.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/shared-ini-file-loader": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: a54490666866fa389043e450692b137f1ffab39dbf10927b09ea52c813330dc06dd0e589a6adb653d3e8e974c484656f3234103bb3ca097b634a15d8cbb6f8c9 + languageName: node + linkType: hard + +"@aws-sdk/types@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/types@npm:3.208.0" + checksum: 3d4eb51720bd20b6811dece5e096ba3b59da842d1c8b2a8e2785e9931d916f41197651da689aa415083e1259e03507b7703ecbbac001b4cdbe68dde2ed94b5cf + languageName: node + linkType: hard + +"@aws-sdk/types@npm:3.215.0, @aws-sdk/types@npm:^3.1.0, @aws-sdk/types@npm:^3.110.0, @aws-sdk/types@npm:^3.208.0": + version: 3.215.0 + resolution: "@aws-sdk/types@npm:3.215.0" + checksum: 7b1301af4444c6d949175337546093946e22c572b40474ada534bd9a4ab37e15f5aabdeca139328b7ea45a6dd1d1a86de89097adbbb07e31365bb3e84254ea38 + languageName: node + linkType: hard + +"@aws-sdk/url-parser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/url-parser@npm:3.215.0" + dependencies: + "@aws-sdk/querystring-parser": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: 50221b570ddeb9255be9a7d1afbf9114cdba126dfa48b0c7cf7b0f55e5ca6581e6fa08bc119c7cc3fcceb43d9761bfe9a0e4e7e8a09b3cf010bb1518f0a8cd92 + languageName: node + linkType: hard + +"@aws-sdk/util-arn-parser@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-arn-parser@npm:3.208.0" dependencies: tslib: ^2.3.1 - checksum: 2c3a4dc7e285b146285ac23de155de5e885d96aa46b29f9c830b6f12541032c6a42be7fd412ec019ddb83e6f155f561d04065b99159515d26d28c0968965dcf2 + checksum: 1e1793adc0c53801b9fd7ccb7e94169dcd984047533c28897aea2af4c4fa02cbc2cd1b5d9b6f34eaf6b9aaa0aba27f927c8e2a58a6b4bb06888cfa68d66b6b2d languageName: node linkType: hard -"@aws-sdk/util-base64-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-base64-node@npm:3.183.0" +"@aws-sdk/util-base64@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-base64@npm:3.208.0" dependencies: - "@aws-sdk/util-buffer-from": 3.183.0 + "@aws-sdk/util-buffer-from": 3.208.0 tslib: ^2.3.1 - checksum: d8d0330aa768f816411a7b2343c500728501775d2f8d7c121d52d8484cbdd938102f3049e69e28574c838416ead0cb742494140609287b8d462bfb041218600d + checksum: 2ccab3453a3a3636f3f1397441574b3adb984e1ba3865030393108327ed7304cf80c9b31d69691e6aba85cfe6a611a881bbb724e544324240763bb4e96630ed9 languageName: node linkType: hard -"@aws-sdk/util-body-length-browser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-body-length-browser@npm:3.183.0" +"@aws-sdk/util-body-length-browser@npm:3.188.0": + version: 3.188.0 + resolution: "@aws-sdk/util-body-length-browser@npm:3.188.0" dependencies: tslib: ^2.3.1 - checksum: 294074e20e4eb46ea992fc9d50fac0b97875d1d09efa706d5298e34f4200226c90bb33bbe96c41c7e91a43fbe44e6cfc0654d09fcdb823fe579545ada65701d9 + checksum: 1b08bd1e63ec843ee336f51d894c49bf3c4c2f96e50d1711a12f7d0c5b6f7a15b490e366fec55b63e77036002994bac12927b29de2eb9ac91e4f152b1af78e58 languageName: node linkType: hard -"@aws-sdk/util-body-length-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-body-length-node@npm:3.183.0" +"@aws-sdk/util-body-length-node@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-body-length-node@npm:3.208.0" dependencies: tslib: ^2.3.1 - checksum: 60697959c63731d6b4b334bed91d08c4e38e09c0ad95000509641370249c76c5df1ffa0a7cab7418d250a526f49e660f0c67cea28547e442ac47feb7623413b8 + checksum: 986b42b358656dec4e75c231213331c4f01785f9ab17c8b87b6e268b6880818a96117f1785cef9786e6c0f7e2c1332c80e8388a43bfd83e8c7224ad059a72733 languageName: node linkType: hard -"@aws-sdk/util-buffer-from@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-buffer-from@npm:3.183.0" +"@aws-sdk/util-buffer-from@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-buffer-from@npm:3.208.0" dependencies: - "@aws-sdk/is-array-buffer": 3.183.0 + "@aws-sdk/is-array-buffer": 3.201.0 tslib: ^2.3.1 - checksum: 5f16145cf68b0756f0930990cfba57ac343c83c6e9dc48bc8d4f488cd66548a9e186e702fa94ba33b69d852c2d019eedf4116ac676cf0dfb701081e39e0776dd + checksum: 00bfa4d4494d3a1eb128e19104994d1aca8b3802e9aa218cecafb1ed3ff2ecf5c946485e06aa97ae312458842b0f31a6484dc945232f7cb0e357ba341cb2e53e languageName: node linkType: hard -"@aws-sdk/util-config-provider@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-config-provider@npm:3.183.0" +"@aws-sdk/util-config-provider@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-config-provider@npm:3.208.0" dependencies: tslib: ^2.3.1 - checksum: 8af6bf5ba31ec0a2fcf994f0a13bde5ff948bcdba02d153cdeea2105ea5eaf934368456bc92f35bfa42a7475cd4d2d2b9a644dfb8b4c2670ae2f103c045dc8b4 + checksum: 97b0414b120b4eb53001f3ab2135ee94937e47bd7bd0d0de7c6a7e00a282eaa78cd84be2bfd3e389340f0c0b2f7ba60da9a403f084721970ee55b779ecf7a451 languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-browser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.183.0" +"@aws-sdk/util-defaults-mode-browser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-defaults-mode-browser@npm:3.215.0" dependencies: - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: 8ff54acf1684dd9d82ca13a522c5d2d7ee305511a2748f6e8ef7dc43e668798269e51455ac81b905a5b000a704fd5536f178c84425b8c431500e6a8dc1418135 + checksum: ed8a21c3d614f9b8ac64d2565c7106265d6fed0b8cda0e0b31b44f7be2fc3013aa79a9b5c113e7b016272c88d5547a07907a2f9ba626961f2b2d626866520c7e languageName: node linkType: hard -"@aws-sdk/util-defaults-mode-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-defaults-mode-node@npm:3.183.0" +"@aws-sdk/util-defaults-mode-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-defaults-mode-node@npm:3.215.0" dependencies: - "@aws-sdk/config-resolver": 3.183.0 - "@aws-sdk/credential-provider-imds": 3.183.0 - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/property-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/config-resolver": 3.215.0 + "@aws-sdk/credential-provider-imds": 3.215.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/property-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 - checksum: 40665d251844c4add23e358d9171add7180e0f1fcd4bd99601f4bdd03daa2259fed2567fa200152e14c4d7b1acc1126997f5b4e74c569ee1032f9fee16e6b582 + checksum: 2dccee67d6fcc10ca5f93090b04851b561b638dacc9de1dedfc127323cdd0bd3f5bc8c5e27a87c90564b20805b8e9ba3992bebc023d76ce3d12e6f70005c7547 languageName: node linkType: hard -"@aws-sdk/util-hex-encoding@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-hex-encoding@npm:3.183.0" +"@aws-sdk/util-endpoints@npm:3.216.0": + version: 3.216.0 + resolution: "@aws-sdk/util-endpoints@npm:3.216.0" + dependencies: + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: e8e41cd2be036654ba2484647ad08bba770ffac1c264d613e5630fa922a414efee0a4fbafc6313dcd16484bfbddac99bed1413f126ce2f2d03d5a6be99d293a1 + languageName: node + linkType: hard + +"@aws-sdk/util-hex-encoding@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/util-hex-encoding@npm:3.201.0" dependencies: tslib: ^2.3.1 - checksum: 1bf9577d96d01c13a3118e5d767c1e16b1f4f1c574168d78e128e0342edac30c87776340e9e14deb1e9adf539a6b2f953338adabc097fb143e870889698a6308 + checksum: a27f3365dfb1e6ece79ea34fd6e2c4540eb0084536d7300ff0ff42a7334ddf07f21958c6cfd0bbeb71361ee408e16deae2c82b7c7378b048b8e81a52c75f190a languageName: node linkType: hard @@ -1026,67 +1496,118 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-middleware@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-middleware@npm:3.183.0" +"@aws-sdk/util-middleware@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-middleware@npm:3.215.0" dependencies: tslib: ^2.3.1 - checksum: e1a433aebae5e74b365ecb4a57e3c583e7b89697f24b0c9edde93b8ba358e92256550329efb7c6924c0a5037e1bad2b7a1c8ed1b6d02e1aaaa35bca502923752 + checksum: 19400d2560d70dbc0ec2087f4a76cb67ed28921028f851041da47cc55d00cc97520a5f2f0cbc1bd3a982f08d158073a32a4fa5cce5fe5459d0f734f0c20717e8 languageName: node linkType: hard -"@aws-sdk/util-uri-escape@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-uri-escape@npm:3.183.0" +"@aws-sdk/util-stream-browser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-stream-browser@npm:3.215.0" dependencies: + "@aws-sdk/fetch-http-handler": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-hex-encoding": 3.201.0 + "@aws-sdk/util-utf8-browser": 3.188.0 tslib: ^2.3.1 - checksum: 9d5f30821cdad15ed6912f7406f83b5b5a45358b208a9374ea944313d9853da8f4ec9881aefa5d6fe78caeaefbb0d103c8485a32f7c25e8b2cae193ea2233bb8 + checksum: cbc3fb91ad7cd1f7015a5d1e1a939bb6f1d107b2a54b02292277dd255166292207e43d56b7b1618510ba79a7f3b351119e683ddceed9dc7f45e98397343a7d37 languageName: node linkType: hard -"@aws-sdk/util-user-agent-browser@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-user-agent-browser@npm:3.183.0" +"@aws-sdk/util-stream-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-stream-node@npm:3.215.0" dependencies: - "@aws-sdk/types": 3.183.0 + "@aws-sdk/node-http-handler": 3.215.0 + "@aws-sdk/types": 3.215.0 + "@aws-sdk/util-buffer-from": 3.208.0 + tslib: ^2.3.1 + checksum: 1f77e7b37ea8e78a74d61d489a6f0be2debc467b92a59ad2d5fe8ad4a51c70db5553b82e8776e3d195662208228b215a3a2ecd41c302495eadf38671377616fa + languageName: node + linkType: hard + +"@aws-sdk/util-uri-escape@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/util-uri-escape@npm:3.201.0" + dependencies: + "@aws-sdk/fetch-http-handler": 3.208.0 + "@aws-sdk/types": 3.208.0 + "@aws-sdk/util-base64": 3.208.0 + "@aws-sdk/util-hex-encoding": 3.201.0 + "@aws-sdk/util-utf8-browser": 3.188.0 + tslib: ^2.3.1 + checksum: 8bd751459eaab75a9b61801f3484cfa5c4e0133381ace6ec901cb9b92b1fee99beb4ef9c0f87ade59425a882ed3a280255d9b2fd8da6a6286e49efb9af8f0d55 + languageName: node + linkType: hard + +"@aws-sdk/util-user-agent-browser@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.215.0" + dependencies: + "@aws-sdk/types": 3.215.0 bowser: ^2.11.0 tslib: ^2.3.1 - checksum: 21349881a4069a09fb0f8c0f5a6d69e6659255008861817c5d9dada61bf032f0bd7d5735f01dbddbc310d228ea843fbec6ada9f83a4197909efd6ebadb364f6b + checksum: 29a66adec383886ded80abfb41e5c66f4c07d52af5a995aa084a8eae9f4af22caf73cf2e4dbebc86c080da5b8778fed178d941f819b18a9caa082aac62cfb3d6 languageName: node linkType: hard -"@aws-sdk/util-user-agent-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-user-agent-node@npm:3.183.0" +"@aws-sdk/util-user-agent-node@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.215.0" dependencies: - "@aws-sdk/node-config-provider": 3.183.0 - "@aws-sdk/types": 3.183.0 + "@aws-sdk/node-config-provider": 3.215.0 + "@aws-sdk/types": 3.215.0 tslib: ^2.3.1 peerDependencies: aws-crt: ">=1.0.0" peerDependenciesMeta: aws-crt: optional: true - checksum: 727d46842053f8f19789fee1550e235adff399559ef6c9b8dd0fe9edd7ac629a9b5c5849377553bfff37deba1ba9889d0c313f059f27cfc40a33895990c1f894 + checksum: 3f91d4bb57c4725fff15a1ef1b15b16026c38f02975af1b7567bc34fce4ef881968e1a871358f0d42f597a4ddb5c306e5bb9286809d075975715525b21f3213b languageName: node linkType: hard -"@aws-sdk/util-utf8-browser@npm:3.183.0, @aws-sdk/util-utf8-browser@npm:^3.0.0": - version: 3.183.0 - resolution: "@aws-sdk/util-utf8-browser@npm:3.183.0" +"@aws-sdk/util-utf8-browser@npm:3.188.0, @aws-sdk/util-utf8-browser@npm:^3.0.0": + version: 3.188.0 + resolution: "@aws-sdk/util-utf8-browser@npm:3.188.0" dependencies: tslib: ^2.3.1 - checksum: f1c9cbafc3dcf5b04264c3708509117d5e6f6b373fb30712a0cd9d09966a2cdead0a91067a8e9513abac9b082971fd40519e421a2e046b3653ce1ede136197c2 + checksum: dacd27164aa0835888434e080b67f04510e2281560540ff73496f2d0aa73b0b7f830ec08491b35c3a51bf6214615579182aff8727e151e54a74a97a197a2ac31 languageName: node linkType: hard -"@aws-sdk/util-utf8-node@npm:3.183.0": - version: 3.183.0 - resolution: "@aws-sdk/util-utf8-node@npm:3.183.0" +"@aws-sdk/util-utf8-node@npm:3.208.0": + version: 3.208.0 + resolution: "@aws-sdk/util-utf8-node@npm:3.208.0" dependencies: - "@aws-sdk/util-buffer-from": 3.183.0 + "@aws-sdk/util-buffer-from": 3.208.0 tslib: ^2.3.1 - checksum: c37f2bd388783c33c981afcd5a6a80481cc4e019f42bc5ab10ba2dfb039a4684acb4fa30df579cb3a5b509f61b1261870b30cd966c179029adb2a42672c0a871 + checksum: 0f4c1d0d3f6eb40d92bc7163c6dcf97f90b3a8be05df46ba4f9bb7723a3e6acabf2cb0f2486411b03d22e8fcccae9e757ed02afad384ff5f44a3a659a78c5752 + languageName: node + linkType: hard + +"@aws-sdk/util-waiter@npm:3.215.0": + version: 3.215.0 + resolution: "@aws-sdk/util-waiter@npm:3.215.0" + dependencies: + "@aws-sdk/abort-controller": 3.215.0 + "@aws-sdk/types": 3.215.0 + tslib: ^2.3.1 + checksum: a5caca8c05677ad853822506197dedc8c80fa786fba7fb6d3679120f581ffca92af6cc002dd0a99f9520e4dd98ae046054e9dbde1bd66c638fd1e14d91117afe + languageName: node + linkType: hard + +"@aws-sdk/xml-builder@npm:3.201.0": + version: 3.201.0 + resolution: "@aws-sdk/xml-builder@npm:3.201.0" + dependencies: + tslib: ^2.3.1 + checksum: fd250c2edcf062e79af576fa39d555f624c155540f7bb27da05a400540f3c2ceb89f33841157eda5f4558a0b6c58d2686a105d26f79eeab5790e6b6bfbe18d4a languageName: node linkType: hard @@ -1100,17 +1621,17 @@ __metadata: linkType: hard "@azure/arm-appservice@npm:^13.0.1": - version: 13.0.2 - resolution: "@azure/arm-appservice@npm:13.0.2" + version: 13.0.3 + resolution: "@azure/arm-appservice@npm:13.0.3" dependencies: "@azure/abort-controller": ^1.0.0 "@azure/core-auth": ^1.3.0 - "@azure/core-client": ^1.5.0 + "@azure/core-client": ^1.6.1 "@azure/core-lro": ^2.2.0 "@azure/core-paging": ^1.2.0 "@azure/core-rest-pipeline": ^1.8.0 tslib: ^2.2.0 - checksum: 6d604c492a70a6cdd4d3ad3f634a74228dc081ed4f49128873e76bfa5e65ec8cce18b7b19319fd2b1b4edbd390dbd66c9ac48646f0ed80cae09cd2f1d05fb279 + checksum: 9cd73985a31744fd7da56654c1de2d1396e93fa0cc3527b7c2843e56913e2b0abd81d996a319447f2f289421c45ede6a87f820ed0f4414e7cd2afeb383ee8a0a languageName: node linkType: hard @@ -1143,7 +1664,7 @@ __metadata: languageName: node linkType: hard -"@azure/core-client@npm:^1.4.0, @azure/core-client@npm:^1.5.0": +"@azure/core-client@npm:^1.4.0, @azure/core-client@npm:^1.6.1": version: 1.6.1 resolution: "@azure/core-client@npm:1.6.1" dependencies: @@ -1248,7 +1769,7 @@ __metadata: languageName: node linkType: hard -"@azure/identity@npm:^2.0.1, @azure/identity@npm:^2.0.4, @azure/identity@npm:^2.1.0": +"@azure/identity@npm:^2.0.4, @azure/identity@npm:^2.1.0": version: 2.1.0 resolution: "@azure/identity@npm:2.1.0" dependencies: @@ -1569,10 +2090,10 @@ __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.13.0, @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.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.18.9 - resolution: "@babel/helper-plugin-utils@npm:7.18.9" - checksum: ebae876cd60f1fe238c7210986093845fa5c4cad5feeda843ea4d780bf068256717650376d3af2a5e760f2ed6a35c065ae144f99c47da3e54aa6cba99d8804e0 +"@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.13.0, @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.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.20.2 + resolution: "@babel/helper-plugin-utils@npm:7.20.2" + checksum: f6cae53b7fdb1bf3abd50fa61b10b4470985b400cc794d92635da1e7077bb19729f626adc0741b69403d9b6e411cddddb9c0157a709cc7c4eeb41e663be5d74b languageName: node linkType: hard @@ -1984,14 +2505,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.18.6" +"@babel/plugin-syntax-import-assertions@npm:7.20.0, @babel/plugin-syntax-import-assertions@npm:^7.18.6": + version: 7.20.0 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.20.0" dependencies: - "@babel/helper-plugin-utils": ^7.18.6 + "@babel/helper-plugin-utils": ^7.19.0 peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 54918a05375325ba0c60bc81abfb261e6f118bed2de94e4c17dca9a2006fc25e13b1a8b5504b9a881238ea394fd2f098f60b2eb3a392585d6348874565445e7b + checksum: 6a86220e0aae40164cd3ffaf80e7c076a1be02a8f3480455dddbae05fda8140f429290027604df7a11b3f3f124866e8a6d69dbfa1dda61ee7377b920ad144d5b languageName: node linkType: hard @@ -2913,7 +3434,7 @@ __metadata: minimist: ^1.2.5 mock-fs: ^5.1.0 morgan: ^1.10.0 - msw: ^0.48.0 + msw: ^0.49.0 mysql2: ^2.2.5 node-abort-controller: ^3.0.1 node-fetch: ^2.6.7 @@ -2998,7 +3519,7 @@ __metadata: "@backstage/config": "workspace:^" better-sqlite3: ^7.5.0 knex: ^2.0.0 - msw: ^0.48.0 + msw: ^0.49.0 mysql2: ^2.2.5 pg: ^8.3.0 testcontainers: ^8.1.2 @@ -3006,6 +3527,17 @@ __metadata: languageName: unknown linkType: soft +"@backstage/catalog-client@npm:^1.1.2": + version: 1.1.2 + resolution: "@backstage/catalog-client@npm:1.1.2" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/errors": ^1.1.3 + cross-fetch: ^3.1.5 + checksum: 1f57de39d9122cb104283ab8c0d107a40148d4cd0d7a2c012013851682831810df2cae204090d0d1382b7cd82a801b930e2c653b77df97f134d8e746a9e63900 + languageName: node + linkType: hard + "@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" @@ -3014,11 +3546,26 @@ __metadata: "@backstage/cli": "workspace:^" "@backstage/errors": "workspace:^" cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 languageName: unknown linkType: soft -"@backstage/catalog-model@^1.1.2, @backstage/catalog-model@workspace:^, @backstage/catalog-model@workspace:packages/catalog-model": +"@backstage/catalog-model@npm:^1.1.2, @backstage/catalog-model@npm:^1.1.3": + version: 1.1.3 + resolution: "@backstage/catalog-model@npm:1.1.3" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@backstage/types": ^1.0.1 + ajv: ^8.10.0 + json-schema: ^0.4.0 + lodash: ^4.17.21 + uuid: ^8.0.0 + checksum: 51e6821be44201d012550d7429cf4dc278fdd7dc001f4f5f6339a44a7e4dc155fbd44105d0dd96ea07b409fe93cd113a5a67370a758dfd368ab7b8e18d37ee6a + languageName: node + linkType: hard + +"@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: @@ -3141,7 +3688,7 @@ __metadata: mini-css-extract-plugin: ^2.4.2 minimatch: 5.1.0 mock-fs: ^5.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 node-libs-browser: ^2.2.1 nodemon: ^2.0.2 @@ -3224,15 +3771,25 @@ __metadata: json-schema-merge-allof: ^0.8.1 json-schema-traverse: ^1.0.0 mock-fs: ^5.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 - typescript-json-schema: ^0.54.0 + typescript-json-schema: ^0.55.0 yaml: ^2.0.0 yup: ^0.32.9 languageName: unknown linkType: soft -"@backstage/config@^1.0.3, @backstage/config@workspace:^, @backstage/config@workspace:packages/config": +"@backstage/config@npm:^1.0.3, @backstage/config@npm:^1.0.4": + version: 1.0.4 + resolution: "@backstage/config@npm:1.0.4" + dependencies: + "@backstage/types": ^1.0.1 + lodash: ^4.17.21 + checksum: f18e1afa024a752fc2667e2d0e54eadedfab231d9346a0fc8f8c0a5a5c04138ac1814209d89b43ec50f14309a76ad77f16213116675122fecc00bf085236d83e + languageName: node + linkType: hard + +"@backstage/config@workspace:^, @backstage/config@workspace:packages/config": version: 0.0.0-use.local resolution: "@backstage/config@workspace:packages/config" dependencies: @@ -3262,7 +3819,7 @@ __metadata: "@types/prop-types": ^15.7.3 "@types/zen-observable": ^0.8.0 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 prop-types: ^15.7.2 react-router-beta: "npm:react-router@6.0.0-beta.0" react-router-dom-beta: "npm:react-router-dom@6.0.0-beta.0" @@ -3329,6 +3886,57 @@ __metadata: languageName: node linkType: hard +"@backstage/core-components@npm:^0.12.0": + version: 0.12.0 + resolution: "@backstage/core-components@npm:0.12.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/errors": ^1.1.3 + "@backstage/theme": ^0.2.16 + "@backstage/version-bridge": ^1.0.2 + "@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.57 + "@react-hookz/web": ^15.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 + lodash: ^4.17.21 + pluralize: ^8.0.0 + prop-types: ^15.7.2 + qs: ^6.9.4 + rc-progress: 3.4.0 + react-helmet: 6.1.0 + react-hook-form: ^7.12.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.6 + react-window: ^1.8.6 + remark-gfm: ^3.0.1 + zen-observable: ^0.8.15 + zod: ^3.11.6 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + 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 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + checksum: d113d62942b33b0a1290caf7ae73b223e88eb8a91c206be9a598dd4abd103faeec747dec76145af33e7e7ceb5209fdeefb507cbc21d8260681d15c449c005440 + 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" @@ -3375,11 +3983,11 @@ __metadata: history: ^5.0.0 immer: ^9.0.1 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 pluralize: ^8.0.0 prop-types: ^15.7.2 qs: ^6.9.4 - rc-progress: 3.4.0 + rc-progress: 3.4.1 react-helmet: 6.1.0 react-hook-form: ^7.12.2 react-markdown: ^8.0.0 @@ -3401,7 +4009,25 @@ __metadata: languageName: unknown linkType: soft -"@backstage/core-plugin-api@^1.0.7, @backstage/core-plugin-api@workspace:^, @backstage/core-plugin-api@workspace:packages/core-plugin-api": +"@backstage/core-plugin-api@npm:^1.0.7, @backstage/core-plugin-api@npm:^1.1.0": + version: 1.1.0 + resolution: "@backstage/core-plugin-api@npm:1.1.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/types": ^1.0.1 + "@backstage/version-bridge": ^1.0.2 + history: ^5.0.0 + prop-types: ^15.7.2 + zen-observable: ^0.8.15 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router-dom: 6.0.0-beta.0 || ^6.3.0 + checksum: e63d6ac2bcaa0678f3051c3f9e91dfbb302c16b25c01bf9b463f01aeda309aca616fc482774f0c7cc1ecf91647bcd2b4899a58712b71785831d3be62d3ff58f6 + languageName: node + linkType: hard + +"@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: @@ -3420,7 +4046,7 @@ __metadata: "@types/zen-observable": ^0.8.0 cross-fetch: ^3.1.5 history: ^5.0.0 - msw: ^0.48.0 + msw: ^0.49.0 prop-types: ^15.7.2 zen-observable: ^0.9.0 peerDependencies: @@ -3487,7 +4113,18 @@ __metadata: languageName: unknown linkType: soft -"@backstage/errors@^1.1.2, @backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": +"@backstage/errors@npm:^1.1.2, @backstage/errors@npm:^1.1.3": + version: 1.1.3 + resolution: "@backstage/errors@npm:1.1.3" + dependencies: + "@backstage/types": ^1.0.1 + cross-fetch: ^3.1.5 + serialize-error: ^8.0.1 + checksum: 7d5d68ea79c179557f494fd83e9e457621d417d2b785378c8494ab441271cf541f4c0952f5afcb8dade1a51e715c5da5d926ed3154af54868b60b6c1d4cc0cf4 + languageName: node + linkType: hard + +"@backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors": version: 0.0.0-use.local resolution: "@backstage/errors@workspace:packages/errors" dependencies: @@ -3498,7 +4135,26 @@ __metadata: languageName: unknown linkType: soft -"@backstage/integration-react@^1.1.5, @backstage/integration-react@workspace:^, @backstage/integration-react@workspace:packages/integration-react": +"@backstage/integration-react@npm:^1.1.5": + version: 1.1.6 + resolution: "@backstage/integration-react@npm:1.1.6" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/integration": ^1.4.0 + "@backstage/theme": ^0.2.16 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.57 + react-use: ^17.2.4 + peerDependencies: + react: ^16.13.1 || ^17.0.0 + checksum: d46bad383db0453fe5c2dc4a941c6b4aae7b519cc72e740259f9c34ebe295e6f62797ac6a1598c3babae015bd3666a94a4a8f684ee311aa86c00aec30a065e98 + languageName: node + linkType: hard + +"@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: @@ -3518,13 +4174,29 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 languageName: unknown linkType: soft +"@backstage/integration@npm:^1.4.0": + version: 1.4.0 + resolution: "@backstage/integration@npm:1.4.0" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@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: 69ca3c99c96ca840990bfeedbc7099f39668bafdc11298bb74000473efd49b5b43d9ad610adcef2635bfdaaa8eb0f6381413ee43d32a5a9725dccc020bada177 + languageName: node + linkType: hard + "@backstage/integration@workspace:^, @backstage/integration@workspace:packages/integration": version: 0.0.0-use.local resolution: "@backstage/integration@workspace:packages/integration" @@ -3541,7 +4213,7 @@ __metadata: git-url-parse: ^13.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 languageName: unknown linkType: soft @@ -3562,7 +4234,7 @@ __metadata: "@types/supertest": ^2.0.8 luxon: ^3.0.0 marked: ^4.0.14 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.5 supertest: ^6.1.3 winston: ^3.2.1 @@ -3608,7 +4280,7 @@ __metadata: "@types/node": "*" cross-fetch: ^3.1.5 git-url-parse: ^13.0.0 - msw: ^0.48.0 + msw: ^0.49.0 octokit: ^2.0.0 react-markdown: ^8.0.0 react-use: ^17.2.4 @@ -3632,7 +4304,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 http-proxy-middleware: ^2.0.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.6 winston: ^3.2.1 yn: ^4.0.0 @@ -3661,7 +4333,7 @@ __metadata: "@types/node": ^16.11.26 "@types/object-hash": ^2.2.1 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 object-hash: ^3.0.0 react-use: ^17.2.4 peerDependencies: @@ -3691,7 +4363,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -3719,7 +4391,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-ga: ^3.3.0 react-use: ^17.2.4 peerDependencies: @@ -3745,7 +4417,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.10.1 react-use: ^17.2.4 peerDependencies: @@ -3794,7 +4466,7 @@ __metadata: graphql: ^16.0.0 graphql-ws: ^5.4.1 isomorphic-form-data: ^2.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 swagger-ui-react: ^4.11.1 peerDependencies: @@ -3825,7 +4497,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 use-deep-compare-effect: ^1.8.1 peerDependencies: @@ -3857,7 +4529,7 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 mock-fs: ^5.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.1.3 winston: ^3.2.1 @@ -3908,7 +4580,7 @@ __metadata: luxon: ^3.0.0 minimatch: ^5.0.0 morgan: ^1.10.0 - msw: ^0.48.0 + msw: ^0.49.0 node-cache: ^5.1.2 node-fetch: ^2.6.7 openid-client: ^5.2.1 @@ -3942,7 +4614,7 @@ __metadata: express: ^4.17.1 jose: ^4.6.0 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 @@ -3963,7 +4635,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 mime-types: ^2.1.27 - msw: ^0.48.0 + msw: ^0.49.0 p-limit: ^3.1.0 supertest: ^6.1.6 winston: ^3.2.1 @@ -4004,7 +4676,7 @@ __metadata: cross-fetch: ^3.1.5 humanize-duration: ^3.27.0 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -4027,7 +4699,7 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 winston: ^3.2.1 yn: ^4.0.0 @@ -4065,7 +4737,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -4116,7 +4788,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -4180,7 +4852,7 @@ __metadata: "@backstage/integration": "workspace:^" "@openapitools/openapi-generator-cli": ^2.4.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 ts-morph: ^15.0.0 languageName: unknown linkType: soft @@ -4209,7 +4881,7 @@ __metadata: cross-fetch: ^3.1.5 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.6 react-use: ^17.2.4 recharts: ^2.0.0 @@ -4265,7 +4937,7 @@ __metadata: "@types/lodash": ^4.14.151 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 @@ -4291,7 +4963,7 @@ __metadata: "@backstage/plugin-catalog-node": "workspace:^" "@backstage/plugin-events-node": "workspace:^" luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 p-limit: ^3.1.0 uuid: ^8.0.0 winston: ^3.2.1 @@ -4315,7 +4987,7 @@ __metadata: "@backstage/plugin-catalog-node": "workspace:^" "@types/node-fetch": ^2.5.12 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 @@ -4338,7 +5010,7 @@ __metadata: "@backstage/types": "workspace:^" "@types/lodash": ^4.14.151 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 winston: ^3.2.1 languageName: unknown @@ -4362,7 +5034,7 @@ __metadata: "@types/fs-extra": ^9.0.1 fs-extra: 10.1.0 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 @@ -4384,7 +5056,9 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/integration": "workspace:^" "@backstage/plugin-catalog-backend": "workspace:^" + "@backstage/plugin-catalog-common": "workspace:^" "@backstage/plugin-catalog-node": "workspace:^" + "@backstage/plugin-events-node": "workspace:^" "@backstage/types": "workspace:^" "@octokit/graphql": ^5.0.0 "@octokit/rest": ^19.0.3 @@ -4392,7 +5066,7 @@ __metadata: git-url-parse: ^13.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 @@ -4419,13 +5093,42 @@ __metadata: "@types/uuid": ^8.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 uuid: ^8.0.0 winston: ^3.2.1 languageName: unknown linkType: soft +"@backstage/plugin-catalog-backend-module-incremental-ingestion@workspace:plugins/catalog-backend-module-incremental-ingestion": + version: 0.0.0-use.local + resolution: "@backstage/plugin-catalog-backend-module-incremental-ingestion@workspace:plugins/catalog-backend-module-incremental-ingestion" + dependencies: + "@backstage/backend-app-api": "workspace:^" + "@backstage/backend-common": "workspace:^" + "@backstage/backend-plugin-api": "workspace:^" + "@backstage/backend-tasks": "workspace:^" + "@backstage/backend-test-utils": "workspace:^" + "@backstage/catalog-model": "workspace:^" + "@backstage/cli": "workspace:^" + "@backstage/config": "workspace:^" + "@backstage/errors": "workspace:^" + "@backstage/plugin-catalog-backend": "workspace:^" + "@backstage/plugin-catalog-node": "workspace:^" + "@backstage/plugin-permission-common": "workspace:^" + "@types/express": ^4.17.6 + "@types/luxon": ^3.0.0 + express: ^4.17.1 + express-promise-router: ^4.1.0 + get-port: ^6.1.2 + knex: ^2.0.0 + lodash: ^4.17.21 + luxon: ^3.0.0 + uuid: ^8.3.2 + winston: ^3.2.1 + languageName: unknown + linkType: soft + "@backstage/plugin-catalog-backend-module-ldap@workspace:plugins/catalog-backend-module-ldap": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-backend-module-ldap@workspace:plugins/catalog-backend-module-ldap" @@ -4465,7 +5168,7 @@ __metadata: "@types/node-fetch": ^2.5.12 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 p-limit: ^3.0.2 qs: ^6.9.4 @@ -4478,7 +5181,7 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-backend-module-openapi@workspace:plugins/catalog-backend-module-openapi" dependencies: - "@apidevtools/swagger-parser": ^10.1.0 + "@apidevtools/json-schema-ref-parser": ^9.0.6 "@backstage/backend-common": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-model": "workspace:^" @@ -4533,7 +5236,7 @@ __metadata: knex: ^2.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 p-limit: ^3.0.2 prom-client: ^14.0.1 @@ -4547,7 +5250,18 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-common@^1.0.7, @backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": +"@backstage/plugin-catalog-common@npm:^1.0.7, @backstage/plugin-catalog-common@npm:^1.0.8": + version: 1.0.8 + resolution: "@backstage/plugin-catalog-common@npm:1.0.8" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/plugin-search-common": ^1.1.1 + checksum: bcf05d3b05bfb6662b350e6168c6eae8d57b8ed0f4dcd029eac5b48ce87ffa424708f9cdf54f6ff3fc43c094b6553508d53a1bc74a4fad49a1766e1d1bca0b5d + languageName: node + linkType: hard + +"@backstage/plugin-catalog-common@workspace:^, @backstage/plugin-catalog-common@workspace:plugins/catalog-common": version: 0.0.0-use.local resolution: "@backstage/plugin-catalog-common@workspace:plugins/catalog-common" dependencies: @@ -4612,7 +5326,7 @@ __metadata: graphql-modules: ^2.0.0 graphql-tag: ^2.11.0 graphql-type-json: ^0.3.2 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 winston: ^3.2.1 languageName: unknown @@ -4648,7 +5362,7 @@ __metadata: git-url-parse: ^13.0.0 js-base64: ^3.6.0 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 react-hook-form: ^7.12.2 react-use: ^17.2.4 yaml: ^2.0.0 @@ -4675,7 +5389,41 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-catalog-react@^1.2.0, @backstage/plugin-catalog-react@workspace:^, @backstage/plugin-catalog-react@workspace:plugins/catalog-react": +"@backstage/plugin-catalog-react@npm:^1.2.0, @backstage/plugin-catalog-react@npm:^1.2.1": + version: 1.2.1 + resolution: "@backstage/plugin-catalog-react@npm:1.2.1" + dependencies: + "@backstage/catalog-client": ^1.1.2 + "@backstage/catalog-model": ^1.1.3 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/errors": ^1.1.3 + "@backstage/integration": ^1.4.0 + "@backstage/plugin-catalog-common": ^1.0.8 + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/plugin-permission-react": ^0.4.7 + "@backstage/theme": ^0.2.16 + "@backstage/types": ^1.0.1 + "@backstage/version-bridge": ^1.0.2 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.57 + classnames: ^2.2.6 + jwt-decode: ^3.1.0 + lodash: ^4.17.21 + qs: ^6.9.4 + react-use: ^17.2.4 + yaml: ^2.0.0 + zen-observable: ^0.8.15 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 623103b7cb8cc4f08edb31b79e46d04e5f2eb27e6d95421430da4a9d1a18e74dc4aabc3d7c9e2ff15c615f6881b6a2e35fb953abe0bac7a8b93ec47d65432517 + languageName: node + linkType: hard + +"@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: @@ -4750,6 +5498,7 @@ __metadata: cross-fetch: ^3.1.5 history: ^5.0.0 lodash: ^4.17.21 + pluralize: ^8.0.0 react-helmet: 6.1.0 react-use: ^17.2.4 zen-observable: ^0.9.0 @@ -4827,7 +5576,7 @@ __metadata: humanize-duration: ^3.27.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -4858,7 +5607,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -4892,7 +5641,7 @@ __metadata: cross-fetch: ^3.1.5 humanize-duration: ^3.27.1 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -4918,7 +5667,7 @@ __metadata: express-promise-router: ^4.1.0 express-xml-bodyparser: ^0.3.0 knex: ^2.0.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.6 uuid: ^8.3.2 winston: ^3.2.1 @@ -4955,7 +5704,7 @@ __metadata: cross-fetch: ^3.1.5 highlight.js: ^10.6.0 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 recharts: ^2.0.0 peerDependencies: @@ -4986,8 +5735,8 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 - msw: ^0.48.0 - rc-progress: 3.4.0 + msw: ^0.49.0 + rc-progress: 3.4.1 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5018,7 +5767,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 jsonschema: ^1.2.6 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 zen-observable: ^0.9.0 peerDependencies: @@ -5066,7 +5815,7 @@ __metadata: cross-fetch: ^3.1.5 history: ^5.0.0 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 pluralize: ^8.0.0 qs: ^6.9.4 react-use: ^17.2.4 @@ -5100,7 +5849,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": "*" express: ^4.18.1 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: "@backstage/plugin-catalog-react": "workspace:^" @@ -5112,7 +5861,8 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-events-backend-module-aws-sqs@workspace:plugins/events-backend-module-aws-sqs" dependencies: - "@aws-sdk/client-sqs": ^3.0.0 + "@aws-sdk/client-sqs": ^3.208.0 + "@aws-sdk/types": ^3.208.0 "@backstage/backend-common": "workspace:^" "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-tasks": "workspace:^" @@ -5177,8 +5927,10 @@ __metadata: "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" + "@backstage/config": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" + "@octokit/webhooks-methods": ^3.0.0 supertest: ^6.1.3 winston: ^3.2.1 languageName: unknown @@ -5191,6 +5943,7 @@ __metadata: "@backstage/backend-plugin-api": "workspace:^" "@backstage/backend-test-utils": "workspace:^" "@backstage/cli": "workspace:^" + "@backstage/config": "workspace:^" "@backstage/plugin-events-backend-test-utils": "workspace:^" "@backstage/plugin-events-node": "workspace:^" supertest: ^6.1.3 @@ -5232,8 +5985,6 @@ __metadata: dependencies: "@backstage/backend-plugin-api": "workspace:^" "@backstage/cli": "workspace:^" - "@types/express": ^4.17.6 - express: ^4.17.1 languageName: unknown linkType: soft @@ -5250,7 +6001,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 languageName: unknown linkType: soft @@ -5278,7 +6029,7 @@ __metadata: "@types/node": ^16.11.26 classnames: ^2.2.6 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 @@ -5309,7 +6060,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5339,7 +6090,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 p-limit: ^3.0.2 react-use: ^17.2.4 peerDependencies: @@ -5376,7 +6127,7 @@ __metadata: lodash: ^4.17.21 luxon: ^3.0.0 material-ui-popup-state: ^1.9.3 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5403,7 +6154,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 peerDependencies: react: ^16.13.1 || ^17.0.0 react-router-dom: 6.0.0-beta.0 || ^6.3.0 @@ -5434,7 +6185,7 @@ __metadata: "@types/recharts": ^1.8.15 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.10.1 react-use: ^17.2.4 recharts: ^2.0.0 @@ -5469,7 +6220,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5504,7 +6255,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5537,7 +6288,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 octokit: ^2.0.4 react-use: ^17.4.0 peerDependencies: @@ -5569,7 +6320,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 p-limit: ^4.0.0 react-use: ^17.2.4 peerDependencies: @@ -5597,7 +6348,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5631,7 +6382,7 @@ __metadata: cross-fetch: ^3.1.5 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.10.1 react-use: ^17.2.4 peerDependencies: @@ -5662,7 +6413,7 @@ __metadata: graphiql: ^1.5.12 graphql: ^16.0.0 graphql-ws: ^5.4.1 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5688,7 +6439,7 @@ __metadata: graphql: ^16.0.0 graphql-modules: ^2.0.0 helmet: ^6.0.0 - msw: ^0.48.0 + msw: ^0.49.0 reflect-metadata: ^0.1.13 supertest: ^6.1.3 winston: ^3.2.1 @@ -5696,7 +6447,31 @@ __metadata: languageName: unknown linkType: soft -"@backstage/plugin-home@^0.4.26, @backstage/plugin-home@workspace:^, @backstage/plugin-home@workspace:plugins/home": +"@backstage/plugin-home@npm:^0.4.26, @backstage/plugin-home@npm:^0.4.27": + version: 0.4.27 + resolution: "@backstage/plugin-home@npm:0.4.27" + dependencies: + "@backstage/catalog-model": ^1.1.3 + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-catalog-react": ^1.2.1 + "@backstage/plugin-stack-overflow": ^0.1.7 + "@backstage/theme": ^0.2.16 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@material-ui/lab": 4.0.0-alpha.57 + lodash: ^4.17.21 + react-use: ^17.2.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 294dfe9ea8e59cef24fe71051f61ab46ee0eb140bc26828e9daa677265394a82ba869729401d898bff1b430a972131190ca98c0c4e5e15e503995332b25c02c0 + languageName: node + linkType: hard + +"@backstage/plugin-home@workspace:^, @backstage/plugin-home@workspace:plugins/home": version: 0.0.0-use.local resolution: "@backstage/plugin-home@workspace:plugins/home" dependencies: @@ -5720,7 +6495,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 @@ -5755,7 +6530,7 @@ __metadata: cross-fetch: ^3.1.5 humanize-duration: ^3.26.0 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5781,8 +6556,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 jenkins: ^1.0.0 - msw: ^0.48.0 - promise-any-polyfill: ^1.0.1 + msw: ^0.49.0 supertest: ^6.1.6 winston: ^3.2.1 yn: ^4.0.0 @@ -5824,7 +6598,7 @@ __metadata: "@types/testing-library__jest-dom": ^5.9.1 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5879,7 +6653,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 jest-when: ^3.1.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5893,6 +6667,7 @@ __metadata: dependencies: "@azure/identity": ^2.0.4 "@backstage/backend-common": "workspace:^" + "@backstage/backend-test-utils": "workspace:^" "@backstage/catalog-client": "workspace:^" "@backstage/catalog-model": "workspace:^" "@backstage/cli": "workspace:^" @@ -5901,9 +6676,11 @@ __metadata: "@backstage/plugin-auth-node": "workspace:^" "@backstage/plugin-kubernetes-common": "workspace:^" "@google-cloud/container": ^4.0.0 + "@jest-mock/express": ^2.0.1 "@kubernetes/client-node": 0.17.0 "@types/aws4": ^1.5.1 "@types/express": ^4.17.6 + "@types/http-proxy-middleware": ^0.19.3 "@types/luxon": ^3.0.0 aws-sdk: ^2.840.0 aws-sdk-mock: ^5.2.1 @@ -5914,9 +6691,12 @@ __metadata: express-promise-router: ^4.1.0 fs-extra: 10.1.0 helmet: ^6.0.0 + http-proxy-middleware: ^2.0.6 lodash: ^4.17.21 luxon: ^3.0.0 morgan: ^1.10.0 + msw: ^0.49.0 + node-fetch: ^2.6.7 stream-buffers: ^3.0.2 supertest: ^6.1.3 winston: ^3.2.1 @@ -5964,7 +6744,7 @@ __metadata: js-yaml: ^4.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -5996,7 +6776,7 @@ __metadata: "@types/node": ^16.11.26 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6046,7 +6826,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6075,7 +6855,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6104,7 +6884,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 p-limit: ^3.1.0 pluralize: ^8.0.0 qs: ^6.10.1 @@ -6140,7 +6920,7 @@ __metadata: classnames: ^2.2.6 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 @@ -6160,7 +6940,7 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.1.6 winston: ^3.2.1 @@ -6192,7 +6972,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6218,7 +6998,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.1.6 winston: ^3.2.1 @@ -6227,6 +7007,20 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-permission-common@npm:^0.7.1": + version: 0.7.1 + resolution: "@backstage/plugin-permission-common@npm:0.7.1" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/errors": ^1.1.3 + "@backstage/types": ^1.0.1 + cross-fetch: ^3.1.5 + uuid: ^8.0.0 + zod: ^3.11.6 + checksum: d0ed7f8f3ed4163087db140f46e0fd055cc85e8127c0b26b17a595801df4dc0fa21330513f782be75e10cffb64c5f42f82b541b669e46e63113c41052277b65e + languageName: node + linkType: hard + "@backstage/plugin-permission-common@workspace:^, @backstage/plugin-permission-common@workspace:plugins/permission-common": version: 0.0.0-use.local resolution: "@backstage/plugin-permission-common@workspace:plugins/permission-common" @@ -6236,7 +7030,7 @@ __metadata: "@backstage/errors": "workspace:^" "@backstage/types": "workspace:^" cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 uuid: ^8.0.0 zod: ^3.11.6 languageName: unknown @@ -6257,13 +7051,31 @@ __metadata: "@types/supertest": ^2.0.8 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.3 zod: ^3.11.6 zod-to-json-schema: ^3.18.1 languageName: unknown linkType: soft +"@backstage/plugin-permission-react@npm:^0.4.7": + version: 0.4.7 + resolution: "@backstage/plugin-permission-react@npm:0.4.7" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-permission-common": ^0.7.1 + cross-fetch: ^3.1.5 + react-use: ^17.2.4 + swr: ^1.1.2 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + react-router: 6.0.0-beta.0 || ^6.3.0 + checksum: 4fac3ea7ac33012bf0690f6a4813ec63ea96c0e145a125012f1174a3b93cac84cc803854fe2f85735d84f29a6d11ee1f97391f6551b1a7907d62cb2351dc16be + 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" @@ -6305,7 +7117,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 knex: ^2.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.1.3 uuid: ^8.2.0 @@ -6353,7 +7165,7 @@ __metadata: "@types/node": "*" cross-fetch: ^3.1.5 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-hook-form: ^7.13.0 react-use: ^17.2.4 @@ -6381,7 +7193,7 @@ __metadata: express-promise-router: ^4.1.0 http-proxy-middleware: ^2.0.0 morgan: ^1.10.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.3 uuid: ^8.0.0 winston: ^3.2.1 @@ -6409,7 +7221,7 @@ __metadata: fs-extra: 10.1.0 lodash: ^4.17.21 morgan: ^1.10.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.1.3 winston: ^3.2.1 @@ -6441,7 +7253,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 react-sparklines: ^1.7.0 react-use: ^17.2.4 peerDependencies: @@ -6468,7 +7280,7 @@ __metadata: command-exists: ^1.2.9 fs-extra: 10.1.0 mock-fs: ^5.1.0 - msw: ^0.48.0 + msw: ^0.49.0 winston: ^3.2.1 yn: ^4.0.0 languageName: unknown @@ -6559,7 +7371,7 @@ __metadata: luxon: ^3.0.0 mock-fs: ^5.1.0 morgan: ^1.10.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 nunjucks: ^3.2.3 octokit: ^2.0.0 @@ -6640,7 +7452,7 @@ __metadata: json-schema-library: ^7.0.0 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-use: ^17.2.4 use-immer: ^0.7.0 @@ -6744,6 +7556,16 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-search-common@npm:^1.1.1": + version: 1.1.1 + resolution: "@backstage/plugin-search-common@npm:1.1.1" + dependencies: + "@backstage/plugin-permission-common": ^0.7.1 + "@backstage/types": ^1.0.1 + checksum: 7c90229997c5545fe7ceca1fde7159b9f30339755551a7845e8ac628b640826793f300f820dfeb76bf6e57baf03a6469806b12f381e35bda373ca2e18374873e + languageName: node + linkType: hard + "@backstage/plugin-search-common@workspace:^, @backstage/plugin-search-common@workspace:plugins/search-common": version: 0.0.0-use.local resolution: "@backstage/plugin-search-common@workspace:plugins/search-common" @@ -6812,7 +7634,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -6848,7 +7670,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-sparklines: ^1.7.0 react-use: ^17.2.4 peerDependencies: @@ -6878,7 +7700,7 @@ __metadata: "@types/node": ^16.11.26 "@types/zen-observable": ^0.8.2 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-hook-form: ^7.12.2 react-use: ^17.2.4 uuid: ^8.3.2 @@ -6902,7 +7724,7 @@ __metadata: "@types/supertest": ^2.0.12 express: ^4.18.1 express-promise-router: ^4.1.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 supertest: ^6.2.4 winston: ^3.2.1 @@ -6932,8 +7754,8 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 - rc-progress: 3.4.0 + msw: ^0.49.0 + rc-progress: 3.4.1 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6964,7 +7786,7 @@ __metadata: classnames: ^2.2.6 cross-fetch: ^3.1.5 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -6985,6 +7807,30 @@ __metadata: languageName: unknown linkType: soft +"@backstage/plugin-stack-overflow@npm:^0.1.7": + version: 0.1.7 + resolution: "@backstage/plugin-stack-overflow@npm:0.1.7" + dependencies: + "@backstage/config": ^1.0.4 + "@backstage/core-components": ^0.12.0 + "@backstage/core-plugin-api": ^1.1.0 + "@backstage/plugin-home": ^0.4.27 + "@backstage/plugin-search-common": ^1.1.1 + "@backstage/theme": ^0.2.16 + "@material-ui/core": ^4.12.2 + "@material-ui/icons": ^4.9.1 + "@testing-library/jest-dom": ^5.10.1 + cross-fetch: ^3.1.5 + lodash: ^4.17.21 + qs: ^6.9.4 + react-use: ^17.2.4 + peerDependencies: + "@types/react": ^16.13.1 || ^17.0.0 + react: ^16.13.1 || ^17.0.0 + checksum: 2e0bcba106cd042f4955b89ceabdd811dfa292a407e191330d9aa2e8e79d534dddc672db2cec02ca82831db50b24a1caeecf8dd45ff3b06408be679a46356eea + languageName: node + linkType: hard + "@backstage/plugin-stack-overflow@workspace:^, @backstage/plugin-stack-overflow@workspace:plugins/stack-overflow": version: 0.0.0-use.local resolution: "@backstage/plugin-stack-overflow@workspace:plugins/stack-overflow" @@ -7007,7 +7853,7 @@ __metadata: "@types/node": ^16.11.26 cross-fetch: ^3.1.5 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -7118,7 +7964,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 qs: ^6.9.4 react-use: ^17.2.4 peerDependencies: @@ -7152,7 +7998,7 @@ __metadata: color: ^4.0.1 cross-fetch: ^3.1.5 d3-force: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 prop-types: ^15.7.2 react-use: ^17.2.4 peerDependencies: @@ -7184,7 +8030,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 testing-library__dom: ^7.29.4-beta.1 peerDependencies: @@ -7220,7 +8066,7 @@ __metadata: fs-extra: 10.1.0 knex: ^2.0.0 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 p-limit: ^3.1.0 supertest: ^6.1.3 @@ -7254,7 +8100,7 @@ __metadata: "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 git-url-parse: ^13.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -7265,7 +8111,11 @@ __metadata: version: 0.0.0-use.local resolution: "@backstage/plugin-techdocs-node@workspace:plugins/techdocs-node" dependencies: - "@azure/identity": ^2.0.1 + "@aws-sdk/client-s3": ^3.208.0 + "@aws-sdk/credential-providers": ^3.208.0 + "@aws-sdk/lib-storage": ^3.208.0 + "@aws-sdk/types": ^3.208.0 + "@azure/identity": ^2.1.0 "@azure/storage-blob": ^12.5.0 "@backstage/backend-common": "workspace:^" "@backstage/catalog-model": "workspace:^" @@ -7283,7 +8133,7 @@ __metadata: "@types/mock-fs": ^4.13.0 "@types/recursive-readdir": ^2.2.0 "@types/supertest": ^2.0.8 - aws-sdk: ^2.840.0 + aws-sdk-client-mock: ^2.0.0 express: ^4.17.1 fs-extra: 10.1.0 git-url-parse: ^13.0.0 @@ -7365,7 +8215,7 @@ __metadata: git-url-parse: ^13.0.0 jss: ~10.8.2 lodash: ^4.17.21 - msw: ^0.48.0 + msw: ^0.49.0 react-helmet: 6.1.0 react-use: ^17.2.4 peerDependencies: @@ -7393,7 +8243,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 leasot: ^12.0.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.3 winston: ^3.2.1 yn: ^4.0.0 @@ -7422,7 +8272,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -7474,7 +8324,7 @@ __metadata: "@types/node": ^16.11.26 "@types/react": ^16.13.1 || ^17.0.0 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 zen-observable: ^0.9.0 peerDependencies: @@ -7501,7 +8351,7 @@ __metadata: express: ^4.17.1 express-promise-router: ^4.1.0 helmet: ^6.0.0 - msw: ^0.48.0 + msw: ^0.49.0 node-fetch: ^2.6.7 p-limit: ^3.1.0 supertest: ^6.1.6 @@ -7532,7 +8382,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": "*" cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -7562,7 +8412,7 @@ __metadata: cross-fetch: ^3.1.5 lodash: ^4.17.21 luxon: ^3.0.0 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 recharts: ^2.0.0 peerDependencies: @@ -7578,7 +8428,26 @@ __metadata: "@backstage/test-utils": "workspace:^" "@types/node": ^16.0.0 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 + languageName: unknown + linkType: soft + +"@backstage/repo-tools@workspace:*, @backstage/repo-tools@workspace:packages/repo-tools": + version: 0.0.0-use.local + resolution: "@backstage/repo-tools@workspace:packages/repo-tools" + dependencies: + "@backstage/errors": "workspace:^" + "@manypkg/get-packages": ^1.1.3 + "@microsoft/api-documenter": ^7.17.11 + "@microsoft/api-extractor": ^7.23.0 + "@microsoft/api-extractor-model": ^7.17.2 + "@microsoft/tsdoc": 0.14.1 + chalk: ^4.0.0 + commander: ^9.1.0 + fs-extra: 10.1.0 + ts-node: ^10.0.0 + bin: + backstage-repo-tools: bin/backstage-repo-tools languageName: unknown linkType: soft @@ -7601,7 +8470,7 @@ __metadata: "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 zen-observable: ^0.9.0 peerDependencies: "@types/react": ^16.13.1 || ^17.0.0 @@ -7621,7 +8490,14 @@ __metadata: languageName: unknown linkType: soft -"@backstage/types@^1.0.0, @backstage/types@workspace:^, @backstage/types@workspace:packages/types": +"@backstage/types@npm:^1.0.0, @backstage/types@npm:^1.0.1": + version: 1.0.1 + resolution: "@backstage/types@npm:1.0.1" + checksum: 4857bc916f6afb77516fee565bb8048f2110425e32621ae7f332b9b9d32a738df26886b641339e811f3342488d44383c7a2fdd799de897b08fcca2062f1a9a13 + languageName: node + linkType: hard + +"@backstage/types@workspace:^, @backstage/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@backstage/types@workspace:packages/types" dependencies: @@ -7632,7 +8508,7 @@ __metadata: languageName: unknown linkType: soft -"@backstage/version-bridge@^1.0.1, @backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge": +"@backstage/version-bridge@^1.0.1, @backstage/version-bridge@^1.0.2, @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: @@ -7946,11 +8822,11 @@ __metadata: linkType: hard "@codemirror/legacy-modes@npm:^6.1.0": - version: 6.2.0 - resolution: "@codemirror/legacy-modes@npm:6.2.0" + version: 6.3.1 + resolution: "@codemirror/legacy-modes@npm:6.3.1" dependencies: "@codemirror/language": ^6.0.0 - checksum: c4449ad4e9b80fad982956ace705af5e21cd8c8bb248930bcb394ec019babf1a7b23e1e2894428b67d28a0c5bee99592320673690d19039392ddbc77075ef132 + checksum: 9065e521bf14e33856e9d3ea114d7b352adf341a8b8d4fb94b4c866189336a32b5ed42ffc20f5d2fa3c839f1bdf29a868bbf9b74c105ed83fa9fd6080e0429e9 languageName: node linkType: hard @@ -7976,10 +8852,10 @@ __metadata: languageName: node linkType: hard -"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1": - version: 6.1.2 - resolution: "@codemirror/state@npm:6.1.2" - checksum: 7eda4b3eb6a777fecaa5a62e95a162aa163ccff01913d21a88d1157247390d9b57e6bcf54738be0b98aff8ba3a6ec3cb7aeb3b9714b019cb6c05242da9d9fdfe +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.1.1, @codemirror/state@npm:^6.1.4": + version: 6.1.4 + resolution: "@codemirror/state@npm:6.1.4" + checksum: ef6bc495d3b89d2f0202b6b1c0fc3e3610f8d815f4ca91f86153d6093c9b93ddbe2cfb787802d07514a7114f0b200cf2eeb54c1cd34d7e00eff774ecea97d845 languageName: node linkType: hard @@ -7996,13 +8872,13 @@ __metadata: linkType: hard "@codemirror/view@npm:^6.0.0": - version: 6.4.2 - resolution: "@codemirror/view@npm:6.4.2" + version: 6.6.0 + resolution: "@codemirror/view@npm:6.6.0" dependencies: - "@codemirror/state": ^6.0.0 + "@codemirror/state": ^6.1.4 style-mod: ^4.0.0 w3c-keyname: ^2.2.4 - checksum: c79982563ad90adf1d7504b28bb1304a73f669c69634a1630b51521e4023b3630c15601daf2857683b34a86cac4ca24dc5b538a9d944616617f99c1a7da7faa6 + checksum: 9b007eedcf13e94ec7d9c30ee302e1a1fcd382bef2481bd9afa3a116458652983e745b40494eb29d80df1dca8f99e91dcb1e4eba37670c2553ffc90bef0933e7 languageName: node linkType: hard @@ -8177,16 +9053,16 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.15.13": - version: 0.15.13 - resolution: "@esbuild/android-arm@npm:0.15.13" +"@esbuild/android-arm@npm:0.15.16": + version: 0.15.16 + resolution: "@esbuild/android-arm@npm:0.15.16" conditions: os=android & cpu=arm languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.15.13": - version: 0.15.13 - resolution: "@esbuild/linux-loong64@npm:0.15.13" +"@esbuild/linux-loong64@npm:0.15.16": + version: 0.15.16 + resolution: "@esbuild/linux-loong64@npm:0.15.16" conditions: os=linux & cpu=loong64 languageName: node linkType: hard @@ -8225,61 +9101,61 @@ __metadata: linkType: hard "@gitbeaker/browser@npm:^35.6.0": - version: 35.7.0 - resolution: "@gitbeaker/browser@npm:35.7.0" + version: 35.8.0 + resolution: "@gitbeaker/browser@npm:35.8.0" dependencies: - "@gitbeaker/core": ^35.7.0 - "@gitbeaker/requester-utils": ^35.7.0 + "@gitbeaker/core": ^35.8.0 + "@gitbeaker/requester-utils": ^35.8.0 delay: ^5.0.0 ky: 0.28.7 - checksum: 35b1afbd047ba172a21e548259fb38764c50e4794d64e33e6be7ae16552dc41882dc2107df70da35a3431ccb5014604efd4b189d16db2251349d0d0b01d65618 + checksum: 23fa14d64661108c03a5d141123037aebb68e257d84e26bd8f6241df65a0958eaa79b8b491e0f08159e325cdc3244f79b2426dedcc2354ad106316ea499415ac languageName: node linkType: hard -"@gitbeaker/core@npm:^35.6.0, @gitbeaker/core@npm:^35.7.0": - version: 35.7.0 - resolution: "@gitbeaker/core@npm:35.7.0" +"@gitbeaker/core@npm:^35.6.0, @gitbeaker/core@npm:^35.8.0": + version: 35.8.0 + resolution: "@gitbeaker/core@npm:35.8.0" dependencies: - "@gitbeaker/requester-utils": ^35.7.0 + "@gitbeaker/requester-utils": ^35.8.0 form-data: ^4.0.0 li: ^1.3.0 mime: ^3.0.0 query-string: ^7.0.0 xcase: ^2.0.1 - checksum: 5039557ba432a2478edb2cf767cef9d5f5f46f1de78219166eb6ec1bf6ad8e1dbf090085e31526fa58010ae4966bad9232af368474d9765b54bb3334173cb3cb + checksum: b894e1ac86dc8ac85f2db51d83d392899c10bb555b2448900f502ffeb49d9f36c1063c7151128ca96951ac472c11be6320584c4bec873501e96607bd7c25a37b languageName: node linkType: hard "@gitbeaker/node@npm:^35.1.0": - version: 35.7.0 - resolution: "@gitbeaker/node@npm:35.7.0" + version: 35.8.0 + resolution: "@gitbeaker/node@npm:35.8.0" dependencies: - "@gitbeaker/core": ^35.7.0 - "@gitbeaker/requester-utils": ^35.7.0 + "@gitbeaker/core": ^35.8.0 + "@gitbeaker/requester-utils": ^35.8.0 delay: ^5.0.0 got: ^11.8.3 xcase: ^2.0.1 - checksum: 879595b065f40027b6191f609bddba05988c308c924323aa0cf30220801c21ba01e62c3395fd9cd0072ff6bc330f211e7aadcf63d80e893d7d33149c09ba221e + checksum: af75fa2348ec6fcdd1605f269df10c13bd7d53f9a5c42da7e013db920a1129075072de3a0ada97d800be732575bb838b8a462472faebcfaf9fe243b93d29a464 languageName: node linkType: hard -"@gitbeaker/requester-utils@npm:^35.7.0": - version: 35.7.0 - resolution: "@gitbeaker/requester-utils@npm:35.7.0" +"@gitbeaker/requester-utils@npm:^35.8.0": + version: 35.8.0 + resolution: "@gitbeaker/requester-utils@npm:35.8.0" dependencies: form-data: ^4.0.0 qs: ^6.10.1 xcase: ^2.0.1 - checksum: f928affa8c5cd6b1b2811d77e14e2d60611bc9b93767fce936125b59e75b9786e4d760b5dc624719fbfdb8638905d957817845bcee01b147bbe5aebf60a635c1 + checksum: 6bd49b821fb6f262c6306c06fc4812f41902c864a7d941b0d112381b352f680e50ebd6180840e21a89d761427cb1326d9829b74c98c95bf9fa2a5d53872a400a languageName: node linkType: hard "@google-cloud/container@npm:^4.0.0": - version: 4.3.0 - resolution: "@google-cloud/container@npm:4.3.0" + version: 4.4.0 + resolution: "@google-cloud/container@npm:4.4.0" dependencies: - google-gax: ^3.3.0 - checksum: cc1dc2ca7f6b47bac0d374013e78b05372f25dce7a3f84d799899af274d26fa22f23d2554a66ca1db528c3bbbec1cfbac86dfa9fc72cc78f175bcb737900b3ed + google-gax: ^3.5.2 + checksum: 39e7ba3b8cd7e50908315eee5c42461b8cee909c5653ffc817503757e867d63815c5ca8f540b7566f38be9ae0454ed89d2efe95b64961a8692a9348ddf92074f languageName: node linkType: hard @@ -8378,8 +9254,8 @@ __metadata: linkType: hard "@graphql-codegen/cli@npm:^2.3.1": - version: 2.13.12 - resolution: "@graphql-codegen/cli@npm:2.13.12" + version: 2.14.1 + resolution: "@graphql-codegen/cli@npm:2.14.1" dependencies: "@babel/generator": ^7.18.13 "@babel/template": ^7.18.10 @@ -8387,9 +9263,9 @@ __metadata: "@graphql-codegen/core": 2.6.6 "@graphql-codegen/plugin-helpers": ^2.7.2 "@graphql-tools/apollo-engine-loader": ^7.3.6 - "@graphql-tools/code-file-loader": ^7.3.1 - "@graphql-tools/git-loader": ^7.2.1 - "@graphql-tools/github-loader": ^7.3.6 + "@graphql-tools/code-file-loader": ^7.3.13 + "@graphql-tools/git-loader": ^7.2.13 + "@graphql-tools/github-loader": ^7.3.20 "@graphql-tools/graphql-file-loader": ^7.5.0 "@graphql-tools/json-file-loader": ^7.4.1 "@graphql-tools/load": 7.8.0 @@ -8410,7 +9286,6 @@ __metadata: json-to-pretty-yaml: ^1.2.2 listr2: ^4.0.5 log-symbols: ^4.0.0 - mkdirp: ^1.0.4 shell-quote: ^1.7.3 string-env-interpolation: ^1.0.1 ts-log: ^2.2.3 @@ -8424,7 +9299,7 @@ __metadata: graphql-code-generator: cjs/bin.js graphql-codegen: cjs/bin.js graphql-codegen-esm: esm/bin.js - checksum: 367d4687e1d4bf44f0a7f3cb4e71656774f006512883a51ceae905495b2e76819e6b49dfe63e3effe59abb990a4c17bb985878a4592bf2ff959dc822723c1370 + checksum: 65b18da39d55f656274ff0cc24ba5d402d1956bd569704fe5c2005280ee1833682513b611d507ce8e35f27004bff14fa0c6862b5c326f68ca6382924f1105058 languageName: node linkType: hard @@ -8443,18 +9318,18 @@ __metadata: linkType: hard "@graphql-codegen/graphql-modules-preset@npm:^2.3.2": - version: 2.5.5 - resolution: "@graphql-codegen/graphql-modules-preset@npm:2.5.5" + version: 2.5.6 + resolution: "@graphql-codegen/graphql-modules-preset@npm:2.5.6" dependencies: "@graphql-codegen/plugin-helpers": ^2.7.2 - "@graphql-codegen/visitor-plugin-common": 2.13.1 + "@graphql-codegen/visitor-plugin-common": 2.13.2 "@graphql-tools/utils": ^8.8.0 change-case-all: 1.0.14 parse-filepath: ^1.0.2 tslib: ~2.4.0 peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: d499001af49d0a829c6adcbc211d252e8d5a42ba1635c32265ad99d187666425150c99815d48e591ca66e811a2b09860a5f59ba02484a3a3f0dcf4dcba8a6fb8 + checksum: e446c4277f66304d34e9883c37dd241559ba47695716d8ef911514de998c927e2f37770d70b87b56238e3fed1bf43eff9ec7bce679e06fb4eb0b759c98f6cb25 languageName: node linkType: hard @@ -8488,39 +9363,39 @@ __metadata: linkType: hard "@graphql-codegen/typescript-resolvers@npm:^2.4.3": - version: 2.7.6 - resolution: "@graphql-codegen/typescript-resolvers@npm:2.7.6" + version: 2.7.7 + resolution: "@graphql-codegen/typescript-resolvers@npm:2.7.7" dependencies: "@graphql-codegen/plugin-helpers": ^2.7.2 - "@graphql-codegen/typescript": ^2.8.1 - "@graphql-codegen/visitor-plugin-common": 2.13.1 + "@graphql-codegen/typescript": ^2.8.2 + "@graphql-codegen/visitor-plugin-common": 2.13.2 "@graphql-tools/utils": ^8.8.0 auto-bind: ~4.0.0 tslib: ~2.4.0 peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: f552f74aa264c0f9024834d6d1c126f9f1a69dccf7278525c7609ad1820daf87607447f30351506fe3728a855690928ba7775edbbbff0fee610a2ce02913a98e + checksum: f7b4fcda7fa3d73a48bf93e32ee73fdd8426d1d89951b22555702a98445b110aeb0715a1ed29dc1cdee7cbe0264510d021e98b57798a51bcf07eab34c4445cf5 languageName: node linkType: hard -"@graphql-codegen/typescript@npm:^2.4.2, @graphql-codegen/typescript@npm:^2.8.1": - version: 2.8.1 - resolution: "@graphql-codegen/typescript@npm:2.8.1" +"@graphql-codegen/typescript@npm:^2.4.2, @graphql-codegen/typescript@npm:^2.8.2": + version: 2.8.2 + resolution: "@graphql-codegen/typescript@npm:2.8.2" dependencies: "@graphql-codegen/plugin-helpers": ^2.7.2 "@graphql-codegen/schema-ast": ^2.5.1 - "@graphql-codegen/visitor-plugin-common": 2.13.1 + "@graphql-codegen/visitor-plugin-common": 2.13.2 auto-bind: ~4.0.0 tslib: ~2.4.0 peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 2b5466190e385c557eed6210b861fb9e632fb61b90bd0f97ff983f359c0ad8106228667c9ff2201842100417a07cfaffa91794ef03058a151df256d733363fa2 + checksum: 7e3beda7a0a8b9b84ee7c40c54913ef496bd8716ddd68028a55b06743657bc1100c4a30cc2932745520f5e008aa3f386731bf09a88e05cc92005e066b57b21c8 languageName: node linkType: hard -"@graphql-codegen/visitor-plugin-common@npm:2.13.1": - version: 2.13.1 - resolution: "@graphql-codegen/visitor-plugin-common@npm:2.13.1" +"@graphql-codegen/visitor-plugin-common@npm:2.13.2": + version: 2.13.2 + resolution: "@graphql-codegen/visitor-plugin-common@npm:2.13.2" dependencies: "@graphql-codegen/plugin-helpers": ^2.7.2 "@graphql-tools/optimize": ^1.3.0 @@ -8534,7 +9409,7 @@ __metadata: tslib: ~2.4.0 peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: 0c329aa6e435602f2f6c1569ec2091b7850f58cc5dca7ac763c38c82588545ec1110c1de587f5f3949b11ff96f94401d1e63e329607d78424583b276fd08f1ae + checksum: b4b00f9d0cd8be221da69480d0d861f025eb7bec13aa9897acb9a3a485b5e0ca04df17745fa9850efcafefe4de54dab2e4d50dafc534df3fecd9095e6122eaa7 languageName: node linkType: hard @@ -8566,18 +9441,18 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/code-file-loader@npm:^7.3.1": - version: 7.3.1 - resolution: "@graphql-tools/code-file-loader@npm:7.3.1" +"@graphql-tools/code-file-loader@npm:^7.3.13": + version: 7.3.13 + resolution: "@graphql-tools/code-file-loader@npm:7.3.13" dependencies: - "@graphql-tools/graphql-tag-pluck": 7.3.1 - "@graphql-tools/utils": 8.9.0 + "@graphql-tools/graphql-tag-pluck": 7.4.0 + "@graphql-tools/utils": 9.1.1 globby: ^11.0.3 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 2055d8499fba9e8b8cbea8aa811ae57ab549973eb9a1bb309ff15c8e5fad71c1b425027d5c292b0cc5c3d00d5796721d3a8611a60a7305f5702c2948a105a28e + checksum: 18eeea4d3a89c15cf74d89630b647b6951487072f70a1b193d39c47b03533d3fe89f3e8f232b604db21b597768802b4884446b9820bf1febbdf1c094924be279 languageName: node linkType: hard @@ -8597,34 +9472,34 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/git-loader@npm:^7.2.1": - version: 7.2.1 - resolution: "@graphql-tools/git-loader@npm:7.2.1" +"@graphql-tools/git-loader@npm:^7.2.13": + version: 7.2.13 + resolution: "@graphql-tools/git-loader@npm:7.2.13" dependencies: - "@graphql-tools/graphql-tag-pluck": 7.3.1 - "@graphql-tools/utils": 8.9.0 + "@graphql-tools/graphql-tag-pluck": 7.4.0 + "@graphql-tools/utils": 9.1.1 is-glob: 4.0.3 micromatch: ^4.0.4 tslib: ^2.4.0 unixify: ^1.0.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 28b5d07e52aedd45dcfe49f3a7ca472b7cb083bc1b54b6b905e05691e7c76abbd198ecf8b2875bedc5f2cbadbbb7fe6713087dd0018b63cdfb8e80af3a91922f + checksum: 4690d473bb05d91765ee54fbfd0cb3859bda8cef776feced26e477b6aef22c582923ff18bdc963adcb649d8fa975344371001af60867d1e2cfd5624917cf6e91 languageName: node linkType: hard -"@graphql-tools/github-loader@npm:^7.3.6": - version: 7.3.6 - resolution: "@graphql-tools/github-loader@npm:7.3.6" +"@graphql-tools/github-loader@npm:^7.3.20": + version: 7.3.20 + resolution: "@graphql-tools/github-loader@npm:7.3.20" dependencies: "@ardatan/sync-fetch": 0.0.1 - "@graphql-tools/graphql-tag-pluck": 7.3.1 - "@graphql-tools/utils": 8.9.0 - "@whatwg-node/fetch": ^0.2.4 + "@graphql-tools/graphql-tag-pluck": 7.4.0 + "@graphql-tools/utils": 9.1.1 + "@whatwg-node/fetch": ^0.5.0 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 6198e458d8cfdf3e899c1a5d94842b3b4798706434182d3cf07c2386913fbd3d91c8a0c28a404f4f5ca695b3ee771bf3930bf51a6df0802e699bf8b07c207cec + checksum: 96292e59f8b394fb1e69fae91b3fdf037962e8feadd15da7461043c9559450fc35c2438b669727b14a6d509f784f0c5401477f3f90f693a93fc8c59c246d0c77 languageName: node linkType: hard @@ -8643,18 +9518,19 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/graphql-tag-pluck@npm:7.3.1": - version: 7.3.1 - resolution: "@graphql-tools/graphql-tag-pluck@npm:7.3.1" +"@graphql-tools/graphql-tag-pluck@npm:7.4.0": + version: 7.4.0 + resolution: "@graphql-tools/graphql-tag-pluck@npm:7.4.0" dependencies: "@babel/parser": ^7.16.8 + "@babel/plugin-syntax-import-assertions": 7.20.0 "@babel/traverse": ^7.16.8 "@babel/types": ^7.16.8 - "@graphql-tools/utils": 8.9.0 + "@graphql-tools/utils": 9.1.1 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: a822f509ce1400cc2541dcaf6c60fca7ca61088f64f7e2c785f18e9c5a3aac964ce7f319a1f62ba6e9fc0cf76b47cfa4cba3b03b514adaae0bcf198c6e1964b9 + checksum: 670888e691707d430066a84ddcc9a34f64c6146e3f1406ab9fbdf74d5805fcbac8d32462cd387c411fbb81a5fc6bfb4d4d14e0568c5b887c72df8ebb7ef66c1b languageName: node linkType: hard @@ -8723,15 +9599,15 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/merge@npm:8.3.11, @graphql-tools/merge@npm:^8.2.6": - version: 8.3.11 - resolution: "@graphql-tools/merge@npm:8.3.11" +"@graphql-tools/merge@npm:8.3.12, @graphql-tools/merge@npm:^8.2.6": + version: 8.3.12 + resolution: "@graphql-tools/merge@npm:8.3.12" dependencies: - "@graphql-tools/utils": 9.1.0 + "@graphql-tools/utils": 9.1.1 tslib: ^2.4.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 3cd16577f1ea1bcc389d232fa620adc0fefc91a6b42b48e7bb5e7bb67b67d206d409a9a8d60cac4d8cd5f0f1c5353369f7c5eb4054b44ce2277545e1fd1de17f + checksum: aab6f6edbaa2f63c7f44e4a1832d8028570d09ea85bb4a9525016879fad2ea2f8ea260c0b78ab1f6b7a418d92a3debfbbedecb3f5a36a5590edd0b2ac1cd2012 languageName: node linkType: hard @@ -8857,16 +9733,16 @@ __metadata: linkType: hard "@graphql-tools/schema@npm:^9.0.0": - version: 9.0.9 - resolution: "@graphql-tools/schema@npm:9.0.9" + version: 9.0.10 + resolution: "@graphql-tools/schema@npm:9.0.10" dependencies: - "@graphql-tools/merge": 8.3.11 - "@graphql-tools/utils": 9.1.0 + "@graphql-tools/merge": 8.3.12 + "@graphql-tools/utils": 9.1.1 tslib: ^2.4.0 value-or-promise: 1.0.11 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: 23620a993eff57723302315100d947b81664d6a1e00010ff293b3649f51ab423946d73920cce0ce822b7f7f42b99ea23240902ff47df3d252639613c0df7b971 + checksum: 4c1c7fc1c84a2faf2310a110ed72125b511371f1ea2869442fd55b5bcdb2c431dd60235ff77f32860235ee99dd12746e23dace35a18a8ffd339fad4f51004321 languageName: node linkType: hard @@ -8939,18 +9815,7 @@ __metadata: languageName: node linkType: hard -"@graphql-tools/utils@npm:9.1.0": - version: 9.1.0 - resolution: "@graphql-tools/utils@npm:9.1.0" - dependencies: - tslib: ^2.4.0 - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - checksum: dcf08df3bd1715e25e3b80bf2dd332376239ebcd2a9b93f4d6b72a7bd3feffe2207b9683bb8fcaed9d0d1286f701d0686fe99ac803b91c0df54509b869c0554d - languageName: node - linkType: hard - -"@graphql-tools/utils@npm:^9.1.1": +"@graphql-tools/utils@npm:9.1.1, @graphql-tools/utils@npm:^9.1.1": version: 9.1.1 resolution: "@graphql-tools/utils@npm:9.1.1" dependencies: @@ -9106,7 +9971,7 @@ __metadata: "@types/uuid": ^8.0.0 express: ^4.17.1 express-promise-router: ^4.1.0 - msw: ^0.48.0 + msw: ^0.49.0 supertest: ^6.1.6 uuid: ^8.3.2 winston: ^3.2.1 @@ -9125,7 +9990,7 @@ __metadata: "@backstage/test-utils": "workspace:^" "@types/node": ^16.11.26 cross-fetch: ^3.1.5 - msw: ^0.48.0 + msw: ^0.49.0 languageName: unknown linkType: soft @@ -9147,7 +10012,7 @@ __metadata: "@testing-library/react": ^12.1.3 "@testing-library/user-event": ^14.0.0 "@types/node": ^16.11.26 - msw: ^0.48.0 + msw: ^0.49.0 react-use: ^17.2.4 peerDependencies: react: ^16.13.1 || ^17.0.0 @@ -9187,50 +10052,59 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/console@npm:29.0.3" +"@jest-mock/express@npm:^2.0.1": + version: 2.0.1 + resolution: "@jest-mock/express@npm:2.0.1" dependencies: - "@jest/types": ^29.0.3 - "@types/node": "*" - chalk: ^4.0.0 - jest-message-util: ^29.0.3 - jest-util: ^29.0.3 - slash: ^3.0.0 - checksum: 1c5f092082c45c5c35ea51e7c75f4ce06a9b4350e44e0d3aa6c586c469a687fb095ab2601f196f147cccd1c4b5cbf4adc885ae83c8af42dfeee5aa518fa0968e + "@types/express": ^4.17.13 + checksum: 999ea0a953b3e911d0b8ecc4cb3b78ac252b3354832db9659be6754094410b10508f1688f3e623ab13fe40c28d89fd5a81699e6acd148dd8128abec4e81f3f14 languageName: node linkType: hard -"@jest/core@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/core@npm:29.0.3" +"@jest/console@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/console@npm:29.3.1" dependencies: - "@jest/console": ^29.0.3 - "@jest/reporters": ^29.0.3 - "@jest/test-result": ^29.0.3 - "@jest/transform": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 + "@types/node": "*" + chalk: ^4.0.0 + jest-message-util: ^29.3.1 + jest-util: ^29.3.1 + slash: ^3.0.0 + checksum: 9eecbfb6df4f5b810374849b7566d321255e6fd6e804546236650384966be532ff75a3e445a3277eadefe67ddf4dc56cd38332abd72d6a450f1bea9866efc6d7 + languageName: node + linkType: hard + +"@jest/core@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/core@npm:29.3.1" + dependencies: + "@jest/console": ^29.3.1 + "@jest/reporters": ^29.3.1 + "@jest/test-result": ^29.3.1 + "@jest/transform": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^29.0.0 - jest-config: ^29.0.3 - jest-haste-map: ^29.0.3 - jest-message-util: ^29.0.3 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.0.3 - jest-resolve-dependencies: ^29.0.3 - jest-runner: ^29.0.3 - jest-runtime: ^29.0.3 - jest-snapshot: ^29.0.3 - jest-util: ^29.0.3 - jest-validate: ^29.0.3 - jest-watcher: ^29.0.3 + jest-changed-files: ^29.2.0 + jest-config: ^29.3.1 + jest-haste-map: ^29.3.1 + jest-message-util: ^29.3.1 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.3.1 + jest-resolve-dependencies: ^29.3.1 + jest-runner: ^29.3.1 + jest-runtime: ^29.3.1 + jest-snapshot: ^29.3.1 + jest-util: ^29.3.1 + jest-validate: ^29.3.1 + jest-watcher: ^29.3.1 micromatch: ^4.0.4 - pretty-format: ^29.0.3 + pretty-format: ^29.3.1 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -9238,7 +10112,7 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 411a994ae0df96262c911c894b231a3148280ae39cf0a5d1132c126e708925a3aa89d3f75be628260916a5c38c6ee1ce27979cf78171a393f3c3bbac019149d9 + checksum: e3ac9201e8a084ccd832b17877b56490402b919f227622bb24f9372931e77b869e60959d34144222ce20fb619d0a6a6be20b257adb077a6b0f430a4584a45b0f languageName: node linkType: hard @@ -9251,72 +10125,72 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/environment@npm:29.0.3" +"@jest/environment@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/environment@npm:29.3.1" dependencies: - "@jest/fake-timers": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/fake-timers": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" - jest-mock: ^29.0.3 - checksum: 3cf9a6c18d1175f9d9dc353ad26a8482cef3aae8d68574d2c2feaf149e4d6f5c83e145aeefffdc0c614e9b770d26251e476cb1bd86f140c9d19b6adf8f1a2681 + jest-mock: ^29.3.1 + checksum: 974102aba7cc80508f787bb5504dcc96e5392e0a7776a63dffbf54ddc2c77d52ef4a3c08ed2eedec91965befff873f70cd7c9ed56f62bb132dcdb821730e6076 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/expect-utils@npm:29.0.3" +"@jest/expect-utils@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/expect-utils@npm:29.3.1" dependencies: - jest-get-type: ^29.0.0 - checksum: af6fa6e0b9cdf42f5778ff0b70c2049ec768598f720ea473773e0c0bebd2416a32ecbede94cfdc95572a021eda5302a9295a5c416ad5ce155c4ec277c40129da + jest-get-type: ^29.2.0 + checksum: 7f3b853eb1e4299988f66b9aa49c1aacb7b8da1cf5518dca4ccd966e865947eed8f1bde6c8f5207d8400e9af870112a44b57aa83515ad6ea5e4a04a971863adb languageName: node linkType: hard -"@jest/expect@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/expect@npm:29.0.3" +"@jest/expect@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/expect@npm:29.3.1" dependencies: - expect: ^29.0.3 - jest-snapshot: ^29.0.3 - checksum: 8f969cce260b84edc105a73b8314accd305f2ad012031c00a6a4ba8b3db864237719e95a167702badada274bd764c306e561326bef86d950f72b94f5c9c69c7e + expect: ^29.3.1 + jest-snapshot: ^29.3.1 + checksum: 1d7b5cc735c8a99bfbed884d80fdb43b23b3456f4ec88c50fd86404b097bb77fba84f44e707fc9b49f106ca1154ae03f7c54dc34754b03f8a54eeb420196e5bf languageName: node linkType: hard -"@jest/fake-timers@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/fake-timers@npm:29.0.3" +"@jest/fake-timers@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/fake-timers@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@sinonjs/fake-timers": ^9.1.2 "@types/node": "*" - jest-message-util: ^29.0.3 - jest-mock: ^29.0.3 - jest-util: ^29.0.3 - checksum: c0a641fe239044a766eb27e6e4e085acdc8f53d34813aa883a8da8fcce555d8b6ce06716b94c72b44e60c0ca8088b1f1a1d3b05c7f41ed39fc0f6cf23dead7c4 + jest-message-util: ^29.3.1 + jest-mock: ^29.3.1 + jest-util: ^29.3.1 + checksum: b1dafa8cdc439ef428cd772c775f0b22703677f52615513eda11a104bbfc352d7ec69b1225db95d4ef2e1b4ef0f23e1a7d96de5313aeb0950f672e6548ae069d languageName: node linkType: hard -"@jest/globals@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/globals@npm:29.0.3" +"@jest/globals@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/globals@npm:29.3.1" dependencies: - "@jest/environment": ^29.0.3 - "@jest/expect": ^29.0.3 - "@jest/types": ^29.0.3 - jest-mock: ^29.0.3 - checksum: ab6a3f93b98c600f6b4d57c5cf593e624847101bf037f452800d891f55612cd042f524f032f4871ff784c1814f85a4939afbd853104f50f78aada353ac124b7e + "@jest/environment": ^29.3.1 + "@jest/expect": ^29.3.1 + "@jest/types": ^29.3.1 + jest-mock: ^29.3.1 + checksum: 4d2b9458aabf7c28fd167e53984477498c897b64eec67a7f84b8fff465235cae1456ee0721cb0e7943f0cda443c7656adb9801f9f34e27495b8ebbd9f3033100 languageName: node linkType: hard -"@jest/reporters@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/reporters@npm:29.0.3" +"@jest/reporters@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/reporters@npm:29.3.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.0.3 - "@jest/test-result": ^29.0.3 - "@jest/transform": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/console": ^29.3.1 + "@jest/test-result": ^29.3.1 + "@jest/transform": ^29.3.1 + "@jest/types": ^29.3.1 "@jridgewell/trace-mapping": ^0.3.15 "@types/node": "*" chalk: ^4.0.0 @@ -9329,20 +10203,19 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.0.3 - jest-util: ^29.0.3 - jest-worker: ^29.0.3 + jest-message-util: ^29.3.1 + jest-util: ^29.3.1 + jest-worker: ^29.3.1 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 - terminal-link: ^2.0.0 v8-to-istanbul: ^9.0.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - checksum: 43028a8823cb8d58c5219e0471990e0d7e9014ed9ef6f2853076bd9e49a490fc1bcfcf46a4d7b981725da0f31be1496725a4a0edb0149f7c7f54c5d2299dcae1 + checksum: 273e0c6953285f01151e9d84ac1e55744802a1ec79fb62dafeea16a49adfe7b24e7f35bef47a0214e5e057272dbfdacf594208286b7766046fd0f3cfa2043840 languageName: node linkType: hard @@ -9355,61 +10228,61 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^29.0.0": - version: 29.0.0 - resolution: "@jest/source-map@npm:29.0.0" +"@jest/source-map@npm:^29.2.0": + version: 29.2.0 + resolution: "@jest/source-map@npm:29.2.0" dependencies: "@jridgewell/trace-mapping": ^0.3.15 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: dd97bc5826cf68d6eb5565383816332f800476232fd12800bd027a259cbf3ef216f1633405f3ad0861dde3b12a7886301798c078b334f6d3012044d43abcf4f6 + checksum: 09f76ab63d15dcf44b3035a79412164f43be34ec189575930f1a00c87e36ea0211ebd6a4fbe2253c2516e19b49b131f348ddbb86223ca7b6bbac9a6bc76ec96e languageName: node linkType: hard -"@jest/test-result@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/test-result@npm:29.0.3" +"@jest/test-result@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/test-result@npm:29.3.1" dependencies: - "@jest/console": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/console": ^29.3.1 + "@jest/types": ^29.3.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 9cb76090b2b49cc19f95c51e3593085ab88b2d9539f9c15b1e7919f770aaee75376b453f30a14f2034a5cb25fa8e14f5fcc422f05954dbdb0873220576d9c9a0 + checksum: b24ac283321189b624c372a6369c0674b0ee6d9e3902c213452c6334d037113718156b315364bee8cee0f03419c2bdff5e2c63967193fb422830e79cbb26866a languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/test-sequencer@npm:29.0.3" +"@jest/test-sequencer@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/test-sequencer@npm:29.3.1" dependencies: - "@jest/test-result": ^29.0.3 + "@jest/test-result": ^29.3.1 graceful-fs: ^4.2.9 - jest-haste-map: ^29.0.3 + jest-haste-map: ^29.3.1 slash: ^3.0.0 - checksum: c6868e29a36c2dd4f6aa71a7148fa7bf34fb845e97b29bc418cb6988245ad7f0cd820aa6dcf9389d0e5b4592b9df8a727a40b0b91eee0dad00f683c250b94a2c + checksum: a8325b1ea0ce644486fb63bb67cedd3524d04e3d7b1e6c1e3562bf12ef477ecd0cf34044391b2a07d925e1c0c8b4e0f3285035ceca3a474a2c55980f1708caf3 languageName: node linkType: hard -"@jest/transform@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/transform@npm:29.0.3" +"@jest/transform@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/transform@npm:29.3.1" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@jridgewell/trace-mapping": ^0.3.15 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 - convert-source-map: ^1.4.0 + convert-source-map: ^2.0.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.0.3 - jest-regex-util: ^29.0.0 - jest-util: ^29.0.3 + jest-haste-map: ^29.3.1 + jest-regex-util: ^29.2.0 + jest-util: ^29.3.1 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.1 - checksum: c68ebb673a27640372c912736aa26bda5bc4dfd7a890bb10c467b81e8a66826c8b8b6826ebf25ed3c7a70b7818fcc60e3c0d7341d1595d5ce4978d53d22a7ea1 + checksum: 673df5900ffc95bc811084e09d6e47948034dea6ab6cc4f81f80977e3a52468a6c2284d0ba9796daf25a62ae50d12f7e97fc9a3a0c587f11f2a479ff5493ca53 languageName: node linkType: hard @@ -9426,9 +10299,9 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.0.3": - version: 29.0.3 - resolution: "@jest/types@npm:29.0.3" +"@jest/types@npm:^29.3.1": + version: 29.3.1 + resolution: "@jest/types@npm:29.3.1" dependencies: "@jest/schemas": ^29.0.0 "@types/istanbul-lib-coverage": ^2.0.0 @@ -9436,7 +10309,7 @@ __metadata: "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 3bd33e64d87a5421b860396ac7f7b9b8d5abbf0f300f4379bb20c8e3a6169fbbd078933ce0649827cd63e23330c4effeb6b222fa94e8dd0df638dfff6c1fed41 + checksum: 6f9faf27507b845ff3839c1adc6dbd038d7046d03d37e84c9fc956f60718711a801a5094c7eeee6b39ccf42c0ab61347fdc0fa49ab493ae5a8efd2fd41228ee8 languageName: node linkType: hard @@ -10427,13 +11300,6 @@ __metadata: languageName: node linkType: hard -"@microsoft/tsdoc@npm:^0.14.1": - version: 0.14.2 - resolution: "@microsoft/tsdoc@npm:0.14.2" - checksum: b167c89e916ba73ee20b9c9d5dba6aa3a0de25ed3d50050e8a344dca7cd43cb2e1059bd515c820369b6e708901dd3fda476a42bc643ca74a35671ce77f724a3a - languageName: node - linkType: hard - "@mswjs/cookies@npm:^0.2.0, @mswjs/cookies@npm:^0.2.2": version: 0.2.2 resolution: "@mswjs/cookies@npm:0.2.2" @@ -11230,9 +12096,9 @@ __metadata: linkType: hard "@octokit/webhooks-methods@npm:^3.0.0": - version: 3.0.0 - resolution: "@octokit/webhooks-methods@npm:3.0.0" - checksum: 3d1fdd051acb1e185160e138794b52b168a94dbd0fb05b1267914bfada199ccd615bc62828453b08edc5037557810319198c2684cfe5eba6267686952a9b644d + version: 3.0.1 + resolution: "@octokit/webhooks-methods@npm:3.0.1" + checksum: a65344315175459fcc43d1e8ea20f73aa73f0c47a692e0b02d45dfb8fda7075cf5503ff33654a9b6683d32d7e5737965f1ff40618d21a7c637180ae73bf888a4 languageName: node linkType: hard @@ -11375,8 +12241,8 @@ __metadata: linkType: hard "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.7": - version: 0.5.9 - resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.9" + version: 0.5.10 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.10" dependencies: ansi-html-community: ^0.0.8 common-path-prefix: ^3.0.0 @@ -11384,7 +12250,7 @@ __metadata: error-stack-parser: ^2.0.6 find-up: ^5.0.0 html-entities: ^2.1.0 - loader-utils: ^2.0.3 + loader-utils: ^2.0.4 schema-utils: ^3.0.0 source-map: ^0.7.3 peerDependencies: @@ -11409,7 +12275,7 @@ __metadata: optional: true webpack-plugin-serve: optional: true - checksum: 446c0add9ecf17ed9911bf310bf22ab64f4b3d0ce334e68a3fcac5efee782ef4d7b6260997efaf720c7a2ea39086db89629e4aa07fb18558387d8dc8f0f31da2 + checksum: c45beded9c56fbbdc7213a2c36131ace5db360ed704d462cc39d6678f980173a91c9a3f691e6bd3a026f25486644cd0027e8a12a0a4eced8e8b886a0472e7d34 languageName: node linkType: hard @@ -11509,6 +12375,13 @@ __metadata: languageName: node linkType: hard +"@remix-run/router@npm:1.0.3": + version: 1.0.3 + resolution: "@remix-run/router@npm:1.0.3" + checksum: 7e535f3c24bf6b0a48aff3de70ee74e5402fe93105aa9bd01f275d5d8f5a9a8a7cadec08d18cf5544d4f24bc9d7a091abc1c9d4ea8efb2893e9077f104a51459 + languageName: node + linkType: hard + "@rjsf/core-v5@npm:@rjsf/core@^5.0.0-beta.12": version: 5.0.0-beta.12 resolution: "@rjsf/core@npm:5.0.0-beta.12" @@ -11584,16 +12457,16 @@ __metadata: linkType: hard "@rjsf/validator-ajv8@npm:^5.0.0-beta.12": - version: 5.0.0-beta.12 - resolution: "@rjsf/validator-ajv8@npm:5.0.0-beta.12" + version: 5.0.0-beta.13 + resolution: "@rjsf/validator-ajv8@npm:5.0.0-beta.13" dependencies: - ajv: ^8.11.0 ajv-formats: ^2.1.1 + ajv8: "npm:ajv@^8.11.0" lodash: ^4.17.15 lodash-es: ^4.17.15 peerDependencies: - "@rjsf/utils": ^5.0.0-beta.1 - checksum: 2acd420fdd099b35e534c4086ce5d3759574a8b4dc4b4a21ca35e85b023e6d9688aab1dbfca9381bdbf4aecbe3eb195e27453e8dd9cc70712fe2652e1496840c + "@rjsf/utils": ^5.0.0-beta.12 + checksum: e0a51e25845745da628794dadef2c7ffc910d26cb99a90fa763d4a5593b554b084c578a73ed688d02defbeb5ddec38066caae527f5dc8dabba7f012cec31e8a3 languageName: node linkType: hard @@ -11880,16 +12753,16 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:>=5, @sinonjs/fake-timers@npm:^9.1.2": - version: 9.1.2 - resolution: "@sinonjs/fake-timers@npm:9.1.2" +"@sinonjs/commons@npm:^2.0.0": + version: 2.0.0 + resolution: "@sinonjs/commons@npm:2.0.0" dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 + type-detect: 4.0.8 + checksum: 5023ba17edf2b85ed58262313b8e9b59e23c6860681a9af0200f239fe939e2b79736d04a260e8270ddd57196851dde3ba754d7230be5c5234e777ae2ca8af137 languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^7.1.2": +"@sinonjs/fake-timers@npm:^7.0.4": version: 7.1.2 resolution: "@sinonjs/fake-timers@npm:7.1.2" dependencies: @@ -11898,7 +12771,16 @@ __metadata: languageName: node linkType: hard -"@sinonjs/samsam@npm:^6.0.2, @sinonjs/samsam@npm:^6.1.1": +"@sinonjs/fake-timers@npm:^9.1.2": + version: 9.1.2 + resolution: "@sinonjs/fake-timers@npm:9.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 7d3aef54e17c1073101cb64d953157c19d62a40e261a30923fa1ee337b049c5f29cc47b1f0c477880f42b5659848ba9ab897607ac8ea4acd5c30ddcfac57fca6 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^6.1.1": version: 6.1.1 resolution: "@sinonjs/samsam@npm:6.1.1" dependencies: @@ -11909,6 +12791,17 @@ __metadata: languageName: node linkType: hard +"@sinonjs/samsam@npm:^7.0.1": + version: 7.0.1 + resolution: "@sinonjs/samsam@npm:7.0.1" + dependencies: + "@sinonjs/commons": ^2.0.0 + lodash.get: ^4.4.2 + type-detect: ^4.0.8 + checksum: 291efb158d54c67dee23ddabcb28873d22063449b692aaa3b2a4f1826d2f79d38695574063c92e9c17573cc805cd6acbf0ab0c66c9f3aed7afd0f12a2b905615 + languageName: node + linkType: hard + "@sinonjs/text-encoding@npm:^0.7.1": version: 0.7.1 resolution: "@sinonjs/text-encoding@npm:0.7.1" @@ -12150,90 +13043,90 @@ __metadata: languageName: node linkType: hard -"@swc/core-darwin-arm64@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-darwin-arm64@npm:1.3.16" +"@swc/core-darwin-arm64@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-darwin-arm64@npm:1.3.20" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@swc/core-darwin-x64@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-darwin-x64@npm:1.3.16" +"@swc/core-darwin-x64@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-darwin-x64@npm:1.3.20" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@swc/core-linux-arm-gnueabihf@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.16" +"@swc/core-linux-arm-gnueabihf@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.20" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@swc/core-linux-arm64-gnu@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm64-gnu@npm:1.3.16" +"@swc/core-linux-arm64-gnu@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm64-gnu@npm:1.3.20" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-arm64-musl@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-arm64-musl@npm:1.3.16" +"@swc/core-linux-arm64-musl@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-arm64-musl@npm:1.3.20" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@swc/core-linux-x64-gnu@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-x64-gnu@npm:1.3.16" +"@swc/core-linux-x64-gnu@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-x64-gnu@npm:1.3.20" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@swc/core-linux-x64-musl@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-linux-x64-musl@npm:1.3.16" +"@swc/core-linux-x64-musl@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-linux-x64-musl@npm:1.3.20" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@swc/core-win32-arm64-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-arm64-msvc@npm:1.3.16" +"@swc/core-win32-arm64-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-arm64-msvc@npm:1.3.20" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@swc/core-win32-ia32-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-ia32-msvc@npm:1.3.16" +"@swc/core-win32-ia32-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-ia32-msvc@npm:1.3.20" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@swc/core-win32-x64-msvc@npm:1.3.16": - version: 1.3.16 - resolution: "@swc/core-win32-x64-msvc@npm:1.3.16" +"@swc/core-win32-x64-msvc@npm:1.3.20": + version: 1.3.20 + resolution: "@swc/core-win32-x64-msvc@npm:1.3.20" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@swc/core@npm:^1.3.9": - version: 1.3.16 - resolution: "@swc/core@npm:1.3.16" + version: 1.3.20 + resolution: "@swc/core@npm:1.3.20" dependencies: - "@swc/core-darwin-arm64": 1.3.16 - "@swc/core-darwin-x64": 1.3.16 - "@swc/core-linux-arm-gnueabihf": 1.3.16 - "@swc/core-linux-arm64-gnu": 1.3.16 - "@swc/core-linux-arm64-musl": 1.3.16 - "@swc/core-linux-x64-gnu": 1.3.16 - "@swc/core-linux-x64-musl": 1.3.16 - "@swc/core-win32-arm64-msvc": 1.3.16 - "@swc/core-win32-ia32-msvc": 1.3.16 - "@swc/core-win32-x64-msvc": 1.3.16 + "@swc/core-darwin-arm64": 1.3.20 + "@swc/core-darwin-x64": 1.3.20 + "@swc/core-linux-arm-gnueabihf": 1.3.20 + "@swc/core-linux-arm64-gnu": 1.3.20 + "@swc/core-linux-arm64-musl": 1.3.20 + "@swc/core-linux-x64-gnu": 1.3.20 + "@swc/core-linux-x64-musl": 1.3.20 + "@swc/core-win32-arm64-msvc": 1.3.20 + "@swc/core-win32-ia32-msvc": 1.3.20 + "@swc/core-win32-x64-msvc": 1.3.20 dependenciesMeta: "@swc/core-darwin-arm64": optional: true @@ -12257,16 +13150,16 @@ __metadata: optional: true bin: swcx: run_swcx.js - checksum: 4361252c928c487a02f526aecd8f3072b923244234c2701916944cf13c252b6d5ce2466caf3e0797d3e92e71a89d4a044f8577e51e8f7fe3af0fe30d94e94b13 + checksum: 646c37e3521f04cd08061ab67a4388959e4b234c38eba2eb9fe0fd615dedb6ff9412264789e58af7c2d24b3e5a7ea456efd060e3760d7a91509234b5b5983ad7 languageName: node linkType: hard "@swc/helpers@npm:^0.4.7": - version: 0.4.12 - resolution: "@swc/helpers@npm:0.4.12" + version: 0.4.14 + resolution: "@swc/helpers@npm:0.4.14" dependencies: tslib: ^2.4.0 - checksum: 3f9112f37d87815b6d4270137fc78d22bb98c75138e9b0eac7cac203ec2cf2bffbf13b20a713067c292affd5e9e70a724eb245b8daf0963e7fe528b901771c28 + checksum: 273fd3f3fc461a92f3790cc551ea054745c6d6959afbe1232e6d7aa1c722bbc114d308aab96bef5c78fc0303c85c7b472ef00e2253251cc89737f3b1af56e5a5 languageName: node linkType: hard @@ -12291,18 +13184,18 @@ __metadata: languageName: node linkType: hard -"@tanstack/query-core@npm:4.14.5": - version: 4.14.5 - resolution: "@tanstack/query-core@npm:4.14.5" - checksum: 25af0f4999668cd66a4a54c2d2d64dd7002f4852fb901d1d1d64908da4ea43d63e53e512b536987a789039713ffc6ae4ffa2d41cfab676b01704f4937be18a04 +"@tanstack/query-core@npm:4.18.0": + version: 4.18.0 + resolution: "@tanstack/query-core@npm:4.18.0" + checksum: 2d3f253809e2fc0927bbab25e7a61cf1fa957c993006f219a8dcc615acfe68003629e612c7d914198457d0b1bfd2b6d5738093fc45a82369b1d3beee14395a28 languageName: node linkType: hard "@tanstack/react-query@npm:^4.1.3": - version: 4.14.6 - resolution: "@tanstack/react-query@npm:4.14.6" + version: 4.18.0 + resolution: "@tanstack/react-query@npm:4.18.0" dependencies: - "@tanstack/query-core": 4.14.5 + "@tanstack/query-core": 4.18.0 use-sync-external-store: ^1.2.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12313,7 +13206,7 @@ __metadata: optional: true react-native: optional: true - checksum: 38e293616aa04ccfe2fec47315c5b98f0b157ee6548b4dbb6a8ca01c90de113e437f5effbc82884f2d860bde54eeb07335e9ed4e233543c7039f717d9855ab9e + checksum: 2fbb3e664fdc70650dfaaa63e56a1b97dddb50a46f6d3e0a0361c1fe9a0d711c1bb3b0f2e7ba5362269124405eb7a4f232a755b3e901b815d62008ddeedbd889 languageName: node linkType: hard @@ -12353,14 +13246,14 @@ __metadata: linkType: soft "@testing-library/cypress@npm:^8.0.2": - version: 8.0.3 - resolution: "@testing-library/cypress@npm:8.0.3" + version: 8.0.7 + resolution: "@testing-library/cypress@npm:8.0.7" dependencies: "@babel/runtime": ^7.14.6 "@testing-library/dom": ^8.1.0 peerDependencies: - cypress: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 - checksum: 319f6c7297f85e5673882a71009b5d5b576006f986d87a6ca6f2f8c679d96d9779f3ddbc01654b5a943407fa91192814f250835ce01f153e33ef24818cf1bf20 + cypress: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 + checksum: e005bc1a7ec808706c57e95ed312069fb5be39ea7362900dc2a32c09f124d478ade69ebcd7df88c076e3867ab328ae6e6ce13791bdf042621ff66b56552bf74b languageName: node linkType: hard @@ -12971,12 +13864,12 @@ __metadata: linkType: hard "@types/dockerode@npm:^3.3.0, @types/dockerode@npm:^3.3.8": - version: 3.3.13 - resolution: "@types/dockerode@npm:3.3.13" + version: 3.3.14 + resolution: "@types/dockerode@npm:3.3.14" dependencies: "@types/docker-modem": "*" "@types/node": "*" - checksum: dbcf3e33f5d8b731a1540d8b72c91d12583eb87d47adf8defb71f8bc1b328a26a035c66068255929ef99a7906da53ac6e4be76099e8fa7e9720c134b1ab3e153 + checksum: 6a8472622861fb0c97908963a8236d6e439c9feefc845b866326272ad0e5c33f537206fb4633424c5e3c8ec63559cb14bc737e2f88f0fcdf11496a9162d5b139 languageName: node linkType: hard @@ -13266,12 +14159,12 @@ __metadata: linkType: hard "@types/jest@npm:*, @types/jest@npm:^29.0.0": - version: 29.0.3 - resolution: "@types/jest@npm:29.0.3" + version: 29.2.3 + resolution: "@types/jest@npm:29.2.3" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: 14a8ec1954540ec59f4072c3c4dbc6b5d5ff616556c98671aca26606bdf9d49616a3f269f3e488c80cd481ee19880351575c1f6895827628818e193600c121e0 + checksum: 55370906711b600a05b9e497c22aa74d80d8adcdbe4ac2f1bc9311f6f6ca0dd192862b6f38df6ac0d45e92396bcd796e377b1d8058c10bdfd584aeee580c3ce1 languageName: node linkType: hard @@ -13557,11 +14450,11 @@ __metadata: linkType: hard "@types/node-forge@npm:^1.3.0": - version: 1.3.0 - resolution: "@types/node-forge@npm:1.3.0" + version: 1.3.1 + resolution: "@types/node-forge@npm:1.3.1" dependencies: "@types/node": "*" - checksum: f811885f997fbeebb0df2db8249b9b288ad5f5573beaecf6d323b019bb9a4c12f1476a8974c934f62329862f29986c116263a50aef0008364cc3f9867672a5a0 + checksum: 88d1f85b5e2edfbb475d34c4a47b964edab408b20cec508dc4443b36258971062c2fef760d1eeb3f544fdb5321c710a4e5e2cd8a1a5923e81c53ca1cf6f3a722 languageName: node linkType: hard @@ -13793,11 +14686,11 @@ __metadata: linkType: hard "@types/react-helmet@npm:^6.1.0": - version: 6.1.5 - resolution: "@types/react-helmet@npm:6.1.5" + version: 6.1.6 + resolution: "@types/react-helmet@npm:6.1.6" dependencies: "@types/react": "*" - checksum: d059cc084d3b3071cce3421bb1170dd42819cf39b81afe60d4fbd66c5ef9ffeaadf1802df80efd9553258f621678f69ceb5a21d73df0d8539d40ae9a0f995485 + checksum: 81560c56bfe854b6a43aee31360862588ac875d1177b975da5ce049ac9aa2f7c98dcde65d4397bfaa04e468f40cf3ab2975a2ef966a69d64a60493422898698d languageName: node linkType: hard @@ -14381,15 +15274,15 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^5.9.0": - version: 5.36.2 - resolution: "@typescript-eslint/eslint-plugin@npm:5.36.2" + version: 5.44.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.44.0" dependencies: - "@typescript-eslint/scope-manager": 5.36.2 - "@typescript-eslint/type-utils": 5.36.2 - "@typescript-eslint/utils": 5.36.2 + "@typescript-eslint/scope-manager": 5.44.0 + "@typescript-eslint/type-utils": 5.44.0 + "@typescript-eslint/utils": 5.44.0 debug: ^4.3.4 - functional-red-black-tree: ^1.0.1 ignore: ^5.2.0 + natural-compare-lite: ^1.4.0 regexpp: ^3.2.0 semver: ^7.3.7 tsutils: ^3.21.0 @@ -14399,7 +15292,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: edcd9fcecdeb22a689b421cafe3b7adc859bf2fd6227aecdd7412c319c808e7bab063c8f94af32116cfc971962f9780d181cb0a4aa999951c2d2be1f84c6c376 + checksum: 88784e77e8e35ea50ca9c49d46df94cabc3447f4b332f3ca53974d3b5370cb5dcd85cc9ee0e317b91083812012369209574725dcfc3b2b4056b60371b68ca854 languageName: node linkType: hard @@ -14420,39 +15313,29 @@ __metadata: linkType: hard "@typescript-eslint/parser@npm:^5.9.0": - version: 5.36.2 - resolution: "@typescript-eslint/parser@npm:5.36.2" + version: 5.44.0 + resolution: "@typescript-eslint/parser@npm:5.44.0" dependencies: - "@typescript-eslint/scope-manager": 5.36.2 - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/typescript-estree": 5.36.2 + "@typescript-eslint/scope-manager": 5.44.0 + "@typescript-eslint/types": 5.44.0 + "@typescript-eslint/typescript-estree": 5.44.0 debug: ^4.3.4 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: d6cc22cbc7aacb5ecebf55eb1d681cb6b964b108e147b418295c3e48701a77768cff128c16da421ae50eabb9f1296ecec7fa3cc5f2ccb63a3febf79f98b4195f + checksum: 2d09a1a1547a7ae3f76c9a33a54e11d79a194fbb9dbae69988e7aed3370bdf12bafde669211152769d89db822e0cdee4173affc126664fa6f17abba56daa7261 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/scope-manager@npm:5.36.2" +"@typescript-eslint/scope-manager@npm:5.44.0": + version: 5.44.0 + resolution: "@typescript-eslint/scope-manager@npm:5.44.0" dependencies: - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/visitor-keys": 5.36.2 - checksum: 93ff655f7c237c88ec6dc5911202dd8f81bd8909b27f1a758a9d77e9791040f1ee6fe2891314bde75c808ce586246e98003a1b1396937b0312f2440016dea751 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:5.43.0": - version: 5.43.0 - resolution: "@typescript-eslint/scope-manager@npm:5.43.0" - dependencies: - "@typescript-eslint/types": 5.43.0 - "@typescript-eslint/visitor-keys": 5.43.0 - checksum: e594c7a32c3fa29e46dd0b0bc62f97f154bd864682ae7da87a14b6f4336f4cb02f6ed0602bbdb15783e4230ecdf8a0ccc6f7c5820850e8f11240c9e4fb0e388d + "@typescript-eslint/types": 5.44.0 + "@typescript-eslint/visitor-keys": 5.44.0 + checksum: 4cfe4b55eb428eda740e6b967e3a87f3e1f9c4bbd8e1d6b8d64a11666abe33ffe7a21e4e614444ccde2da6930fa85f3e0ffca43d6e339943ff7a4fbccb09c8fc languageName: node linkType: hard @@ -14466,12 +15349,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/type-utils@npm:5.36.2" +"@typescript-eslint/type-utils@npm:5.44.0": + version: 5.44.0 + resolution: "@typescript-eslint/type-utils@npm:5.44.0" dependencies: - "@typescript-eslint/typescript-estree": 5.36.2 - "@typescript-eslint/utils": 5.36.2 + "@typescript-eslint/typescript-estree": 5.44.0 + "@typescript-eslint/utils": 5.44.0 debug: ^4.3.4 tsutils: ^3.21.0 peerDependencies: @@ -14479,21 +15362,14 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: c202b7d2cd08ed7f7d1ad7e430e9e1596478e147f0d485d02babfda0211c55fa950de1dc4d1c950008a8a047a31c1e982e97fe5558f93d496830eb9d9532bc71 + checksum: 4c7b594f8afa52d57d0512951a874fa390eb791dcefcd0e1efff8817872293b2e4e04eff3c54d1595c1720a34d5fd315729af4e459882033d13cb6069ae9d28f languageName: node linkType: hard -"@typescript-eslint/types@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/types@npm:5.36.2" - checksum: 736cb8a76b58f2f9a7d066933094c5510ffe31479ea8b804a829ec85942420f1b55e0eb2688fbdaaaa9c0e5b3b590fb8f14bbd745353696b4fd33fda620d417b - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:5.43.0": - version: 5.43.0 - resolution: "@typescript-eslint/types@npm:5.43.0" - checksum: fc5e5431c305feee4a3faae84f34df482e08d74b910a6f9376b01326c682ceefeeb0e270d03d7778787bc94ef05b3b85ee6d3c9d732290fbdb4a67ae1b110226 +"@typescript-eslint/types@npm:5.44.0": + version: 5.44.0 + resolution: "@typescript-eslint/types@npm:5.44.0" + checksum: ced7d32abecfc62ccb67cf27e30c0785b9c153ec7b1a05153ced58fa5a2031ab3845bc2e477b83e4cebdcc5881c5845d23053c6739c62549d41ae6208e547e85 languageName: node linkType: hard @@ -14504,12 +15380,12 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/typescript-estree@npm:5.36.2" +"@typescript-eslint/typescript-estree@npm:5.44.0": + version: 5.44.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.44.0" dependencies: - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/visitor-keys": 5.36.2 + "@typescript-eslint/types": 5.44.0 + "@typescript-eslint/visitor-keys": 5.44.0 debug: ^4.3.4 globby: ^11.1.0 is-glob: ^4.0.3 @@ -14518,25 +15394,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 2827ff57a114b6107ea6d555f3855007133b08a7c2bafba0cfa0c935d8b99fd7b49e982d48cccc1c5ba550d95748d0239f5e2109893f12a165d76ed64a0d261b - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:5.43.0": - version: 5.43.0 - resolution: "@typescript-eslint/typescript-estree@npm:5.43.0" - dependencies: - "@typescript-eslint/types": 5.43.0 - "@typescript-eslint/visitor-keys": 5.43.0 - debug: ^4.3.4 - globby: ^11.1.0 - is-glob: ^4.0.3 - semver: ^7.3.7 - tsutils: ^3.21.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 3479f9413d73369ab3d574580c90a72f74d2ae1ec4afe485eebfad054c3d15c89f23a137bb9d6197dfdae33e444a76a99f6832688787feabbb064e09d39a3f55 + checksum: 758731108497cca7ff81cf0a78d086b5a85757a983979d6bb25ad8252b7acbc738c642ecb5f5df82f925a45926b9846e431d5cf9fee5ed2613300b4d0c5d6c3f languageName: node linkType: hard @@ -14558,57 +15416,31 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/utils@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/utils@npm:5.36.2" - dependencies: - "@types/json-schema": ^7.0.9 - "@typescript-eslint/scope-manager": 5.36.2 - "@typescript-eslint/types": 5.36.2 - "@typescript-eslint/typescript-estree": 5.36.2 - eslint-scope: ^5.1.1 - eslint-utils: ^3.0.0 - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 45356cf55a8733e3ab1f2c3c19cdaefdb79857e35eb1433c29b81f3df071e9cef8a286bc407abe243889a21d9e793e999f92f03b9c727a0fac1c17a48e64c42a - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:^5.10.0, @typescript-eslint/utils@npm:^5.13.0": - version: 5.43.0 - resolution: "@typescript-eslint/utils@npm:5.43.0" +"@typescript-eslint/utils@npm:5.44.0, @typescript-eslint/utils@npm:^5.10.0, @typescript-eslint/utils@npm:^5.13.0": + version: 5.44.0 + resolution: "@typescript-eslint/utils@npm:5.44.0" dependencies: "@types/json-schema": ^7.0.9 "@types/semver": ^7.3.12 - "@typescript-eslint/scope-manager": 5.43.0 - "@typescript-eslint/types": 5.43.0 - "@typescript-eslint/typescript-estree": 5.43.0 + "@typescript-eslint/scope-manager": 5.44.0 + "@typescript-eslint/types": 5.44.0 + "@typescript-eslint/typescript-estree": 5.44.0 eslint-scope: ^5.1.1 eslint-utils: ^3.0.0 semver: ^7.3.7 peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 4c6b383b51506b57230f2624f883ae21e5d8411d138587c04fe3145f915bf8c289cc2a9f7b0b3faba98345ba230504e5014922bcc578aa0badd594d9eaa8f9ef + checksum: bc5bb28e41898464d35b8eb47cc452103852541e3b6be56252c15a5a81c45e10aad3db4c749eb92d752b0c358df8074e23ec6f9e65f8089baadeda7f395c7e31 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:5.36.2": - version: 5.36.2 - resolution: "@typescript-eslint/visitor-keys@npm:5.36.2" +"@typescript-eslint/visitor-keys@npm:5.44.0": + version: 5.44.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.44.0" dependencies: - "@typescript-eslint/types": 5.36.2 + "@typescript-eslint/types": 5.44.0 eslint-visitor-keys: ^3.3.0 - checksum: 87ccdcfa5cdedaa3a1aac30d656969f4f5910b62bcaacdf80a514dbf0cbbd8e79b55f8e987eab34cc79ece8ce4b8c19d5caf8b0afb74e0b0d7ab39fb29aa8eba - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:5.43.0": - version: 5.43.0 - resolution: "@typescript-eslint/visitor-keys@npm:5.43.0" - dependencies: - "@typescript-eslint/types": 5.43.0 - eslint-visitor-keys: ^3.3.0 - checksum: 4820679e50096dcdaadc7c95d32e5dca3ba8510acf1a865e283822bae3940a2faec02ad8abe793f8a25f75b600f1e7215e1fd3b3ba73779eff737fa90d092550 + checksum: a012c888209e1d6ae684b2a44fd460ae5a80f5faf07bca4bda6c9c0d8c063ad3297d4c53f7151ae86cf1a43dee09625dc3ee72183323c91089c7288fd573c6f4 languageName: node linkType: hard @@ -14622,9 +15454,9 @@ __metadata: languageName: node linkType: hard -"@uiw/codemirror-extensions-basic-setup@npm:4.13.2": - version: 4.13.2 - resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.13.2" +"@uiw/codemirror-extensions-basic-setup@npm:4.15.1": + version: 4.15.1 + resolution: "@uiw/codemirror-extensions-basic-setup@npm:4.15.1" dependencies: "@codemirror/autocomplete": ^6.0.0 "@codemirror/commands": ^6.0.0 @@ -14641,19 +15473,19 @@ __metadata: "@codemirror/search": ">=6.0.0" "@codemirror/state": ">=6.0.0" "@codemirror/view": ">=6.0.0" - checksum: 5597d6bd7ea0304aa15f77c4bec4a071d95ae9b706a2abd6486f5fc51dba4a89101fa1e6faeb8f4fc27f4698993b008c3fd751a864618eef6baef56434d1fafd + checksum: 1805caa6432a2ed0c616efee4977d3e90faae85be4a75b6e5f654c8bc9dced640ad75dbe7a57d50bc84c117139b486ef0a116a8127c6f8efb44068631a48bc09 languageName: node linkType: hard "@uiw/react-codemirror@npm:^4.9.3": - version: 4.13.2 - resolution: "@uiw/react-codemirror@npm:4.13.2" + version: 4.15.1 + resolution: "@uiw/react-codemirror@npm:4.15.1" 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.13.2 + "@uiw/codemirror-extensions-basic-setup": 4.15.1 codemirror: ^6.0.0 peerDependencies: "@babel/runtime": ">=7.11.0" @@ -14663,7 +15495,7 @@ __metadata: codemirror: ">=6.0.0" react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 8f35aa2f54beabc440027584ccd6244f4d2e52e0792f700fb8612f1a5c8d0d705203ddddd202b3d6b82a3b1426bd4bdb230f76a5ec1ae41ec3806e9b2c955900 + checksum: 49e3011e6d5455f26266b5d39d11d6e2c6505b48063882d1d4593f8c333c159fefcf0df4f743bea36d95ade1e88e19fad13571d0e3fa3b3d6cd5a43bb59f5eb7 languageName: node linkType: hard @@ -14852,6 +15684,22 @@ __metadata: languageName: node linkType: hard +"@whatwg-node/fetch@npm:^0.5.0": + version: 0.5.3 + resolution: "@whatwg-node/fetch@npm:0.5.3" + dependencies: + "@peculiar/webcrypto": ^1.4.0 + abort-controller: ^3.0.0 + busboy: ^1.6.0 + form-data-encoder: ^1.7.1 + formdata-node: ^4.3.1 + node-fetch: ^2.6.7 + undici: ^5.12.0 + web-streams-polyfill: ^3.2.0 + checksum: 73087779b3b0e70d0abf8b2a5d82919c29c26f8062e16db0cad413fe45c7b58c3c12cc2bcd5942aebdfdc4feee97b01cf1ff6c5d92d9507a140afdcafa410b12 + languageName: node + linkType: hard + "@xmldom/xmldom@npm:^0.7.0, @xmldom/xmldom@npm:^0.7.5, @xmldom/xmldom@npm:^0.7.6": version: 0.7.6 resolution: "@xmldom/xmldom@npm:0.7.6" @@ -15055,18 +15903,6 @@ __metadata: languageName: node linkType: hard -"ajv-draft-04@npm:^1.0.0": - version: 1.0.0 - resolution: "ajv-draft-04@npm:1.0.0" - peerDependencies: - ajv: ^8.5.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 3f11fa0e7f7359bef6608657f02ab78e9cc62b1fb7bdd860db0d00351b3863a1189c1a23b72466d2d82726cab4eb20725c76f5e7c134a89865e2bfd0e6828137 - languageName: node - linkType: hard - "ajv-formats@npm:^2.1.1": version: 2.1.1 resolution: "ajv-formats@npm:2.1.1" @@ -15101,6 +15937,18 @@ __metadata: languageName: node linkType: hard +"ajv8@npm:ajv@^8.11.0, ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.8.0": + version: 8.11.2 + resolution: "ajv@npm:8.11.2" + dependencies: + fast-deep-equal: ^3.1.1 + json-schema-traverse: ^1.0.0 + require-from-string: ^2.0.2 + uri-js: ^4.2.2 + checksum: 53435bf79ee7d1eabba8085962dba4c08d08593334b304db7772887f0b7beebc1b3d957432f7437ed4b60e53b5d966a57b439869890209c50fed610459999e3e + languageName: node + linkType: hard + "ajv@npm:^6.10.0, 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.7.0, ajv@npm:~6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" @@ -15113,18 +15961,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0, ajv@npm:^8.6.3, ajv@npm:^8.8.0": - version: 8.11.2 - resolution: "ajv@npm:8.11.2" - dependencies: - fast-deep-equal: ^3.1.1 - json-schema-traverse: ^1.0.0 - require-from-string: ^2.0.2 - uri-js: ^4.2.2 - checksum: 53435bf79ee7d1eabba8085962dba4c08d08593334b304db7772887f0b7beebc1b3d957432f7437ed4b60e53b5d966a57b439869890209c50fed610459999e3e - languageName: node - linkType: hard - "alphanum-sort@npm:^1.0.2": version: 1.0.2 resolution: "alphanum-sort@npm:1.0.2" @@ -15552,16 +16388,16 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.4, array-includes@npm:^3.1.5": - version: 3.1.5 - resolution: "array-includes@npm:3.1.5" +"array-includes@npm:^3.1.4, array-includes@npm:^3.1.5, array-includes@npm:^3.1.6": + version: 3.1.6 + resolution: "array-includes@npm:3.1.6" dependencies: call-bind: ^1.0.2 define-properties: ^1.1.4 - es-abstract: ^1.19.5 - get-intrinsic: ^1.1.1 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 is-string: ^1.0.7 - checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5 + checksum: f22f8cd8ba8a6448d91eebdc69f04e4e55085d09232b5216ee2d476dab3ef59984e8d1889e662c6a0ed939dcb1b57fd05b2c0209c3370942fc41b752c82a2ca5 languageName: node linkType: hard @@ -15600,15 +16436,28 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.0": - version: 1.3.0 - resolution: "array.prototype.flatmap@npm:1.3.0" +"array.prototype.flatmap@npm:^1.3.1": + version: 1.3.1 + resolution: "array.prototype.flatmap@npm:1.3.1" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 es-shim-unscopables: ^1.0.0 - checksum: 818538f39409c4045d874be85df0dbd195e1446b14d22f95bdcfefea44ae77db44e42dcd89a559254ec5a7c8b338cfc986cc6d641e3472f9a5326b21eb2976a2 + checksum: 8c1c43a4995f12cf12523436da28515184c753807b3f0bc2ca6c075f71c470b099e2090cc67dba8e5280958fea401c1d0c59e1db0143272aef6cd1103921a987 + languageName: node + linkType: hard + +"array.prototype.tosorted@npm:^1.1.1": + version: 1.1.1 + resolution: "array.prototype.tosorted@npm:1.1.1" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + es-shim-unscopables: ^1.0.0 + get-intrinsic: ^1.1.3 + checksum: 7923324a67e70a2fc0a6e40237405d92395e45ebd76f5cb89c2a5cf1e66b47aca6baacd0cd628ffd88830b90d47fff268071493d09c9ae123645613dac2c2ca3 languageName: node linkType: hard @@ -15816,13 +16665,13 @@ __metadata: linkType: hard "aws-sdk-client-mock@npm:^2.0.0": - version: 2.0.0 - resolution: "aws-sdk-client-mock@npm:2.0.0" + version: 2.0.1 + resolution: "aws-sdk-client-mock@npm:2.0.1" dependencies: "@types/sinon": ^10.0.10 - sinon: ^11.1.1 + sinon: ^14.0.2 tslib: ^2.1.0 - checksum: e6081ca6bb72f5c082dfcd93155bbb7e1c9e8d3d346914ed05d736c495a5ef99ab3d0253507aff2e07b5b995fae63671e53e094437ddfaf8649d69725628ff8f + checksum: 447502ba9270777db129ddcf0245502771c1415d4293f7b001e0a3dc18ab0ce778a7f2d40a86dadb2637d3b83be2df4e833d7f4f6c49678495c932340558c465 languageName: node linkType: hard @@ -15944,20 +16793,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^29.0.3": - version: 29.0.3 - resolution: "babel-jest@npm:29.0.3" +"babel-jest@npm:^29.3.1": + version: 29.3.1 + resolution: "babel-jest@npm:29.3.1" dependencies: - "@jest/transform": ^29.0.3 + "@jest/transform": ^29.3.1 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^29.0.2 + babel-preset-jest: ^29.2.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 4670945691c204464f7694017d59148b97cdbd51ff91ef492340ef5d6bbc74c461fa698a5feb04a93515300632ed44a55e85500bb61206d8a7ff60afb5b6da48 + checksum: 793848238a771a931ddeb5930b9ec8ab800522ac8d64933665698f4a39603d157e572e20b57d79610277e1df88d3ee82b180d59a21f3570388f602beeb38a595 languageName: node linkType: hard @@ -15983,15 +16832,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.0.2": - version: 29.0.2 - resolution: "babel-plugin-jest-hoist@npm:29.0.2" +"babel-plugin-jest-hoist@npm:^29.2.0": + version: 29.2.0 + resolution: "babel-plugin-jest-hoist@npm:29.2.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: e02ab2c56b471940bc147d75808f6fb5d18b81382088beb36088d2fee8c5f9699b2a814a98884539191d43871d66770928e09c268c095ec39aad5766c3337f34 + checksum: 368d271ceae491ae6b96cd691434859ea589fbe5fd5aead7660df75d02394077273c6442f61f390e9347adffab57a32b564d0fabcf1c53c4b83cd426cb644072 languageName: node linkType: hard @@ -16130,15 +16979,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.0.2": - version: 29.0.2 - resolution: "babel-preset-jest@npm:29.0.2" +"babel-preset-jest@npm:^29.2.0": + version: 29.2.0 + resolution: "babel-preset-jest@npm:29.2.0" dependencies: - babel-plugin-jest-hoist: ^29.0.2 + babel-plugin-jest-hoist: ^29.2.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 485db525f4cd38c02c29edcd7240dd232e8d6dbcaef88bfa4765ad3057ed733512f1b7aad06f4bf9661afefeb0ada2c4e259d130113b0289d7db574f82bbd4f8 + checksum: 1b09a2db968c36e064daf98082cfffa39c849b63055112ddc56fc2551fd0d4783897265775b1d2f8a257960a3339745de92e74feb01bad86d41c4cecbfa854fc languageName: node linkType: hard @@ -16683,6 +17532,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:5.6.0": + version: 5.6.0 + resolution: "buffer@npm:5.6.0" + dependencies: + base64-js: ^1.0.2 + ieee754: ^1.1.4 + checksum: d659494c5032dd39d03d2912e64179cc44c6340e7e9d1f68d3840e7ab4559989fbce92b4950174593c38d05268224235ba404f0878775cab2a616b6dcad9c23e + languageName: node + linkType: hard + "buffer@npm:^5.2.0, buffer@npm:^5.2.1, buffer@npm:^5.5.0, buffer@npm:^5.6.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -17611,7 +18470,7 @@ __metadata: languageName: node linkType: hard -"colorette@npm:2.0.19, colorette@npm:^2.0.10, colorette@npm:^2.0.16, colorette@npm:^2.0.17": +"colorette@npm:2.0.19, colorette@npm:^2.0.10, colorette@npm:^2.0.16, colorette@npm:^2.0.19": version: 2.0.19 resolution: "colorette@npm:2.0.19" checksum: 888cf5493f781e5fcf54ce4d49e9d7d698f96ea2b2ef67906834bb319a392c667f9ec69f4a10e268d2946d13a9503d2d19b3abaaaf174e3451bfe91fb9d82427 @@ -17679,7 +18538,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:*, commander@npm:^9.1.0, commander@npm:^9.3.0": +"commander@npm:*, commander@npm:^9.1.0, commander@npm:^9.4.1": version: 9.4.1 resolution: "commander@npm:9.4.1" checksum: bfb18e325a5bdf772763c2213d5c7d9e77144d944124e988bcd8e5e65fb6d45d5d4e86b09155d0f2556c9a59c31e428720e57968bcd050b2306e910a0bf3cf13 @@ -17904,8 +18763,8 @@ __metadata: linkType: hard "concurrently@npm:^7.0.0": - version: 7.5.0 - resolution: "concurrently@npm:7.5.0" + version: 7.6.0 + resolution: "concurrently@npm:7.6.0" dependencies: chalk: ^4.1.0 date-fns: ^2.29.1 @@ -17919,7 +18778,7 @@ __metadata: bin: conc: dist/bin/concurrently.js concurrently: dist/bin/concurrently.js - checksum: 7886e1c8559d2699ae1b62be8aca5d56c226966e252a2b9dd6077b3c1fd5397e98ef537c040fffa1de50418bd2616746eb9dd589a31ffb9056d4758b850a865b + checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e languageName: node linkType: hard @@ -18001,7 +18860,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.7.0 resolution: "convert-source-map@npm:1.7.0" dependencies: @@ -18010,6 +18869,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 + languageName: node + linkType: hard + "cookie-parser@npm:^1.4.5": version: 1.4.6 resolution: "cookie-parser@npm:1.4.6" @@ -18252,9 +19118,11 @@ __metadata: linkType: hard "cronstrue@npm:^2.2.0": - version: 2.14.0 - resolution: "cronstrue@npm:2.14.0" - checksum: ffbceca5211575513b37a454253fe7aeb16fe841ed12c1e8a2241f0e55f46a72d4cb97fc3b56aa6bfc58c7d249f8c168f89bfd2011841f237098f86f435f6fcf + version: 2.20.0 + resolution: "cronstrue@npm:2.20.0" + bin: + cronstrue: bin/cli.js + checksum: 31b145cdeca5260fb120b072a9c69a12f722b895fbfea4792829efffd78a85c6e8eef1029a5a2563a12487ff6b06e717d1f117c5f156bf6a1ad7bb1b66d5a9fe languageName: node linkType: hard @@ -18382,20 +19250,20 @@ __metadata: linkType: hard "css-loader@npm:^6.5.1": - version: 6.7.1 - resolution: "css-loader@npm:6.7.1" + version: 6.7.2 + resolution: "css-loader@npm:6.7.2" dependencies: icss-utils: ^5.1.0 - postcss: ^8.4.7 + postcss: ^8.4.18 postcss-modules-extract-imports: ^3.0.0 postcss-modules-local-by-default: ^4.0.0 postcss-modules-scope: ^3.0.0 postcss-modules-values: ^4.0.0 postcss-value-parser: ^4.2.0 - semver: ^7.3.5 + semver: ^7.3.8 peerDependencies: webpack: ^5.0.0 - checksum: 170fdbc630a05a43679ef60fa97694766b568dbde37adccc0faafa964fc675f08b976bc68837bb73b61d60240e8d2cbcbf51540fe94ebc9dafc56e7c46ba5527 + checksum: f3c980cc9c033a02e60df7e5a2f33a1e8c2c3dd552f017485d2d81b383be623ae8c4189404e7a4a7403b52744683ae4b516def0f7ccf125c2b198cb647e46543 languageName: node linkType: hard @@ -19355,10 +20223,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.0.0": - version: 29.0.0 - resolution: "diff-sequences@npm:29.0.0" - checksum: 2c084a3db03ecde26f649f6f2559974e01e174451debeb301a7e17199e73423a8e8ddeb9a35ae38638c084b4fa51296a4a20fa7f44f3db0c0ba566bdc704ed3d +"diff-sequences@npm:^29.3.1": + version: 29.3.1 + resolution: "diff-sequences@npm:29.3.1" + checksum: 8edab8c383355022e470779a099852d595dd856f9f5bd7af24f177e74138a668932268b4c4fd54096eed643861575c3652d4ecbbb1a9d710488286aed3ffa443 languageName: node linkType: hard @@ -19757,10 +20625,9 @@ __metadata: linkType: hard "elastic-builder@npm:^2.16.0": - version: 2.16.0 - resolution: "elastic-builder@npm:2.16.0" + version: 2.17.3 + resolution: "elastic-builder@npm:2.17.3" dependencies: - babel-runtime: ^6.26.0 lodash.has: ^4.5.2 lodash.hasin: ^4.5.2 lodash.head: ^4.0.1 @@ -19769,7 +20636,7 @@ __metadata: lodash.isobject: ^3.0.2 lodash.isstring: ^4.0.1 lodash.omit: ^4.5.0 - checksum: 39ce21c4d2bc643dd3e376c06f6e0de04ed7ee60c8f315f63e086e59f81524b7267aadf7c362facfc88d627f483703ae1913052c230b2176e31f1e55a791ff66 + checksum: b1e47ad4d36e9974a1075e9e4f455e2d120eebc16d9e5c7e7219e89fcb64bcacd3015afddeae479a79f6b4cd92c4528f3e8535c9c9ca8d644286b9bb49635cdc languageName: node linkType: hard @@ -19795,10 +20662,10 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: ee3e21788b043b90885b18ea756ec3105c1cedc50b29709c92b01e239c7e55345d4bb6d3aef4ddbaf528eef448a40b3bb831bad9ee0fc9c25cbf1367ab1ab5ac +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 2b089ab6306f38feaabf4f6f02792f9ec85fc054fda79f44f6790e61bbf6bc4e1616afb9b232e0c5ec5289a8a452f79bfa6d905a6fd64e94b49981f0934001c6 languageName: node linkType: hard @@ -19927,7 +20794,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:2.2.0, entities@npm:^2.0.0": +"entities@npm:^2.0.0": version: 2.2.0 resolution: "entities@npm:2.2.0" checksum: 19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3 @@ -19994,34 +20861,35 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5": - version: 1.20.1 - resolution: "es-abstract@npm:1.20.1" +"es-abstract@npm:^1.18.0-next.1, es-abstract@npm:^1.18.0-next.2, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5, es-abstract@npm:^1.20.4": + version: 1.20.4 + resolution: "es-abstract@npm:1.20.4" dependencies: call-bind: ^1.0.2 es-to-primitive: ^1.2.1 function-bind: ^1.1.1 function.prototype.name: ^1.1.5 - get-intrinsic: ^1.1.1 + get-intrinsic: ^1.1.3 get-symbol-description: ^1.0.0 has: ^1.0.3 has-property-descriptors: ^1.0.0 has-symbols: ^1.0.3 internal-slot: ^1.0.3 - is-callable: ^1.2.4 + is-callable: ^1.2.7 is-negative-zero: ^2.0.2 is-regex: ^1.1.4 is-shared-array-buffer: ^1.0.2 is-string: ^1.0.7 is-weakref: ^1.0.2 - object-inspect: ^1.12.0 + object-inspect: ^1.12.2 object-keys: ^1.1.1 - object.assign: ^4.1.2 + object.assign: ^4.1.4 regexp.prototype.flags: ^1.4.3 + safe-regex-test: ^1.0.0 string.prototype.trimend: ^1.0.5 string.prototype.trimstart: ^1.0.5 unbox-primitive: ^1.0.2 - checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f + checksum: 89297cc785c31aedf961a603d5a07ed16471e435d3a1b6d070b54f157cf48454b95cda2ac55e4b86ff4fe3276e835fcffd2771578e6fa634337da49b26826141 languageName: node linkType: hard @@ -20059,100 +20927,100 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-android-64@npm:0.15.13" +"esbuild-android-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-android-64@npm:0.15.16" conditions: os=android & cpu=x64 languageName: node linkType: hard -"esbuild-android-arm64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-android-arm64@npm:0.15.13" +"esbuild-android-arm64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-android-arm64@npm:0.15.16" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"esbuild-darwin-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-darwin-64@npm:0.15.13" +"esbuild-darwin-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-darwin-64@npm:0.15.16" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-darwin-arm64@npm:0.15.13" +"esbuild-darwin-arm64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-darwin-arm64@npm:0.15.16" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-freebsd-64@npm:0.15.13" +"esbuild-freebsd-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-freebsd-64@npm:0.15.16" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-freebsd-arm64@npm:0.15.13" +"esbuild-freebsd-arm64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-freebsd-arm64@npm:0.15.16" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-32@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-32@npm:0.15.13" +"esbuild-linux-32@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-32@npm:0.15.16" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"esbuild-linux-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-64@npm:0.15.13" +"esbuild-linux-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-64@npm:0.15.16" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-arm64@npm:0.15.13" +"esbuild-linux-arm64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-arm64@npm:0.15.16" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-arm@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-arm@npm:0.15.13" +"esbuild-linux-arm@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-arm@npm:0.15.16" conditions: os=linux & cpu=arm languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-mips64le@npm:0.15.13" +"esbuild-linux-mips64le@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-mips64le@npm:0.15.16" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-ppc64le@npm:0.15.13" +"esbuild-linux-ppc64le@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-ppc64le@npm:0.15.16" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-riscv64@npm:0.15.13" +"esbuild-linux-riscv64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-riscv64@npm:0.15.16" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-linux-s390x@npm:0.15.13" +"esbuild-linux-s390x@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-linux-s390x@npm:0.15.16" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -20173,74 +21041,74 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-netbsd-64@npm:0.15.13" +"esbuild-netbsd-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-netbsd-64@npm:0.15.16" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-openbsd-64@npm:0.15.13" +"esbuild-openbsd-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-openbsd-64@npm:0.15.16" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"esbuild-sunos-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-sunos-64@npm:0.15.13" +"esbuild-sunos-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-sunos-64@npm:0.15.16" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"esbuild-windows-32@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-windows-32@npm:0.15.13" +"esbuild-windows-32@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-windows-32@npm:0.15.16" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"esbuild-windows-64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-windows-64@npm:0.15.13" +"esbuild-windows-64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-windows-64@npm:0.15.16" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.15.13": - version: 0.15.13 - resolution: "esbuild-windows-arm64@npm:0.15.13" +"esbuild-windows-arm64@npm:0.15.16": + version: 0.15.16 + resolution: "esbuild-windows-arm64@npm:0.15.16" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard "esbuild@npm:^0.15.0, esbuild@npm:^0.15.6": - version: 0.15.13 - resolution: "esbuild@npm:0.15.13" + version: 0.15.16 + resolution: "esbuild@npm:0.15.16" dependencies: - "@esbuild/android-arm": 0.15.13 - "@esbuild/linux-loong64": 0.15.13 - esbuild-android-64: 0.15.13 - esbuild-android-arm64: 0.15.13 - esbuild-darwin-64: 0.15.13 - esbuild-darwin-arm64: 0.15.13 - esbuild-freebsd-64: 0.15.13 - esbuild-freebsd-arm64: 0.15.13 - esbuild-linux-32: 0.15.13 - esbuild-linux-64: 0.15.13 - esbuild-linux-arm: 0.15.13 - esbuild-linux-arm64: 0.15.13 - esbuild-linux-mips64le: 0.15.13 - esbuild-linux-ppc64le: 0.15.13 - esbuild-linux-riscv64: 0.15.13 - esbuild-linux-s390x: 0.15.13 - esbuild-netbsd-64: 0.15.13 - esbuild-openbsd-64: 0.15.13 - esbuild-sunos-64: 0.15.13 - esbuild-windows-32: 0.15.13 - esbuild-windows-64: 0.15.13 - esbuild-windows-arm64: 0.15.13 + "@esbuild/android-arm": 0.15.16 + "@esbuild/linux-loong64": 0.15.16 + esbuild-android-64: 0.15.16 + esbuild-android-arm64: 0.15.16 + esbuild-darwin-64: 0.15.16 + esbuild-darwin-arm64: 0.15.16 + esbuild-freebsd-64: 0.15.16 + esbuild-freebsd-arm64: 0.15.16 + esbuild-linux-32: 0.15.16 + esbuild-linux-64: 0.15.16 + esbuild-linux-arm: 0.15.16 + esbuild-linux-arm64: 0.15.16 + esbuild-linux-mips64le: 0.15.16 + esbuild-linux-ppc64le: 0.15.16 + esbuild-linux-riscv64: 0.15.16 + esbuild-linux-s390x: 0.15.16 + esbuild-netbsd-64: 0.15.16 + esbuild-openbsd-64: 0.15.16 + esbuild-sunos-64: 0.15.16 + esbuild-windows-32: 0.15.16 + esbuild-windows-64: 0.15.16 + esbuild-windows-arm64: 0.15.16 dependenciesMeta: "@esbuild/android-arm": optional: true @@ -20288,7 +21156,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: ef5f339fae7e2abc4ec5484d4b301efdf40f580e043cbf8a66e19d6c91df82368a810abec61fd5e5db226f0c354f49c36616c9ea04c5412a142a050c10239bf7 + checksum: 6f9262784b115363290cc9aa54692b3b646cd0508364333a609cc7be5ede4d93f91561ae8da48125e077da2e7add5368105486233ac2258f7169b171e8d78564 languageName: node linkType: hard @@ -20465,8 +21333,8 @@ __metadata: linkType: hard "eslint-plugin-jest@npm:^27.0.0": - version: 27.1.5 - resolution: "eslint-plugin-jest@npm:27.1.5" + version: 27.1.6 + resolution: "eslint-plugin-jest@npm:27.1.6" dependencies: "@typescript-eslint/utils": ^5.10.0 peerDependencies: @@ -20477,7 +21345,7 @@ __metadata: optional: true jest: optional: true - checksum: 7c9de765793f7161afa0bdcdce67f4d072944152880fa638b25d228188dcee47a4b4aada26c57db72bc10193c96a1979e17afb8a7c3e400e961d8adfbf23ddbe + checksum: 5b1640b5d575f0d5e27da8ef8cb3110a29f94ebd50ae51edc5ea34c1054f5dcf305416865b2919ac424bc02c4569848bbe7fd2c86e7e1aff23e77f1ff9ef7dfd languageName: node linkType: hard @@ -20542,26 +21410,27 @@ __metadata: linkType: hard "eslint-plugin-react@npm:^7.28.0": - version: 7.31.10 - resolution: "eslint-plugin-react@npm:7.31.10" + version: 7.31.11 + resolution: "eslint-plugin-react@npm:7.31.11" dependencies: - array-includes: ^3.1.5 - array.prototype.flatmap: ^1.3.0 + array-includes: ^3.1.6 + array.prototype.flatmap: ^1.3.1 + array.prototype.tosorted: ^1.1.1 doctrine: ^2.1.0 estraverse: ^5.3.0 jsx-ast-utils: ^2.4.1 || ^3.0.0 minimatch: ^3.1.2 - object.entries: ^1.1.5 - object.fromentries: ^2.0.5 - object.hasown: ^1.1.1 - object.values: ^1.1.5 + object.entries: ^1.1.6 + object.fromentries: ^2.0.6 + object.hasown: ^1.1.2 + object.values: ^1.1.6 prop-types: ^15.8.1 resolve: ^2.0.0-next.3 semver: ^6.3.0 - string.prototype.matchall: ^4.0.7 + string.prototype.matchall: ^4.0.8 peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - checksum: f013669c296483559a760648fa06425f161b1aff93c668f14c4561c933d22a7836b745b88a795c53cab929c71513d5fd1f2ffdddff915709f01b77ac25f5b71b + checksum: a3d612f6647bef33cf2a67c81a6b37b42c075300ed079cffecf5fb475c0d6ab855c1de340d1cbf361a0126429fb906dda597527235d2d12c4404453dbc712fc6 languageName: node linkType: hard @@ -20638,8 +21507,8 @@ __metadata: linkType: hard "eslint@npm:^8.6.0": - version: 8.27.0 - resolution: "eslint@npm:8.27.0" + version: 8.28.0 + resolution: "eslint@npm:8.28.0" dependencies: "@eslint/eslintrc": ^1.3.3 "@humanwhocodes/config-array": ^0.11.6 @@ -20682,7 +21551,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: 153b022d309e1b647a73b1bb0fa98912add699b06e279084155f23c6f2b5fc5abd05411fc1ba81608a24bbfaf044ca079544c16fffa6fc987b8f676c9960a2c4 + checksum: 1b793486b2ec80f0602d75fff7116f7c39a3286f523608a999eead9bec4154a06841785d2b4fb87f8292a94cf85778c1dbfaec727772a09c4d604fdb9ff0809a languageName: node linkType: hard @@ -20845,7 +21714,7 @@ __metadata: languageName: node linkType: hard -"events@npm:^3.0.0, events@npm:^3.2.0, events@npm:^3.3.0": +"events@npm:3.3.0, events@npm:^3.0.0, events@npm:^3.2.0, events@npm:^3.3.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -21146,16 +22015,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.0.3": - version: 29.0.3 - resolution: "expect@npm:29.0.3" +"expect@npm:^29.0.0, expect@npm:^29.3.1": + version: 29.3.1 + resolution: "expect@npm:29.3.1" dependencies: - "@jest/expect-utils": ^29.0.3 - jest-get-type: ^29.0.0 - jest-matcher-utils: ^29.0.3 - jest-message-util: ^29.0.3 - jest-util: ^29.0.3 - checksum: 21b7fd346c47896a3de8f1103d7be32dab9409eb3dc170b7a9ff5d8d564b8499bd600b9af6251fe2f46064cf4e2f1456a6c6318da15314b7d74ed6dad723b555 + "@jest/expect-utils": ^29.3.1 + jest-get-type: ^29.2.0 + jest-matcher-utils: ^29.3.1 + jest-message-util: ^29.3.1 + jest-util: ^29.3.1 + checksum: e9588c2a430b558b9a3dc72d4ad05f36b047cb477bc6a7bb9cfeef7614fe7e5edbab424c2c0ce82739ee21ecbbbd24596259528209f84cd72500cc612d910d30 languageName: node linkType: hard @@ -21421,12 +22290,14 @@ __metadata: languageName: node linkType: hard -"fast-xml-parser@npm:3.19.0": - version: 3.19.0 - resolution: "fast-xml-parser@npm:3.19.0" +"fast-xml-parser@npm:4.0.11": + version: 4.0.11 + resolution: "fast-xml-parser@npm:4.0.11" + dependencies: + strnum: ^1.0.5 bin: - xml2js: cli.js - checksum: d9da9145f73d90c05ee2746d80c78eca4da0249dea8c81ea8f1a6e1245e62988ed4a040dbd1c7229b1e0bdcbf69d33c882e0ac337d10c7eedb159a4dc9779327 + fxparser: src/cli/cli.js + checksum: d8a08e4d5597e0fc00a86735195872eeb03008913e298830941516f3766e16ee555e2d431acc92e1dda887938edc445252ec5b59494aab60a8389888bd13719c languageName: node linkType: hard @@ -22217,14 +23088,14 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1": - version: 1.1.2 - resolution: "get-intrinsic@npm:1.1.2" +"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3": + version: 1.1.3 + resolution: "get-intrinsic@npm:1.1.3" dependencies: function-bind: ^1.1.1 has: ^1.0.3 has-symbols: ^1.0.3 - checksum: 252f45491f2ba88ebf5b38018020c7cc3279de54b1d67ffb70c0cdf1dfa8ab31cd56467b5d117a8b4275b7a4dde91f86766b163a17a850f036528a7b2faafb2b + checksum: 152d79e87251d536cf880ba75cfc3d6c6c50e12b3a64e1ea960e73a3752b47c69f46034456eae1b0894359ce3bc64c55c186f2811f8a788b75b638b06fab228a languageName: node linkType: hard @@ -22532,9 +23403,9 @@ __metadata: languageName: node linkType: hard -"google-gax@npm:^3.3.0, google-gax@npm:^3.5.1": - version: 3.5.1 - resolution: "google-gax@npm:3.5.1" +"google-gax@npm:^3.5.1, google-gax@npm:^3.5.2": + version: 3.5.2 + resolution: "google-gax@npm:3.5.2" dependencies: "@grpc/grpc-js": ~1.7.0 "@grpc/proto-loader": ^0.7.0 @@ -22547,13 +23418,13 @@ __metadata: node-fetch: ^2.6.1 object-hash: ^3.0.0 proto3-json-serializer: ^1.0.0 - protobufjs: 7.1.1 + protobufjs: 7.1.2 protobufjs-cli: 1.0.2 retry-request: ^5.0.0 bin: compileProtos: build/tools/compileProtos.js minifyProtoJson: build/tools/minify.js - checksum: 81ecd10981554944a117ace753b2fc8f6d82b26b244db005d01fc5e127181571de9a71ec02b28aa2e233c6fe696108617512a8b090c8304e753913f1ca441767 + checksum: 619a961acba742c30eaba85f5e0fb5903f8fc6713e26bf1736549cbbd43d7fac3ba3379dbc96850117263199ea8e3e74635b078e9464c7fadbbcba8822949135 languageName: node linkType: hard @@ -23272,7 +24143,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3": +"http-proxy-middleware@npm:^2.0.0, http-proxy-middleware@npm:^2.0.3, http-proxy-middleware@npm:^2.0.6": version: 2.0.6 resolution: "http-proxy-middleware@npm:2.0.6" dependencies: @@ -23644,7 +24515,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -23959,10 +24830,10 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4": - version: 1.2.4 - resolution: "is-callable@npm:1.2.4" - checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f +"is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": + version: 1.2.7 + resolution: "is-callable@npm:1.2.7" + checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac languageName: node linkType: hard @@ -24674,57 +25545,57 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-changed-files@npm:29.0.0" +"jest-changed-files@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-changed-files@npm:29.2.0" dependencies: execa: ^5.0.0 p-limit: ^3.1.0 - checksum: 5642ace8cd1e7e4f9e3ee423b97d0b018b00ad85ea7e5864592b4657e8500ef56ec50d2189229b912223046bbf31c9196c8ef2442a917be9726a5911d40db1b2 + checksum: 8ad8290324db1de2ee3c9443d3e3fbfdcb6d72ec7054c5796be2854b2bc239dea38a7c797c8c9c2bd959f539d44305790f2f75b18f3046b04317ed77c7480cb1 languageName: node linkType: hard -"jest-circus@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-circus@npm:29.0.3" +"jest-circus@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-circus@npm:29.3.1" dependencies: - "@jest/environment": ^29.0.3 - "@jest/expect": ^29.0.3 - "@jest/test-result": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/environment": ^29.3.1 + "@jest/expect": ^29.3.1 + "@jest/test-result": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.0.3 - jest-matcher-utils: ^29.0.3 - jest-message-util: ^29.0.3 - jest-runtime: ^29.0.3 - jest-snapshot: ^29.0.3 - jest-util: ^29.0.3 + jest-each: ^29.3.1 + jest-matcher-utils: ^29.3.1 + jest-message-util: ^29.3.1 + jest-runtime: ^29.3.1 + jest-snapshot: ^29.3.1 + jest-util: ^29.3.1 p-limit: ^3.1.0 - pretty-format: ^29.0.3 + pretty-format: ^29.3.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 6ba495d4fb68ebb59f269b59029837f55009793d632ba2f29300992de80f7e3a37e619ea4e88676982cf74128416265a5929b3f9b77142fbf27c1dd0d6b6f98c + checksum: 125710debd998ad9693893e7c1235e271b79f104033b8169d82afe0bc0d883f8f5245feef87adcbb22ad27ff749fd001aa998d11a132774b03b4e2b8af77d5d8 languageName: node linkType: hard -"jest-cli@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-cli@npm:29.0.3" +"jest-cli@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-cli@npm:29.3.1" dependencies: - "@jest/core": ^29.0.3 - "@jest/test-result": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/core": ^29.3.1 + "@jest/test-result": ^29.3.1 + "@jest/types": ^29.3.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.0.3 - jest-util: ^29.0.3 - jest-validate: ^29.0.3 + jest-config: ^29.3.1 + jest-util: ^29.3.1 + jest-validate: ^29.3.1 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -24734,34 +25605,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 4cd6ed7effcf703c3275bb07231227e32bd2de2dfc84354f0bbd25a2a8b26395570c8902c7dc87b02bed4a57c304a6b48e21a60fa26025b89c1e4e61eae1ea38 + checksum: 829895d33060042443bd1e9e87eb68993773d74f2c8a9b863acf53cece39d227ae0e7d76df2e9c5934c414bdf70ce398a34b3122cfe22164acb2499a74d7288d languageName: node linkType: hard -"jest-config@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-config@npm:29.0.3" +"jest-config@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-config@npm:29.3.1" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.0.3 - "@jest/types": ^29.0.3 - babel-jest: ^29.0.3 + "@jest/test-sequencer": ^29.3.1 + "@jest/types": ^29.3.1 + babel-jest: ^29.3.1 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.0.3 - jest-environment-node: ^29.0.3 - jest-get-type: ^29.0.0 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.0.3 - jest-runner: ^29.0.3 - jest-util: ^29.0.3 - jest-validate: ^29.0.3 + jest-circus: ^29.3.1 + jest-environment-node: ^29.3.1 + jest-get-type: ^29.2.0 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.3.1 + jest-runner: ^29.3.1 + jest-util: ^29.3.1 + jest-validate: ^29.3.1 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.0.3 + pretty-format: ^29.3.1 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -24772,7 +25643,7 @@ __metadata: optional: true ts-node: optional: true - checksum: b2861ebf946e8c332c0526559de7f41d79bbe27731ee4de15add1a2ac8baec160ed572d22e66fd8dae6cde38dbedc9dd0987397021499f7aa44f558da651c65a + checksum: 6e663f04ae1024a53a4c2c744499b4408ca9a8b74381dd5e31b11bb3c7393311ecff0fb61b06287768709eb2c9e5a2fd166d258f5a9123abbb4c5812f99c12fe languageName: node linkType: hard @@ -24785,146 +25656,152 @@ __metadata: languageName: node linkType: hard -"jest-diff@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-diff@npm:29.0.3" +"jest-diff@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-diff@npm:29.3.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^29.0.0 - jest-get-type: ^29.0.0 - pretty-format: ^29.0.3 - checksum: 1e12b63ea6254ea25146b6fb19f8b2d1ba334e1b8b635a007767c17dc272728afbdf41ccccce26c2a40cd9c7f3176bcfed53be2572927a3fc7b1ee5fff43eb26 + diff-sequences: ^29.3.1 + jest-get-type: ^29.2.0 + pretty-format: ^29.3.1 + checksum: ac5c09745f2b1897e6f53216acaf6ed44fc4faed8e8df053ff4ac3db5d2a1d06a17b876e49faaa15c8a7a26f5671bcbed0a93781dcc2835f781c79a716a591a9 languageName: node linkType: hard -"jest-docblock@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-docblock@npm:29.0.0" +"jest-docblock@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-docblock@npm:29.2.0" dependencies: detect-newline: ^3.0.0 - checksum: b4f81426cc0dffb05b873d3cc373a1643040be62d72cce4dfed499fbcb57c55ac02c44af7aba5e7753915ff5e85b8d6030456981156eaea20be1cb57d2719904 + checksum: b3f1227b7d73fc9e4952180303475cf337b36fa65c7f730ac92f0580f1c08439983262fee21cf3dba11429aa251b4eee1e3bc74796c5777116b400d78f9d2bbe languageName: node linkType: hard -"jest-each@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-each@npm:29.0.3" +"jest-each@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-each@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 chalk: ^4.0.0 - jest-get-type: ^29.0.0 - jest-util: ^29.0.3 - pretty-format: ^29.0.3 - checksum: 80c1912eb573a2972e29d9731cfbfa773b010c1416998eca28a90bda4f50de393c60860a2cb1531a4d3e0a0d23698c561a64e8942d48a75023b683136de519cc + jest-get-type: ^29.2.0 + jest-util: ^29.3.1 + pretty-format: ^29.3.1 + checksum: 16d51ef8f96fba44a3479f1c6f7672027e3b39236dc4e41217c38fe60a3b66b022ffcee72f8835a442f7a8a0a65980a93fb8e73a9782d192452526e442ad049a languageName: node linkType: hard "jest-environment-jsdom@npm:^29.0.2": - version: 29.0.3 - resolution: "jest-environment-jsdom@npm:29.0.3" + version: 29.3.1 + resolution: "jest-environment-jsdom@npm:29.3.1" dependencies: - "@jest/environment": ^29.0.3 - "@jest/fake-timers": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/environment": ^29.3.1 + "@jest/fake-timers": ^29.3.1 + "@jest/types": ^29.3.1 "@types/jsdom": ^20.0.0 "@types/node": "*" - jest-mock: ^29.0.3 - jest-util: ^29.0.3 + jest-mock: ^29.3.1 + jest-util: ^29.3.1 jsdom: ^20.0.0 - checksum: fee4f06b61fd0a402cbbf770d6a4cee70ea2b93a9bd776830d16d4b8dcf488943b7d7b2779301e977747bb7ef3ce1e6265725b6296236803385bb7a212ca6290 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 91b04ed02b2275c3a47740e20c2691f67c4295e17174c8ccd3a71fe77707239e487506bd157279b4257ce1be0a8c2be377817ee85689966a9e604bb6ef1199f0 languageName: node linkType: hard -"jest-environment-node@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-environment-node@npm:29.0.3" +"jest-environment-node@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-environment-node@npm:29.3.1" dependencies: - "@jest/environment": ^29.0.3 - "@jest/fake-timers": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/environment": ^29.3.1 + "@jest/fake-timers": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" - jest-mock: ^29.0.3 - jest-util: ^29.0.3 - checksum: 76cd5759cdb08d3a4619004a23cc45fb8d103004b4d3e95451a36b981540c5d56e4f2a5b3cafb8ecf144bf874633ea86118a202e08aec1f445a25caf4081d8bc + jest-mock: ^29.3.1 + jest-util: ^29.3.1 + checksum: 16d4854bd2d35501bd4862ca069baf27ce9f5fd7642fdcab9d2dab49acd28c082d0c8882bf2bb28ed7bbaada486da577c814c9688ddc62d1d9f74a954fde996a languageName: node linkType: hard -"jest-get-type@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-get-type@npm:29.0.0" - checksum: 9abdd11d69788963a92fb9d813a7b887654ecc8f3a3c8bf83166d33aaf4d57ed380e74ab8ef106f57565dd235446ca6ebc607679f0c516c4633e6d09f0540a2b +"jest-get-type@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-get-type@npm:29.2.0" + checksum: e396fd880a30d08940ed8a8e43cd4595db1b8ff09649018eb358ca701811137556bae82626af73459e3c0f8c5e972ed1e57fd3b1537b13a260893dac60a90942 languageName: node linkType: hard -"jest-haste-map@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-haste-map@npm:29.0.3" +"jest-haste-map@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-haste-map@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 graceful-fs: ^4.2.9 - jest-regex-util: ^29.0.0 - jest-util: ^29.0.3 - jest-worker: ^29.0.3 + jest-regex-util: ^29.2.0 + jest-util: ^29.3.1 + jest-worker: ^29.3.1 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: fb766e0d8174e7e3a43a63b28e23bd35db61a5939d6c5c1335d7f3d642d1c608e16fef8a105289b78795e308ab3176a62bc45acfa3fa14087e7635cb008795c3 + checksum: 97ea26af0c28a2ba568c9c65d06211487bbcd501cb4944f9d55e07fd2b00ad96653ea2cc9033f3d5b7dc1feda33e47ae9cc56b400191ea4533be213c9f82e67c languageName: node linkType: hard -"jest-leak-detector@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-leak-detector@npm:29.0.3" +"jest-leak-detector@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-leak-detector@npm:29.3.1" dependencies: - jest-get-type: ^29.0.0 - pretty-format: ^29.0.3 - checksum: a1657dbb72f2c3b4a8af148daec491d42eabdadc4e27eb8ec325d5267c21ac958e82e5c8ee679861c2131afd2bdfed4139b806511de7624d93b9838c6fcf5b2e + jest-get-type: ^29.2.0 + pretty-format: ^29.3.1 + checksum: 0dd8ed31ae0b5a3d14f13f567ca8567f2663dd2d540d1e55511d3b3fd7f80a1d075392179674ebe9fab9be0b73678bf4d2f8bbbc0f4bdd52b9815259194da559 languageName: node linkType: hard -"jest-matcher-utils@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-matcher-utils@npm:29.0.3" +"jest-matcher-utils@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-matcher-utils@npm:29.3.1" dependencies: chalk: ^4.0.0 - jest-diff: ^29.0.3 - jest-get-type: ^29.0.0 - pretty-format: ^29.0.3 - checksum: e39ab74a046ada8fbd75a275bfe54bd5f8ec14a98f77e1162a49d4e1ea82e68c5a4575691767cea0f60dd0b74cb481275012bf3467cd91fdb014311c670b8a83 + jest-diff: ^29.3.1 + jest-get-type: ^29.2.0 + pretty-format: ^29.3.1 + checksum: 311e8d9f1e935216afc7dd8c6acf1fbda67a7415e1afb1bf72757213dfb025c1f2dc5e2c185c08064a35cdc1f2d8e40c57616666774ed1b03e57eb311c20ec77 languageName: node linkType: hard -"jest-message-util@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-message-util@npm:29.0.3" +"jest-message-util@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-message-util@npm:29.3.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.0.3 + pretty-format: ^29.3.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 04bee1fee10106f4eb875092e5d06187930d44050a4f99e7aa1d1e42768b18d6d9e5439623d9242202942deb8a1eec08359e0cd19a43ae505d96aeaf243a3f8d + checksum: 15d0a2fca3919eb4570bbf575734780c4b9e22de6aae903c4531b346699f7deba834c6c86fe6e9a83ad17fac0f7935511cf16dce4d71a93a71ebb25f18a6e07b languageName: node linkType: hard -"jest-mock@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-mock@npm:29.0.3" +"jest-mock@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-mock@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@types/node": "*" - checksum: 8a04823334216f5fca9733a200cbb4cca207bdd74c523321a4170cbec3b2086b44eb1744a9faef808d2853593f132dda90d17e4bce59678fc373e1bab666ad0f + jest-util: ^29.3.1 + checksum: 9098852cb2866db4a1a59f9f7581741dfc572f648e9e574a1b187fd69f5f2f6190ad387ede21e139a8b80a6a1343ecc3d6751cd2ae1ae11d7ea9fa1950390fb2 languageName: node linkType: hard @@ -24940,102 +25817,102 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-regex-util@npm:29.0.0" - checksum: dce16394c357213008e6f84f2288f77c64bba59b7cb48ea614e85c5aae036a7e46dbfd1f45aa08180b7e7c576102bf4f8f0ff8bc60fb9721fb80874adc3ae0ea +"jest-regex-util@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-regex-util@npm:29.2.0" + checksum: 7c533e51c51230dac20c0d7395b19b8366cb022f7c6e08e6bcf2921626840ff90424af4c9b4689f02f0addfc9b071c4cd5f8f7a989298a4c8e0f9c94418ca1c3 languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-resolve-dependencies@npm:29.0.3" +"jest-resolve-dependencies@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-resolve-dependencies@npm:29.3.1" dependencies: - jest-regex-util: ^29.0.0 - jest-snapshot: ^29.0.3 - checksum: 43980c0c03a7f00459209315832f03c28d8289ca30ccd8bb6652c87a2c03275aacdba8789177cefc162ceb05218ba3db8bf5a1968920aa4e510cbbefd54f9793 + jest-regex-util: ^29.2.0 + jest-snapshot: ^29.3.1 + checksum: 6ec4727a87c6e7954e93de9949ab9967b340ee2f07626144c273355f05a2b65fa47eb8dece2d6e5f4fd99cdb893510a3540aa5e14ba443f70b3feb63f6f98982 languageName: node linkType: hard -"jest-resolve@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-resolve@npm:29.0.3" +"jest-resolve@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-resolve@npm:29.3.1" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.0.3 + jest-haste-map: ^29.3.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.0.3 - jest-validate: ^29.0.3 + jest-util: ^29.3.1 + jest-validate: ^29.3.1 resolve: ^1.20.0 resolve.exports: ^1.1.0 slash: ^3.0.0 - checksum: 9a774f78decbd9caa863e8c539d439aac76a780ea7acc54e90f2ad9c2000c03294e7f4f38816d16a8aa020ae0e3358845cc8f96fbab5f3e186b00e6e0462bf9b + checksum: 0dea22ed625e07b8bfee52dea1391d3a4b453c1a0c627a0fa7c22e44bb48e1c289afe6f3c316def70753773f099c4e8f436c7a2cc12fcc6c7dd6da38cba2cd5f languageName: node linkType: hard -"jest-runner@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-runner@npm:29.0.3" +"jest-runner@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-runner@npm:29.3.1" dependencies: - "@jest/console": ^29.0.3 - "@jest/environment": ^29.0.3 - "@jest/test-result": ^29.0.3 - "@jest/transform": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/console": ^29.3.1 + "@jest/environment": ^29.3.1 + "@jest/test-result": ^29.3.1 + "@jest/transform": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" chalk: ^4.0.0 - emittery: ^0.10.2 + emittery: ^0.13.1 graceful-fs: ^4.2.9 - jest-docblock: ^29.0.0 - jest-environment-node: ^29.0.3 - jest-haste-map: ^29.0.3 - jest-leak-detector: ^29.0.3 - jest-message-util: ^29.0.3 - jest-resolve: ^29.0.3 - jest-runtime: ^29.0.3 - jest-util: ^29.0.3 - jest-watcher: ^29.0.3 - jest-worker: ^29.0.3 + jest-docblock: ^29.2.0 + jest-environment-node: ^29.3.1 + jest-haste-map: ^29.3.1 + jest-leak-detector: ^29.3.1 + jest-message-util: ^29.3.1 + jest-resolve: ^29.3.1 + jest-runtime: ^29.3.1 + jest-util: ^29.3.1 + jest-watcher: ^29.3.1 + jest-worker: ^29.3.1 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: db62830d1635be5e376fd261e38d37a4855146c9a586ec616cfb64257ef6f79697bd947bbb9751377dc2302626e73d1b77036eafd78ef6f93e1e53ca89c23e3e + checksum: 61ad445d8a5f29573332f27a21fc942fb0d2a82bf901a0ea1035bf3bd7f349d1e425f71f54c3a3f89b292a54872c3248d395a2829d987f26b6025b15530ea5d2 languageName: node linkType: hard -"jest-runtime@npm:^29.0.2, jest-runtime@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-runtime@npm:29.0.3" +"jest-runtime@npm:^29.0.2, jest-runtime@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-runtime@npm:29.3.1" dependencies: - "@jest/environment": ^29.0.3 - "@jest/fake-timers": ^29.0.3 - "@jest/globals": ^29.0.3 - "@jest/source-map": ^29.0.0 - "@jest/test-result": ^29.0.3 - "@jest/transform": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/environment": ^29.3.1 + "@jest/fake-timers": ^29.3.1 + "@jest/globals": ^29.3.1 + "@jest/source-map": ^29.2.0 + "@jest/test-result": ^29.3.1 + "@jest/transform": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.0.3 - jest-message-util: ^29.0.3 - jest-mock: ^29.0.3 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.0.3 - jest-snapshot: ^29.0.3 - jest-util: ^29.0.3 + jest-haste-map: ^29.3.1 + jest-message-util: ^29.3.1 + jest-mock: ^29.3.1 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.3.1 + jest-snapshot: ^29.3.1 + jest-util: ^29.3.1 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: e13bfadfe225e9c06a95809d34e209e1769723c0c3d5913d86e4e748a22777e2bec11a352f2d12ca790e04203a6defc6556f77a3050518ebf6600a454a56fd36 + checksum: 82f27b48f000be074064a854e16e768f9453e9b791d8c5f9316606c37f871b5b10f70544c1b218ab9784f00bd972bb77f868c5ab6752c275be2cd219c351f5a7 languageName: node linkType: hard -"jest-snapshot@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-snapshot@npm:29.0.3" +"jest-snapshot@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-snapshot@npm:29.3.1" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 @@ -25043,69 +25920,69 @@ __metadata: "@babel/plugin-syntax-typescript": ^7.7.2 "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.0.3 - "@jest/transform": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/expect-utils": ^29.3.1 + "@jest/transform": ^29.3.1 + "@jest/types": ^29.3.1 "@types/babel__traverse": ^7.0.6 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.0.3 + expect: ^29.3.1 graceful-fs: ^4.2.9 - jest-diff: ^29.0.3 - jest-get-type: ^29.0.0 - jest-haste-map: ^29.0.3 - jest-matcher-utils: ^29.0.3 - jest-message-util: ^29.0.3 - jest-util: ^29.0.3 + jest-diff: ^29.3.1 + jest-get-type: ^29.2.0 + jest-haste-map: ^29.3.1 + jest-matcher-utils: ^29.3.1 + jest-message-util: ^29.3.1 + jest-util: ^29.3.1 natural-compare: ^1.4.0 - pretty-format: ^29.0.3 + pretty-format: ^29.3.1 semver: ^7.3.5 - checksum: 412c0fc4c12c14470aa33beeddfeb04fa0d5724235321e8284b52097c74c97ada40ea52f5ac52a8e01e6d42dd5894b9a0260577d30c8c723ca84fcc7a60bd40c + checksum: d7d0077935e78c353c828be78ccb092e12ba7622cb0577f21641fadd728ae63a7c1f4a0d8113bfb38db3453a64bfa232fb1cdeefe0e2b48c52ef4065b0ab75ae languageName: node linkType: hard -"jest-util@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-util@npm:29.0.3" +"jest-util@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-util@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: 39c31e75ba5bcb4c3ccdf0895f9fdbb83f839c432e7c6639a688beb414d681b5d50282da017c723ea1f2a7033e74a4938fd33dcff231c3e90f903173919991d5 + checksum: f67c60f062b94d21cb60e84b3b812d64b7bfa81fe980151de5c17a74eb666042d0134e2e756d099b7606a1fcf1d633824d2e58197d01d76dde1e2dc00dfcd413 languageName: node linkType: hard -"jest-validate@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-validate@npm:29.0.3" +"jest-validate@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-validate@npm:29.3.1" dependencies: - "@jest/types": ^29.0.3 + "@jest/types": ^29.3.1 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^29.0.0 + jest-get-type: ^29.2.0 leven: ^3.1.0 - pretty-format: ^29.0.3 - checksum: 096df6a77837155d9b65cd7ff9198489317c53903eb74a7f207e053c0b56204c18b6a8047e168eced291eb550b792ef4ab322b05c7da348af76cd78ea3556b4e + pretty-format: ^29.3.1 + checksum: 92584f0b8ac284235f12b3b812ccbc43ef6dea080a3b98b1aa81adbe009e962d0aa6131f21c8157b30ac3d58f335961694238a93d553d1d1e02ab264c923778c languageName: node linkType: hard -"jest-watcher@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-watcher@npm:29.0.3" +"jest-watcher@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-watcher@npm:29.3.1" dependencies: - "@jest/test-result": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/test-result": ^29.3.1 + "@jest/types": ^29.3.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^29.0.3 + emittery: ^0.13.1 + jest-util: ^29.3.1 string-length: ^4.0.1 - checksum: d585b9dda467d08946357c8ed1f971f15a302f958ccd3f6e2e59df5da245edca91cd4a72329d0126de8ac5793567965e4be1e555c4e40ecadb4f8f14306441bb + checksum: 60d189473486c73e9d540406a30189da5a3c67bfb0fb4ad4a83991c189135ef76d929ec99284ca5a505fe4ee9349ae3c99b54d2e00363e72837b46e77dec9642 languageName: node linkType: hard @@ -25140,25 +26017,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.0.3": - version: 29.0.3 - resolution: "jest-worker@npm:29.0.3" +"jest-worker@npm:^29.3.1": + version: 29.3.1 + resolution: "jest-worker@npm:29.3.1" dependencies: "@types/node": "*" + jest-util: ^29.3.1 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: cdae4a58f6ab1ec3c384b42f1106004d434e65febcb34ba14a1e7d8538f7a5a5c2ebb0cf29cecfe8c71882c526ee02c4aa338a9ce0abcf11fcec9b8fa662189b + checksum: 38687fcbdc2b7ddc70bbb5dfc703ae095b46b3c7f206d62ecdf5f4d16e336178e217302138f3b906125576bb1cfe4cfe8d43681276fa5899d138ed9422099fb3 languageName: node linkType: hard "jest@npm:^29.0.2": - version: 29.0.3 - resolution: "jest@npm:29.0.3" + version: 29.3.1 + resolution: "jest@npm:29.3.1" dependencies: - "@jest/core": ^29.0.3 - "@jest/types": ^29.0.3 + "@jest/core": ^29.3.1 + "@jest/types": ^29.3.1 import-local: ^3.0.2 - jest-cli: ^29.0.3 + jest-cli: ^29.3.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -25166,7 +26044,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 6bffa1ec703dbf64ce79aa7ef2887b586fdc96881cf2b83c8e86569237124a17aa001ddd4e7be7877202abe530ee5c04e9f0dd54e7320533b05b90709aca2607 + checksum: 613f4ec657b14dd84c0056b2fef1468502927fd551bef0b19d4a91576a609678fb316c6a5b5fc6120dd30dd4ff4569070ffef3cb507db9bb0260b28ddaa18d7a languageName: node linkType: hard @@ -25219,9 +26097,9 @@ __metadata: linkType: hard "jose@npm:^4.10.0, jose@npm:^4.6.0": - version: 4.11.0 - resolution: "jose@npm:4.11.0" - checksum: 8d81e978e0da306911b61b1de1e2d78bd4903b4aa68a4b338b7c89c41edc3d56aea4d5ef4784a078a630dd6aa81f6328901ae3ce215f33b90d51ee8ebf4c9dbd + version: 4.11.1 + resolution: "jose@npm:4.11.1" + checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 languageName: node linkType: hard @@ -25247,9 +26125,9 @@ __metadata: linkType: hard "js-base64@npm:^3.6.0": - version: 3.7.2 - resolution: "js-base64@npm:3.7.2" - checksum: 573f28e9a27c3df60096d4d3f551bcb4fcb6d49161cf83396e9bad9b76f94736a70bb70b8808fe834dff2a388f76604ba09d6e153bbf181646e407720139fa5b + version: 3.7.3 + resolution: "js-base64@npm:3.7.3" + checksum: ee19bed9ba21693e4583a47773dd701938de63db82e7c324d4c19093046157f0d87905cc20540f194f1d0ec88d6e1bfc4056aea916bcb873ebcf95942d26aa5a languageName: node linkType: hard @@ -26004,9 +26882,9 @@ __metadata: linkType: hard "kafkajs@npm:^2.0.0": - version: 2.1.0 - resolution: "kafkajs@npm:2.1.0" - checksum: b751b06f8005ac9ff192d98306f59c6ae018ce09acc0f959dfbfd4fbb4731fe7dfd42de0c3592d45a6b66b6d5caa40926673a02eb764b701c2953ea203ced60c + version: 2.2.3 + resolution: "kafkajs@npm:2.2.3" + checksum: 30f17de75da852942334b6069c5c515e2531a7b610997f0e4c6088281f16588df45ac920218411d9ae995c09af1f69186ed4d73cbe0e5f1247ec756dd9c7678e languageName: node linkType: hard @@ -26240,10 +27118,10 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:2.0.5, lilconfig@npm:^2.0.3": - version: 2.0.5 - resolution: "lilconfig@npm:2.0.5" - checksum: f7bb9e42656f06930ad04e583026f087508ae408d3526b8b54895e934eb2a966b7aafae569656f2c79a29fe6d779b3ec44ba577e80814734c8655d6f71cdf2d1 +"lilconfig@npm:2.0.6, lilconfig@npm:^2.0.3": + version: 2.0.6 + resolution: "lilconfig@npm:2.0.6" + checksum: 40a3cd72f103b1be5975f2ac1850810b61d4053e20ab09be8d3aeddfe042187e1ba70b4651a7e70f95efa1642e7dc8b2ae395b317b7d7753b241b43cef7c0f7d languageName: node linkType: hard @@ -26264,25 +27142,25 @@ __metadata: linkType: hard "lint-staged@npm:^13.0.0": - version: 13.0.3 - resolution: "lint-staged@npm:13.0.3" + version: 13.0.4 + resolution: "lint-staged@npm:13.0.4" dependencies: cli-truncate: ^3.1.0 - colorette: ^2.0.17 - commander: ^9.3.0 + colorette: ^2.0.19 + commander: ^9.4.1 debug: ^4.3.4 execa: ^6.1.0 - lilconfig: 2.0.5 - listr2: ^4.0.5 + lilconfig: 2.0.6 + listr2: ^5.0.5 micromatch: ^4.0.5 normalize-path: ^3.0.0 object-inspect: ^1.12.2 pidtree: ^0.6.0 string-argv: ^0.3.1 - yaml: ^2.1.1 + yaml: ^2.1.3 bin: lint-staged: bin/lint-staged.js - checksum: 53d585007df06e162febab6b0836b55016d902586a267823c8a1158529d8c742dc7297e523f7023dff02250bef3eb0d6934f4ec4f9961adfc2ebbed5f54162d0 + checksum: 4676172df5dc734a7f409ad786a72d39bd2239de8b2e5eb1d99eaa751479f60f7b4ef85c8508698855b51b125a512f395ac6a3c7d2d57de8e8221e0aaaab6f4f languageName: node linkType: hard @@ -26328,6 +27206,27 @@ __metadata: languageName: node linkType: hard +"listr2@npm:^5.0.5": + version: 5.0.5 + resolution: "listr2@npm:5.0.5" + dependencies: + cli-truncate: ^2.1.0 + colorette: ^2.0.19 + log-update: ^4.0.0 + p-map: ^4.0.0 + rfdc: ^1.3.0 + rxjs: ^7.5.6 + through: ^2.3.8 + wrap-ansi: ^7.0.0 + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + checksum: 71c44eb648405d2725f248747ef8d5e192dd16938ec81df854c4a7e74ff1b3f4c3149461b1cff31c761bfbdf110f7f2603c9957c908294a1c6db299c9168608c + languageName: node + linkType: hard + "load-bmfont@npm:^1.3.1, load-bmfont@npm:^1.4.0": version: 1.4.1 resolution: "load-bmfont@npm:1.4.1" @@ -26399,14 +27298,14 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.3": - version: 2.0.3 - resolution: "loader-utils@npm:2.0.3" +"loader-utils@npm:^2.0.0, loader-utils@npm:^2.0.4": + version: 2.0.4 + resolution: "loader-utils@npm:2.0.4" dependencies: big.js: ^5.2.2 emojis-list: ^3.0.0 json5: ^2.1.2 - checksum: d055c61ce5927b64cb4af40218606603a7d3a39adb7b6eec116bb31d19203875950e478152dea056de404eced8e87e9bfd336ec636591ded040ea451f63c7d88 + checksum: a5281f5fff1eaa310ad5e1164095689443630f3411e927f95031ab4fb83b4a98f388185bb1fe949e8ab8d4247004336a625e9255c22122b815bb9a4c5d8fc3b7 languageName: node linkType: hard @@ -27029,11 +27928,11 @@ __metadata: linkType: hard "marked@npm:^4.0.10, marked@npm:^4.0.14": - version: 4.1.1 - resolution: "marked@npm:4.1.1" + version: 4.2.3 + resolution: "marked@npm:4.2.3" bin: marked: bin/marked.js - checksum: 717e3357952ee53de831bf0eb110ed075bebca2376c58bcdf7ee523ef540d45308ad6d51b2c933da0968832ea4386f31c142ca65443e77c098e84f6cce73e418 + checksum: 21b9f6cc4e7695b5e1f251b7b6c98fdc29c25f7ee6c8f4d5c51654856ea36d6222e9a5a227a9b89ccba717dcf7a722022f099aa0dc7caad8e041c996906c23d0 languageName: node linkType: hard @@ -27840,13 +28739,13 @@ __metadata: linkType: hard "mini-css-extract-plugin@npm:^2.4.2": - version: 2.6.1 - resolution: "mini-css-extract-plugin@npm:2.6.1" + version: 2.7.0 + resolution: "mini-css-extract-plugin@npm:2.7.0" dependencies: schema-utils: ^4.0.0 peerDependencies: webpack: ^5.0.0 - checksum: df60840404878c4832b4104799fd29c5a89b06b1e377956c8d4a5729efe0ef301a52e5087d6f383871df5e69a8445922a0ae635c11abf412d7645a7096d0e973 + checksum: e6b111d4289132bd496286eec42801c74c83af7eac71af630a5babae48ca65377f47d8b39e1f0653b449e68e67b57dbd0d36917242f08fc3e7770e70c0cb56cd languageName: node linkType: hard @@ -28156,9 +29055,9 @@ __metadata: languageName: node linkType: hard -"msw@npm:^0.48.0": - version: 0.48.0 - resolution: "msw@npm:0.48.0" +"msw@npm:^0.49.0": + version: 0.49.1 + resolution: "msw@npm:0.49.1" dependencies: "@mswjs/cookies": ^0.2.2 "@mswjs/interceptors": ^0.17.5 @@ -28176,18 +29075,17 @@ __metadata: node-fetch: ^2.6.7 outvariant: ^1.3.0 path-to-regexp: ^6.2.0 - statuses: ^2.0.0 strict-event-emitter: ^0.2.6 type-fest: ^2.19.0 yargs: ^17.3.1 peerDependencies: - typescript: ">= 4.2.x <= 4.8.x" + typescript: ">= 4.4.x <= 4.9.x" peerDependenciesMeta: typescript: optional: true bin: msw: cli/index.js - checksum: a931232d18ad02c8b98ffb5db507824d619860743eab6ecf2c228a403b5a20e2b167d4e0ef6cdd7ca2c0d1e4cc913dce1a690e80d7ef3ec6724d3ee060abc477 + checksum: 4d8ebcc21cbe20d73070857653a1e90b1be7c78ac2ea68ae497baa2a5d9bc1fb764ccfb292fc8eda0b6cfabd4542a80bbacb0302e9ba939a0bc94b024848850d languageName: node linkType: hard @@ -28310,6 +29208,13 @@ __metadata: languageName: node linkType: hard +"natural-compare-lite@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare-lite@npm:1.4.0" + checksum: 5222ac3986a2b78dd6069ac62cbb52a7bf8ffc90d972ab76dfe7b01892485d229530ed20d0c62e79a6b363a663b273db3bde195a1358ce9e5f779d4453887225 + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -28353,16 +29258,16 @@ __metadata: languageName: node linkType: hard -"nise@npm:^5.1.0, nise@npm:^5.1.1": - version: 5.1.1 - resolution: "nise@npm:5.1.1" +"nise@npm:^5.1.1, nise@npm:^5.1.2": + version: 5.1.2 + resolution: "nise@npm:5.1.2" dependencies: - "@sinonjs/commons": ^1.8.3 - "@sinonjs/fake-timers": ">=5" + "@sinonjs/commons": ^2.0.0 + "@sinonjs/fake-timers": ^7.0.4 "@sinonjs/text-encoding": ^0.7.1 just-extend: ^4.0.2 path-to-regexp: ^1.7.0 - checksum: d8be29e84a014743c9a10f428fac86f294ac5f92bed1f606fe9b551e935f494d8e0ce1af8a12673c6014010ec7f771f2d48aa5c8e116f223eb4f40c5e1ab44b3 + checksum: 688c557333dcbc5b41f4f1f1b0ea32fb0f8b424541a8958140bc61074980362c954b2aeb027c282de26b9ddcb4b230656f68ac4206777499e405dd7e716ec1f8 languageName: node linkType: hard @@ -28874,7 +29779,7 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.12.0, object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": +"object-inspect@npm:^1.12.2, object-inspect@npm:^1.9.0": version: 1.12.2 resolution: "object-inspect@npm:1.12.2" checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2 @@ -28888,7 +29793,7 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2": +"object.assign@npm:^4.1.0, object.assign@npm:^4.1.2, object.assign@npm:^4.1.4": version: 4.1.4 resolution: "object.assign@npm:4.1.4" dependencies: @@ -28900,46 +29805,46 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.5": - version: 1.1.5 - resolution: "object.entries@npm:1.1.5" +"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.3 - es-abstract: ^1.19.1 - checksum: d658696f74fd222060d8428d2a9fda2ce736b700cb06f6bdf4a16a1892d145afb746f453502b2fa55d1dca8ead6f14ddbcf66c545df45adadea757a6c4cd86c7 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 0f8c47517e6a9a980241eafe3b73de11e59511883173c2b93d67424a008e47e11b77c80e431ad1d8a806f6108b225a1cab9223e53e555776c612a24297117d28 languageName: node linkType: hard -"object.fromentries@npm:^2.0.5": - version: 2.0.5 - resolution: "object.fromentries@npm:2.0.5" +"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.3 - es-abstract: ^1.19.1 - checksum: 61a0b565ded97b76df9e30b569729866e1824cce902f98e90bb106e84f378aea20163366f66dc75c9000e2aad2ed0caf65c6f530cb2abc4c0c0f6c982102db4b + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: 453c6d694180c0c30df451b60eaf27a5b9bca3fb43c37908fd2b78af895803dc631242bcf05582173afa40d8d0e9c96e16e8874b39471aa53f3ac1f98a085d85 languageName: node linkType: hard -"object.hasown@npm:^1.1.1": - version: 1.1.1 - resolution: "object.hasown@npm:1.1.1" +"object.hasown@npm:^1.1.2": + version: 1.1.2 + resolution: "object.hasown@npm:1.1.2" dependencies: define-properties: ^1.1.4 - es-abstract: ^1.19.5 - checksum: d8ed4907ce57f48b93e3b53c418fd6787bf226a51e8d698c91e39b78e80fe5b124cb6282f6a9d5be21cf9e2c7829ab10206dcc6112b7748860eefe641880c793 + es-abstract: ^1.20.4 + checksum: b936572536db0cdf38eb30afd2f1026a8b6f2cc5d2c4497c9d9bbb01eaf3e980dead4fd07580cfdd098e6383e5a9db8212d3ea0c6bdd2b5e68c60aa7e3b45566 languageName: node linkType: hard -"object.values@npm:^1.1.5": - version: 1.1.5 - resolution: "object.values@npm:1.1.5" +"object.values@npm:^1.1.5, object.values@npm:^1.1.6": + version: 1.1.6 + resolution: "object.values@npm:1.1.6" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + checksum: f6fff9fd817c24cfd8107f50fb33061d81cd11bacc4e3dbb3852e9ff7692fde4dbce823d4333ea27cd9637ef1b6690df5fbb61f1ed314fa2959598dc3ae23d8e languageName: node linkType: hard @@ -29089,14 +29994,14 @@ __metadata: linkType: hard "openid-client@npm:^5.1.6, openid-client@npm:^5.2.1": - version: 5.3.0 - resolution: "openid-client@npm:5.3.0" + version: 5.3.1 + resolution: "openid-client@npm:5.3.1" dependencies: jose: ^4.10.0 lru-cache: ^6.0.0 object-hash: ^2.0.1 oidc-token-hash: ^5.0.1 - checksum: 27faa298e083daae2a2a99629b25cc89f648302f4845dd1acd04ec6e7105a6edf13a5c38ab1159bcb7b88c5bc54be08e021c911e22f0b8bfcca1b2d686ae3d95 + checksum: e8993cfe6ac55942fb7a5fc4db8ab88ab36bbcf2a6519993a9a2e288bfc248fcfb07804b6785eb7852a9eea0eec27f80ae57a29193c0b835f31f611b11b9bda1 languageName: node linkType: hard @@ -30704,7 +31609,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.1.0, postcss@npm:^8.4.7": +"postcss@npm:^8.1.0, postcss@npm:^8.4.18": version: 8.4.19 resolution: "postcss@npm:8.4.19" dependencies: @@ -30811,11 +31716,11 @@ __metadata: linkType: hard "prettier@npm:^2.2.1, prettier@npm:^2.7.1": - version: 2.7.1 - resolution: "prettier@npm:2.7.1" + version: 2.8.0 + resolution: "prettier@npm:2.8.0" bin: prettier: bin-prettier.js - checksum: 55a4409182260866ab31284d929b3cb961e5fdb91fe0d2e099dac92eaecec890f36e524b4c19e6ceae839c99c6d7195817579cdffc8e2c80da0cb794463a748b + checksum: 72004ce0cc9bb097daf3e3833f62495768724392c1d5b178dd47372337616e9e50ecbb0804f236596223f7b5eb1bbe69cefc8957dca21112c5777e77ef73a564 languageName: node linkType: hard @@ -30847,14 +31752,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.0.3": - version: 29.0.3 - resolution: "pretty-format@npm:29.0.3" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.3.1": + version: 29.3.1 + resolution: "pretty-format@npm:29.3.1" dependencies: "@jest/schemas": ^29.0.0 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 239aa73b09919b195353e62530908b43883af66e3ba8ecb5fda77578b20f297fd774fcf53abbedcb6cfff72521e8a220052a49e6a0e29418082d06386da27bac + checksum: 9917a0bb859cd7a24a343363f70d5222402c86d10eb45bcc2f77b23a4e67586257390e959061aec22762a782fe6bafb59bf34eb94527bc2e5d211afdb287eb4e languageName: node linkType: hard @@ -30918,13 +31823,6 @@ __metadata: languageName: node linkType: hard -"promise-any-polyfill@npm:^1.0.1": - version: 1.0.1 - resolution: "promise-any-polyfill@npm:1.0.1" - checksum: 8eccebb8f9278c422cda05083e506964e6c75061b9c6d7fb6f3b7ccb707e5d338138aed3092b8358355a18f8d6dd47c139d0e198aae1eb0c84cd943a35d7ee0c - languageName: node - linkType: hard - "promise-call-limit@npm:^1.0.1": version: 1.0.1 resolution: "promise-call-limit@npm:1.0.1" @@ -31050,9 +31948,9 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:7.1.1, protobufjs@npm:^7.0.0": - version: 7.1.1 - resolution: "protobufjs@npm:7.1.1" +"protobufjs@npm:7.1.2, protobufjs@npm:^7.0.0": + version: 7.1.2 + resolution: "protobufjs@npm:7.1.2" dependencies: "@protobufjs/aspromise": ^1.1.2 "@protobufjs/base64": ^1.1.2 @@ -31066,7 +31964,7 @@ __metadata: "@protobufjs/utf8": ^1.1.0 "@types/node": ">=13.7.0" long: ^5.0.0 - checksum: f6b0e7cec29056cefb83902009b39d24ac14a6117b52bc9b291b29778dad010e42d5563a20045e4de89b880114f4214f984396c8296a0d1b22f5dc7d9fe6705e + checksum: ae41669b1b0372fb1d49f506f2d1f2b0fb3dc3cece85987b17bcb544e4cef7c8d27f480486cdec324146ad0a5d22a327166a7ea864a9b3e49cc3c92a5d3f6500 languageName: node linkType: hard @@ -31404,6 +32302,20 @@ __metadata: languageName: node linkType: hard +"rc-progress@npm:3.4.1": + version: 3.4.1 + resolution: "rc-progress@npm:3.4.1" + dependencies: + "@babel/runtime": ^7.10.1 + classnames: ^2.2.6 + rc-util: ^5.16.1 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: d4dce5231ea29bfa866935a59f05473711f9dfc944f95cc78b0fdcd1508a063983cc58973f54c2b20797f0b0f480c4a2b84aaa2ca185158c14800ec659163880 + languageName: node + linkType: hard + "rc-util@npm:^5.16.1": version: 5.16.1 resolution: "rc-util@npm:5.16.1" @@ -31762,7 +32674,7 @@ __metadata: languageName: node linkType: hard -"react-router-dom-stable@npm:react-router-dom@^6.3.0, react-router-dom@npm:^6.3.0": +"react-router-dom-stable@npm:react-router-dom@^6.3.0": version: 6.3.0 resolution: "react-router-dom@npm:6.3.0" dependencies: @@ -31775,7 +32687,20 @@ __metadata: languageName: node linkType: hard -"react-router-stable@npm:react-router@^6.3.0, react-router@npm:6.3.0, react-router@npm:^6.3.0": +"react-router-dom@npm:^6.3.0": + version: 6.4.3 + resolution: "react-router-dom@npm:6.4.3" + dependencies: + "@remix-run/router": 1.0.3 + react-router: 6.4.3 + peerDependencies: + react: ">=16.8" + react-dom: ">=16.8" + checksum: 67a44d8dc45761a1c88793cac73839bb657168ef61b9473eb39b186b4a3ea1472454fd96f8997dc541cb1e79a723d62f9503cbc9179b63b8f1d634ed6d2b079a + languageName: node + linkType: hard + +"react-router-stable@npm:react-router@^6.3.0, react-router@npm:6.3.0": version: 6.3.0 resolution: "react-router@npm:6.3.0" dependencies: @@ -31786,6 +32711,17 @@ __metadata: languageName: node linkType: hard +"react-router@npm:6.4.3, react-router@npm:^6.3.0": + version: 6.4.3 + resolution: "react-router@npm:6.4.3" + dependencies: + "@remix-run/router": 1.0.3 + peerDependencies: + react: ">=16.8" + checksum: b89c0495c6837b1457915c08c5acc4eb7a2e9e3fae0420faf9bfc6311ecdfe78627cc1034c0e975bccd9aeeb70d1dcc5021322779dd3053d94c47e37339d77eb + languageName: node + linkType: hard + "react-side-effect@npm:^2.1.0": version: 2.1.0 resolution: "react-side-effect@npm:2.1.0" @@ -32301,7 +33237,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.4.1, regexp.prototype.flags@npm:^1.4.3": +"regexp.prototype.flags@npm:^1.4.3": version: 1.4.3 resolution: "regexp.prototype.flags@npm:1.4.3" dependencies: @@ -32964,12 +33900,9 @@ __metadata: "@backstage/codemods": "workspace:*" "@backstage/create-app": "workspace:*" "@backstage/errors": "workspace:^" + "@backstage/repo-tools": "workspace:*" "@changesets/cli": ^2.14.0 "@manypkg/get-packages": ^1.1.3 - "@microsoft/api-documenter": ^7.17.11 - "@microsoft/api-extractor": ^7.23.0 - "@microsoft/api-extractor-model": ^7.17.2 - "@microsoft/tsdoc": ^0.14.1 "@octokit/rest": ^19.0.3 "@spotify/prettier-config": ^14.0.0 "@techdocs/cli": "workspace:*" @@ -33045,12 +33978,12 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.0.0, rxjs@npm:^7.1.0, rxjs@npm:^7.5.1, rxjs@npm:^7.5.5": - version: 7.5.6 - resolution: "rxjs@npm:7.5.6" +"rxjs@npm:^7.0.0, rxjs@npm:^7.1.0, rxjs@npm:^7.5.1, rxjs@npm:^7.5.5, rxjs@npm:^7.5.6": + version: 7.5.7 + resolution: "rxjs@npm:7.5.7" dependencies: tslib: ^2.1.0 - checksum: fc05f01364a74dac57490fb3e07ea63b422af04017fae1db641a009073f902ef69f285c5daac31359620dc8d9aee7d81e42b370ca2a8573d1feae0b04329383b + checksum: edabcdb73b0f7e0f5f6e05c2077aff8c52222ac939069729704357d6406438acca831c24210db320aba269e86dbe1a400f3769c89101791885121a342fb15d9c languageName: node linkType: hard @@ -33084,6 +34017,17 @@ __metadata: languageName: node linkType: hard +"safe-regex-test@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-regex-test@npm:1.0.0" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.3 + is-regex: ^1.1.4 + checksum: bc566d8beb8b43c01b94e67de3f070fd2781685e835959bbbaaec91cc53381145ca91f69bd837ce6ec244817afa0a5e974fc4e40a2957f0aca68ac3add1ddd34 + languageName: node + linkType: hard + "safe-regex2@npm:^2.0.0": version: 2.0.0 resolution: "safe-regex2@npm:2.0.0" @@ -33237,7 +34181,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.0.0, selfsigned@npm:^2.0.1": +"selfsigned@npm:^2.0.0, selfsigned@npm:^2.1.1": version: 2.1.1 resolution: "selfsigned@npm:2.1.1" dependencies: @@ -33287,14 +34231,14 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:~7.3.0": - version: 7.3.7 - resolution: "semver@npm:7.3.7" +"semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.1.3, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:~7.3.0": + version: 7.3.8 + resolution: "semver@npm:7.3.8" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 languageName: node linkType: hard @@ -33623,20 +34567,6 @@ __metadata: languageName: node linkType: hard -"sinon@npm:^11.1.1": - version: 11.1.2 - resolution: "sinon@npm:11.1.2" - dependencies: - "@sinonjs/commons": ^1.8.3 - "@sinonjs/fake-timers": ^7.1.2 - "@sinonjs/samsam": ^6.0.2 - diff: ^5.0.0 - nise: ^5.1.0 - supports-color: ^7.2.0 - checksum: 1d01377e230c9ba976bf33f28b588bae7901b0b5a503d2f6b2a7914b0dbaa9f09823481926c6f2abed820123c7fa865519695af3ae2e9ba18d8b025616163501 - languageName: node - linkType: hard - "sinon@npm:^13.0.2": version: 13.0.2 resolution: "sinon@npm:13.0.2" @@ -33651,6 +34581,20 @@ __metadata: languageName: node linkType: hard +"sinon@npm:^14.0.2": + version: 14.0.2 + resolution: "sinon@npm:14.0.2" + dependencies: + "@sinonjs/commons": ^2.0.0 + "@sinonjs/fake-timers": ^9.1.2 + "@sinonjs/samsam": ^7.0.1 + diff: ^5.0.0 + nise: ^5.1.2 + supports-color: ^7.2.0 + checksum: de7730cd7785a457e42f9a93e955780c870296036a13816e3c0c5648360afae82fdc748e36c854cf26fb8abd117855a7211aee49265c334fa61439aae17a1b72 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" @@ -34257,6 +35201,16 @@ __metadata: languageName: node linkType: hard +"stream-browserify@npm:3.0.0": + version: 3.0.0 + resolution: "stream-browserify@npm:3.0.0" + dependencies: + inherits: ~2.0.4 + readable-stream: ^3.5.0 + checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 + languageName: node + linkType: hard + "stream-browserify@npm:^2.0.1": version: 2.0.2 resolution: "stream-browserify@npm:2.0.2" @@ -34408,19 +35362,19 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.7": - version: 4.0.7 - resolution: "string.prototype.matchall@npm:4.0.7" +"string.prototype.matchall@npm:^4.0.8": + version: 4.0.8 + resolution: "string.prototype.matchall@npm:4.0.8" dependencies: call-bind: ^1.0.2 - define-properties: ^1.1.3 - es-abstract: ^1.19.1 - get-intrinsic: ^1.1.1 + define-properties: ^1.1.4 + es-abstract: ^1.20.4 + get-intrinsic: ^1.1.3 has-symbols: ^1.0.3 internal-slot: ^1.0.3 - regexp.prototype.flags: ^1.4.1 + regexp.prototype.flags: ^1.4.3 side-channel: ^1.0.4 - checksum: fc09f3ccbfb325de0472bcc87a6be0598a7499e0b4a31db5789676155b15754a4cc4bb83924f15fc9ed48934dac7366ee52c8b9bd160bed6fd072c93b489e75c + checksum: 952da3a818de42ad1c10b576140a5e05b4de7b34b8d9dbf00c3ac8c1293e9c0f533613a39c5cda53e0a8221f2e710bc2150e730b1c2278d60004a8a35726efb6 languageName: node linkType: hard @@ -34579,6 +35533,13 @@ __metadata: languageName: node linkType: hard +"strnum@npm:^1.0.5": + version: 1.0.5 + resolution: "strnum@npm:1.0.5" + checksum: 651b2031db5da1bf4a77fdd2f116a8ac8055157c5420f5569f64879133825915ad461513e7202a16d7fec63c54fd822410d0962f8ca12385c4334891b9ae6dd2 + languageName: node + linkType: hard + "strtok3@npm:^6.2.4": version: 6.2.4 resolution: "strtok3@npm:6.2.4" @@ -34685,8 +35646,8 @@ __metadata: linkType: hard "sucrase@npm:^3.18.0, sucrase@npm:^3.20.2": - version: 3.28.0 - resolution: "sucrase@npm:3.28.0" + version: 3.29.0 + resolution: "sucrase@npm:3.29.0" dependencies: commander: ^4.0.0 glob: 7.1.6 @@ -34697,7 +35658,7 @@ __metadata: bin: sucrase: bin/sucrase sucrase-node: bin/sucrase-node - checksum: 6a2369c140cee674988ebcf83538f38b11270e47ebaffc811baabe1db3fc586f1a357d4bbc66388a6b99054ba06a08f31b44b764e777abbd457b9e29332b12d0 + checksum: fc8f04c34f29c0e9ca63109815df138182d62663dbe9565fcd94161b77a88a639f40c46559d0bb84d7acf9346ce23ea102476fd9168ec279330c7faecefb81eb languageName: node linkType: hard @@ -34739,7 +35700,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": +"supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -34757,16 +35718,6 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^2.0.0": - version: 2.1.0 - resolution: "supports-hyperlinks@npm:2.1.0" - dependencies: - has-flag: ^4.0.0 - supports-color: ^7.0.0 - checksum: e4f430c870a258c9854b8bd7f166a9c1e76e3b851da84d4399d6a8f1d4a485e4ec36c16455dde80acf06c86e7c0a6df76ed22b6a4644a6ae3eced8616b3f21b5 - languageName: node - linkType: hard - "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -35066,16 +36017,6 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:^2.0.0": - version: 2.1.1 - resolution: "terminal-link@npm:2.1.1" - dependencies: - ansi-escapes: ^4.2.1 - supports-hyperlinks: ^2.0.0 - checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f - languageName: node - linkType: hard - "terser-webpack-plugin@npm:*, terser-webpack-plugin@npm:^5.1.3": version: 5.3.6 resolution: "terser-webpack-plugin@npm:5.3.6" @@ -35554,7 +36495,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.0.0, ts-node@npm:^10.2.1, ts-node@npm:^10.4.0, ts-node@npm:^10.8.1": +"ts-node@npm:^10.0.0, ts-node@npm:^10.4.0, ts-node@npm:^10.8.1, ts-node@npm:^10.9.1": version: 10.9.1 resolution: "ts-node@npm:10.9.1" dependencies: @@ -35792,25 +36733,25 @@ __metadata: languageName: node linkType: hard -"typescript-json-schema@npm:^0.54.0": - version: 0.54.0 - resolution: "typescript-json-schema@npm:0.54.0" +"typescript-json-schema@npm:^0.55.0": + version: 0.55.0 + resolution: "typescript-json-schema@npm:0.55.0" dependencies: "@types/json-schema": ^7.0.9 "@types/node": ^16.9.2 glob: ^7.1.7 path-equal: ^1.1.2 safe-stable-stringify: ^2.2.0 - ts-node: ^10.2.1 - typescript: ~4.6.0 + ts-node: ^10.9.1 + typescript: ~4.8.2 yargs: ^17.1.1 bin: typescript-json-schema: bin/typescript-json-schema - checksum: 49e03bd2612f79fe3ee9e9afcea34ae563da9aa799a8b4cf12b73feb60eb62a0786300eedb30261c69c482ed7e545acf1e5617d59861e6deee4f6570a658de88 + checksum: 4188e9d4cc1f1fc3201e2aa06b8d87d35695b0eaf049ff9d2cd3027d87406efc6978c4f90c2bf06f4fcd8d6dd40ceb65e744dc3cf9b412e1f74b8eb5bae96a05 languageName: node linkType: hard -"typescript@npm:~4.6.0, typescript@npm:~4.6.3": +"typescript@npm:~4.6.3": version: 4.6.4 resolution: "typescript@npm:4.6.4" bin: @@ -35830,7 +36771,17 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@~4.6.0#~builtin, typescript@patch:typescript@~4.6.3#~builtin": +"typescript@npm:~4.8.2": + version: 4.8.4 + resolution: "typescript@npm:4.8.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3e4f061658e0c8f36c820802fa809e0fd812b85687a9a2f5430bc3d0368e37d1c9605c3ce9b39df9a05af2ece67b1d844f9f6ea8ff42819f13bcb80f85629af0 + languageName: node + linkType: hard + +"typescript@patch:typescript@~4.6.3#~builtin": version: 4.6.4 resolution: "typescript@patch:typescript@npm%3A4.6.4#~builtin::version=4.6.4&hash=a1c5e5" bin: @@ -35850,6 +36801,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@~4.8.2#~builtin": + version: 4.8.4 + resolution: "typescript@patch:typescript@npm%3A4.8.4#~builtin::version=4.8.4&hash=a1c5e5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 563a0ef47abae6df27a9a3ab38f75fc681f633ccf1a3502b1108e252e187787893de689220f4544aaf95a371a4eb3141e4a337deb9895de5ac3c1ca76430e5f0 + languageName: node + linkType: hard + "ua-parser-js@npm:^0.7.18": version: 0.7.28 resolution: "ua-parser-js@npm:0.7.28" @@ -35939,10 +36900,12 @@ __metadata: languageName: node linkType: hard -"undici@npm:^5.8.0": - version: 5.8.0 - resolution: "undici@npm:5.8.0" - checksum: 7b486ad064da00628d3906e140b86223023cd3494c811da8d7aa1375c2392fe6a6ac421af236c056fd3d3136bba3a91b99e0505dde071dd946070946eb0718b8 +"undici@npm:^5.12.0, undici@npm:^5.8.0": + version: 5.12.0 + resolution: "undici@npm:5.12.0" + dependencies: + busboy: ^1.6.0 + checksum: fbc227704943c05aa3dc1630695e10309c17d0a535678594d136db107c50593248e9ace70e1ab77496a6c837bf14aa2ab3c501a7a6c45fb6277dbf0846e15ffe languageName: node linkType: hard @@ -36786,8 +37749,8 @@ __metadata: linkType: hard "webpack-dev-server@npm:^4.7.3": - version: 4.10.1 - resolution: "webpack-dev-server@npm:4.10.1" + version: 4.11.1 + resolution: "webpack-dev-server@npm:4.11.1" dependencies: "@types/bonjour": ^3.5.9 "@types/connect-history-api-fallback": ^1.3.5 @@ -36812,7 +37775,7 @@ __metadata: p-retry: ^4.5.0 rimraf: ^3.0.2 schema-utils: ^4.0.0 - selfsigned: ^2.0.1 + selfsigned: ^2.1.1 serve-index: ^1.9.1 sockjs: ^0.3.24 spdy: ^4.0.2 @@ -36825,7 +37788,7 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: d026e6be63058ba5f881c58c9d49367a26c43d76bb7c2a1d9fb80eeae644099cc098913b4e9f32e2ed89eff0e7cc08e03cae8a1c4e7a1c8f67c5c673ab70761e + checksum: b7601a39ee0f413988259e29a36835b0a68522cfaa161de5b7ec99b3399acdd99d44189add4aaf4a5191258bb130f9cf3e68919324a1955c7557f5fe6ab0d96c languageName: node linkType: hard @@ -37440,10 +38403,10 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.0.0, yaml@npm:^2.1.1": - version: 2.1.1 - resolution: "yaml@npm:2.1.1" - checksum: f48bb209918aa57cfaf78ef6448d1a1f8187f45c746f933268b7023dc59e5456004611879126c9bb5ea55b0a2b1c2b392dfde436931ece0c703a3d754562bb96 +"yaml@npm:^2.0.0, yaml@npm:^2.1.1, yaml@npm:^2.1.3": + version: 2.1.3 + resolution: "yaml@npm:2.1.3" + checksum: 91316062324a93f9cb547469092392e7d004ff8f70c40fecb420f042a4870b2181557350da56c92f07bd44b8f7a252b0be26e6ade1f548e1f4351bdd01c9d3c7 languageName: node linkType: hard @@ -37570,8 +38533,8 @@ __metadata: linkType: hard "yeoman-environment@npm:^3.9.1": - version: 3.10.0 - resolution: "yeoman-environment@npm:3.10.0" + version: 3.12.1 + resolution: "yeoman-environment@npm:3.12.1" dependencies: "@npmcli/arborist": ^4.0.4 are-we-there-yet: ^2.0.0 @@ -37614,7 +38577,7 @@ __metadata: mem-fs-editor: ^8.1.2 || ^9.0.0 bin: yoe: cli/index.js - checksum: 2ab844358d148889285fc9cd68b9eb6660af4721033c86f833ad60a0028bbe8b5c637fa290a1c29f54c4957df53e6c5cd05692c6e25e7d88c9442c9a5f9775dc + checksum: 71e777fcfa4baf26f9848265292447d7283f4bcb0e6b781018c8f8610c47c430e5a331eb0da03491621a7bcdd6ed40a2854c664a4f9f1ceb9ee111def37f52d1 languageName: node linkType: hard @@ -37728,11 +38691,11 @@ __metadata: linkType: hard "zod-to-json-schema@npm:^3.18.1": - version: 3.18.1 - resolution: "zod-to-json-schema@npm:3.18.1" + version: 3.19.1 + resolution: "zod-to-json-schema@npm:3.19.1" peerDependencies: - zod: ^3.18.0 - checksum: e55d0de83b50fbd1caa7541d037858815964477b52a9e6495496e447107386cf16e2c08b007fcfbffd7fbe069ca2c19018425a53eaee36aff5dda942d3db71f4 + zod: ^3.19.0 + checksum: 22c07668e3c28c9d7c9bd3ad04a354ea017b6fc8b4df77ed29d11e42c4c03181612319db374932a1f8b5c37ef861157938dced9d848cad5281ee1540a156995c languageName: node linkType: hard