Merge remote-tracking branch 'origin/master' into configure-template

This commit is contained in:
Bogdan Nechyporenko
2023-10-16 14:01:06 +02:00
812 changed files with 15494 additions and 3630 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Bumped create-app version.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add examples for `github:issues:label` scaffolder action & improve related tests
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
In frontend builds and tests `process.env.HAS_REACT_DOM_CLIENT` will now be defined if `react-dom/client` is present, i.e. if using React 18. This allows for conditional imports of `react-dom/client`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-app-api': patch
---
Fixed bug in `AppRouter` to determine the correct `signOutTargetUrl` if `app.baseUrl` contains a `basePath`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
The app will now reject any extensions that attach to nonexistent inputs.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-catalog': patch
'@backstage/plugin-techdocs': patch
---
The `spec.lifecycle' field in entities will now always be rendered as a string.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-user-settings': patch
---
Added experimental support for declarative integration via the `/alpha` subpath.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Preserve time execution for a non-running task
+1 -1
View File
@@ -2,6 +2,6 @@
'@backstage/cli': minor
---
The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior, set `LEGACY_BACKEND_START` instead.
**BREAKING** The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior set `LEGACY_BACKEND_START`, which is recommended if you haven't migrated to the new backend system.
This new command is no longer based on Webpack, but instead uses Node.js loaders to transpile on the fly. Rather than hot reloading modules the entire backend is now restarted on change, but the SQLite database state is still maintained across restarts via a parent process.
+11
View File
@@ -0,0 +1,11 @@
---
'@backstage/plugin-scaffolder-backend': minor
---
Updated `publish:gitlab` action properties to support additional Gitlab project settings:
- general project settings provided by gitlab project create API (new `settings` property)
- branch level settings to create additional branches and make them protected (new `branches` property)
- project level environment variables settings (new `projectVariables` property)
Marked existed properties `repoVisibility` and `topics` as deprecated, as they are covered by `settings` property.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-node': minor
---
**BREAKING**: The recently introduced `ProxyAuthenticator.initialize()` method is no longer `async` to match the way the OAuth equivalent is implemented.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-catalog-graphql': minor
'@backstage/plugin-graphql-backend': minor
---
This package has been deprecated, consider using [@frontside/backstage-plugin-graphql-backend](https://www.npmjs.com/package/@frontside/backstage-plugin-graphql-backend) instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder': patch
---
Make entity picker more reliable with only one available entity
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
Fixed an issue preventing the routing system to match subroutes
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Plugins can now be assigned `routes` and `externalRoutes` when created.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-techdocs': minor
---
Added experimental support for declarative integration via the `/alpha` subpath.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes-node': minor
'@backstage/plugin-kubernetes-backend': patch
---
A new plugin has been introduced to house the extension points for Kubernetes backend plugin; at the moment only the `KubernetesObjectsProviderExtensionPoint` is present. The `kubernetes-backend` plugin was modified to use this new extension point.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-jenkins-backend': patch
---
Added support for the [new backend system](https://backstage.io/docs/backend-system/)
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/cli': patch
---
Request slightly smaller pages of data from GitHub
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': patch
---
Added the `bindRoutes` option to `createApp`.
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/plugin-jenkins-backend': minor
'@backstage/plugin-jenkins': minor
---
Added JobRunTable Component.
Added new Route and extended Api to get buildJobs.
Actions column has a new icon button, clicking on which takes us to page where we
can see all the job runs.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Fixed overflowing messages in `WarningPanel`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-code-coverage': patch
---
The warning for missing code coverage will now render the entity as a reference.
+61 -2
View File
@@ -246,52 +246,84 @@
"@backstage/plugin-vault-backend": "0.3.8",
"@backstage/plugin-xcmetrics": "0.2.43",
"@backstage/e2e-test-utils": "0.0.0",
"@backstage/plugin-kubernetes-react": "0.0.0"
"@backstage/plugin-kubernetes-react": "0.0.0",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.0.0",
"@backstage/plugin-catalog-backend-module-github-org": "0.0.0",
"@backstage/plugin-kubernetes-cluster": "0.0.0",
"@backstage/plugin-kubernetes-node": "0.0.0"
},
"changesets": [
"angry-badgers-beg",
"angry-clocks-exercise",
"big-spies-beam",
"breezy-dryers-thank",
"calm-carpets-kiss",
"calm-scissors-rescue",
"chatty-papayas-care",
"clean-forks-love",
"cold-bees-jam",
"cold-seas-repeat",
"create-app-1696937840",
"dirty-doors-wave",
"dull-bugs-build",
"dull-dolls-explode",
"dull-experts-kiss",
"dull-laws-camp",
"early-toes-develop",
"eight-melons-cough",
"eight-spiders-fold",
"eight-suns-tan",
"eighty-actors-type",
"empty-schools-check",
"fair-frogs-enjoy",
"flat-pandas-tan",
"flat-rules-rush",
"four-jars-protect",
"four-onions-clap",
"four-pans-sin",
"fresh-badgers-study",
"fresh-kangaroos-tap",
"fuzzy-pillows-remain",
"gentle-elephants-fold",
"gentle-spies-deny",
"great-walls-brake",
"happy-books-smoke",
"healthy-laws-divide",
"heavy-forks-tie",
"heavy-ladybugs-leave",
"itchy-bobcats-fly",
"itchy-monkeys-reply",
"itchy-rabbits-exist",
"khaki-tools-tease",
"large-balloons-brush",
"large-comics-knock",
"late-papayas-push",
"lazy-doors-wink",
"lemon-cups-wait",
"lemon-masks-greet",
"little-ligers-cheat",
"loud-hotels-hunt",
"lovely-coins-occur",
"lovely-fans-sniff",
"many-pianos-bow",
"many-swans-eat",
"mean-dancers-burn",
"metal-peas-beam",
"moody-lobsters-rescue",
"nasty-needles-hear",
"nervous-hounds-sleep",
"nice-clocks-smash",
"nice-dancers-explain",
"nice-ghosts-build",
"nine-flies-move",
"nine-garlics-attend",
"odd-pants-sleep",
"olive-cars-rescue",
"olive-geese-rest",
"perfect-pumas-protect",
"perfect-shrimps-attend",
"plenty-llamas-double",
"plenty-toys-cheer",
"polite-cooks-perform",
"polite-donuts-fail",
"polite-trainers-grin",
@@ -301,31 +333,58 @@
"purple-chefs-wait",
"purple-forks-fetch",
"quick-weeks-explode",
"rare-pants-reply",
"red-bees-try",
"red-geese-clean",
"renovate-7d08f6a",
"renovate-a1c52e8",
"rotten-rings-confess",
"serious-pants-lie",
"serious-penguins-tease",
"short-terms-check",
"shy-clouds-reflect",
"shy-seas-sip",
"silent-years-bake",
"silly-swans-invent",
"six-weeks-raise",
"slow-dodos-remember",
"small-books-deliver",
"small-pugs-build",
"smooth-rings-mate",
"spicy-chairs-film",
"spicy-poets-sell",
"spotty-badgers-wash",
"stale-eagles-reply",
"stale-stingrays-explode",
"strange-dodos-film",
"strong-falcons-tickle",
"stupid-drinks-trade",
"stupid-eagles-shave",
"swift-steaks-fetch",
"tame-trainers-visit",
"tasty-avocados-hope",
"tasty-doors-switch",
"ten-seals-wait",
"tender-pears-work",
"thirty-coins-sneeze",
"tiny-garlics-cheer",
"twelve-clouds-design",
"twelve-days-walk",
"twenty-bags-sin",
"twenty-carrots-smile",
"two-dingos-dream",
"two-terms-play",
"unlucky-experts-breathe",
"violet-apes-beam",
"violet-beers-cross",
"warm-drinks-argue",
"wet-olives-wave",
"wet-timers-chew",
"wicked-rings-flash",
"wild-jobs-greet",
"wild-queens-grab",
"yellow-numbers-own",
"yellow-rings-invent"
"yellow-rings-invent",
"young-toes-knock"
]
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-components': patch
---
Fixed the type declaration of `DependencyGraphProps`, the `defs` prop now expects `JSX.Element`s.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-react': patch
---
Handle mixed decimals and bigint when calculating k8s resource usage
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-gcp-iap-provider': minor
---
**BREAKING** `gcpIapAuthenticator.initialize()` is no longer `async`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/dev-utils': patch
---
Moving development `dependencies` to `devDependencies`
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/backend-common': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-common': patch
'@backstage/plugin-kubernetes': patch
---
Updated dependency `@kubernetes/client-node` to `0.19.0`.
+104
View File
@@ -0,0 +1,104 @@
---
'@backstage/app-defaults': patch
'@backstage/core-app-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/dev-utils': patch
'@backstage/frontend-app-api': patch
'@backstage/frontend-plugin-api': patch
'@backstage/integration-react': patch
'@backstage/test-utils': patch
'@backstage/version-bridge': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-airbrake': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-analytics-module-ga4': patch
'@backstage/plugin-analytics-module-newrelic-browser': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-api-docs-module-protoc-gen-doc': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-bazaar': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-catalog-unprocessed-entities': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-codescene': patch
'@backstage/plugin-config-schema': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-devtools': patch
'@backstage/plugin-dynatrace': patch
'@backstage/plugin-entity-feedback': patch
'@backstage/plugin-entity-validation': 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-voyager': patch
'@backstage/plugin-home-react': patch
'@backstage/plugin-home': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-kubernetes-cluster': patch
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-linguist': patch
'@backstage/plugin-microsoft-calendar': patch
'@backstage/plugin-newrelic-dashboard': patch
'@backstage/plugin-newrelic': patch
'@backstage/plugin-nomad': patch
'@backstage/plugin-octopus-deploy': patch
'@backstage/plugin-opencost': patch
'@backstage/plugin-org-react': patch
'@backstage/plugin-org': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-playlist': patch
'@backstage/plugin-puppetdb': patch
'@backstage/plugin-rollbar': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-search-react': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-shortcuts': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-stackstorm': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-techdocs-react': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-vault': patch
'@backstage/plugin-xcmetrics': patch
---
Updated dependency `@testing-library/jest-dom` to `^6.0.0`.
+86
View File
@@ -0,0 +1,86 @@
---
'@backstage/core-app-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/dev-utils': patch
'@backstage/integration-react': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-airbrake': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-analytics-module-ga4': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-code-climate': 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-entity-feedback': patch
'@backstage/plugin-entity-validation': 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-voyager': patch
'@backstage/plugin-home-react': patch
'@backstage/plugin-home': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-kubernetes-cluster': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-linguist': patch
'@backstage/plugin-microsoft-calendar': patch
'@backstage/plugin-newrelic': patch
'@backstage/plugin-octopus-deploy': patch
'@backstage/plugin-org-react': patch
'@backstage/plugin-org': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-playlist': patch
'@backstage/plugin-rollbar': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-search-react': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-shortcuts': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-stackstorm': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-techdocs': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-vault': patch
'@backstage/plugin-xcmetrics': patch
---
Updated dependency `@testing-library/dom` to `^9.0.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/config-loader': patch
---
Updated dependency `typescript-json-schema` to `^0.61.0`.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kubernetes': patch
---
Updated dependency `xterm-addon-attach` to `^0.9.0`.
Updated dependency `xterm-addon-fit` to `^0.8.0`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Updated dependency `@typescript-eslint/eslint-plugin` to `6.7.5`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
The scaffolder-module template now recommends usage of `createMockDirectory` instead of `mock-fs`.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/dev-utils': patch
'@backstage/plugin-techdocs': patch
---
Added support for React 18. The new `createRoot` API from `react-dom/client` will now be used if present.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/core-app-api': patch
---
Fixed a bug in `TranslationApi` implementation where in some cases it wouldn't notify subscribers of language changes.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-backend-module-pinniped-provider': minor
---
Add new Pinniped auth module and authenticator to be used alongside the new Pinniped auth provider.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-kubernetes-backend': minor
---
**BREAKING** Allow passing undefined `labelSelector` to `KubernetesFetcher`
`KubernetesFetch` no longer auto-adds `labelSelector` when empty string was passed.
This is only applicable if you have custom ObjectProvider implementation, as build-in `KubernetesFanOutHandler` already does this
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-plugin-api': patch
---
Added `createExtensionOverrides` which can be used to install a collection of extensions in an app that will replace any existing ones.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': minor
---
The hidden `'root'` extension has been removed and has instead been made an input of the `'core'` extension. The checks for rejecting configuration of the `'root'` extension to rejects configuration of the `'core'` extension instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-common': patch
---
Adds the optional flag for useRedisSets for the Redis cache to the config.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-jenkins': patch
---
Extend EntityJenkinsContent to receive columns as prop
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/config-loader': patch
'@backstage/backend-app-api': patch
---
Added `watch` option to configuration loaders that can be used to disable file watching by setting it to `false`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-github-org': minor
---
Added `catalogModuleGithubOrgEntityProvider` to ingest users and teams from multiple Github organizations.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-react': patch
---
The `spec.type` field in entities will now always be rendered as a string.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-newrelic-dashboard': patch
---
Fix the styles for NewRelicDashboard, add more responsiveness
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-auth-backend-module-microsoft-provider': minor
'@backstage/plugin-auth-backend': patch
---
Migrated the Microsoft auth provider to new `@backstage/plugin-auth-backend-module-microsoft-provider` module package.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-github': patch
---
Removed `catalogModuleGithubOrgEntityProvider`. Import from `@backstage/plugin-catalog-backend-module-github-org` instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/frontend-app-api': minor
---
Added support for installing `ExtensionOverrides` via `createApp` options. As part of this change the `plugins` option has been renamed to `features`, and the `pluginLoader` has been renamed to `featureLoader`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-import': patch
---
The `app.title` configuration is now properly required to be a string.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Bump dev dependencies `lerna@7.3.0` on the template
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-backend': patch
---
Set the default length limit to search query to 100. To override it, define `search.maxTermLength` in the config file.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend': patch
---
Add examples for `publish:Azure` scaffolder action.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-github-issues': patch
---
Filters out entities that belonged to a different github instance other than the one configured by the plugin
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-newrelic-dashboard': patch
---
Fixed React Warning: "Each child in a list should have a unique 'key' prop" during the rendering of `EntityNewRelicDashboardCard`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search-react': patch
---
The filter options passed to `SearchResultGroupLayout` are now always explicitly rendered as strings by default.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-search': patch
---
Minor internal code cleanup.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-newrelic-dashboard': minor
---
Add storybook for newrelic-dashboard plugin.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-auth-node': patch
---
Adding optional audience parameter to OAuthState type declaration
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-opencost': patch
---
Fix for broken image reference.
+2
View File
@@ -70,6 +70,8 @@ yarn.lock @backstage/maintainers @backst
/plugins/playlist-* @backstage/maintainers @backstage/reviewers @kuangp
/plugins/rollbar @backstage/maintainers @backstage/reviewers @andrewthauer
/plugins/rollbar-backend @backstage/maintainers @backstage/reviewers @andrewthauer
/plugins/scaffolder @backstage/maintainers @backstage/reviewers @backstage/scaffolder-maintainers
/plugins/scaffolder-* @backstage/maintainers @backstage/reviewers @backstage/scaffolder-maintainers
/plugins/search @backstage/discoverability-maintainers
/plugins/search-* @backstage/discoverability-maintainers
/plugins/sonarqube @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
+2 -1
View File
@@ -25,6 +25,7 @@ backend's
backported
backporting
BEPs
bigint
Bigtable
Billett
bitbucket
@@ -453,4 +454,4 @@ zsh
Pulumi
Lightsail
PR
rebasing
rebasing
+1 -1
View File
@@ -61,6 +61,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: 'Upload to code-scanning'
uses: github/codeql-action/upload-sarif@2cb752a87e96af96708ab57187ab6372ee1973ab # v2.22.0
uses: github/codeql-action/upload-sarif@fdcae64e1484d349b3366718cdfef3d404390e85 # v2.22.1
with:
sarif_file: results.sarif
+4 -1
View File
@@ -159,4 +159,7 @@ e2e-test-report/
# VS Code backing up svg files
*svg.bkp
*svg.dtmp
*svg.dtmp
# Scripts
plugins-report.csv
Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Before

Width:  |  Height:  |  Size: 293 KiB

After

Width:  |  Height:  |  Size: 293 KiB

@@ -44,6 +44,20 @@ When multiple `catalog-info.yaml` files with the same `metadata.name` property
are discovered, one will be processed and all others will be skipped. This
action is logged for further investigation.
### Local File (`type: file`) Configurations
In addition to url locations, you can use the `file` location type to bring in content from the local file system. You should only use this for local development, test setups and example data, not for production data.
You are also not able to use placeholders in them like `$text`. You can however reference other files relative to the current file. See the full [catalog example data set here](https://github.com/backstage/backstage/tree/master/packages/catalog-model/examples) for an extensive example.
Here is an example pulling in the `all.yaml` file from the examples folder. Note the use of `../../` to go up two levels from the current execution path of the backend. This is typically `packages/backend/`.
```yaml
catalog:
locations:
- type: file
target: ../../examples/all.yaml
```
### Integration Processors
Integrations may simply provide a mechanism to handle `url` location type for an
@@ -447,6 +447,9 @@ want to have an isomorphic package that houses these types. Within the Backstage
main repo the package naming pattern of `<plugin>-common` is used for isomorphic
packages, and you may choose to adopt this pattern as well.
You can generate an isomorphic plugin package by running:`yarn new --select plugin-common`
or you can run `yarn new` and then select "plugin-common" from the list of options
There's at this point no existing templates for generating isomorphic plugins
using the `@backstage/cli`. Perhaps the simplest wat to get started right now is
to copy the contents of one of the existing packages in the main repository,
@@ -110,10 +110,11 @@ parameters:
arrayObjects:
title: Array with custom objects
type: array
minItems: 0
ui:options:
addable: false
orderable: false
removable: false
addable: true
orderable: true
removable: true
items:
type: object
properties:
+33
View File
@@ -525,6 +525,39 @@ techdocs:
This way, all iframes where the host in the src attribute is in the
`sanitizer.allowedIframeHosts` list will be displayed.
## How to render PlantUML diagram in TechDocs
PlantUML allows you to create diagrams from plain text language. Each diagram description begins with the keyword - (@startXYZ and @endXYZ, depending on the kind of diagram). For UML Diagrams, Keywords @startuml & @enduml should be used. Further details for all types of diagrams can be found at [PlantUML Language Reference Guide](https://plantuml.com/guide).
### UML Diagram Details:-
#### Embedded PlantUML Diagram Example
Here, the markdown file itself contains the diagram description.
````md
```plantuml
@startuml
title Login Sequence
ComponentA->ComponentB: Login Request
note right of ComponentB: ComponentB logs message
ComponentB->ComponentA: Login Response
@enduml
```
````
#### Referenced PlantUML Diagram Example
Here, the markdown file refers to another file (_.puml or _.pu) which contains the diagram description.
````md
```plantuml
!include umldiagram.puml
```
````
Note: To refer external diagram files, we need to include the diagrams directory in the path. Please refer [`Dockerfile`](https://github.com/backstage/techdocs-container/blob/main/Dockerfile) for details.
## How to add Mermaid support in TechDocs
To add `Mermaid` support in TechDocs, you can use [`kroki`](https://kroki.io)
+3
View File
@@ -323,8 +323,11 @@ backend:
cache:
store: redis
connection: redis://user:pass@cache.example.com:6379
useRedisSets: true
```
The useRedisSets flag is explained [here](https://github.com/jaredwray/keyv/tree/main/packages/redis#useredissets).
Contributions supporting other cache stores are welcome!
## Containerization
+11 -3
View File
@@ -8,7 +8,7 @@ A Backstage Plugin adds functionality to Backstage.
## Create a Plugin
To create a new plugin, make sure you've run `yarn install` and installed
To create a new frontend plugin, make sure you've run `yarn install` and installed
dependencies, then run the following on your command line (a shortcut to
invoking the
[`backstage-cli new --select plugin`](../local-dev/cli-commands.md#new))
@@ -18,7 +18,7 @@ from the root of your project.
yarn new --select plugin
```
![](../assets/getting-started/create-plugin_output.png)
![Example of output when creating a new plugin](../assets/getting-started/create-plugin_output.png)
This will create a new Backstage Plugin based on the ID that was provided. It
will be built and added to the Backstage App automatically.
@@ -27,7 +27,7 @@ will be built and added to the Backstage App automatically.
> should be able to see the default page for your new plugin directly by
> navigating to `http://localhost:3000/my-plugin`.
![](../assets/my-plugin_screenshot.png)
![Example of new plugin running in browser](../assets/plugins/my-plugin_screenshot.png)
You can also serve the plugin in isolation by running `yarn start` in the plugin
directory. Or by using the yarn workspace command, for example:
@@ -39,3 +39,11 @@ yarn workspace @backstage/plugin-my-plugin start # Also supports --check
This method of serving the plugin provides quicker iteration speed and a faster
startup and hot reloads. It is only meant for local development, and the setup
for it can be found inside the plugin's `dev/` directory.
### Other Plugin Library Package Types
There are other plugin library package types that you can chose from. To be able to
select the type when you create a new plugin just run: `yarn new`. You'll then be asked
what type of plugin you wish to create like this:
![List of available plugin types to pick from](../assets/plugins/create-plugin_types.png)
+1 -1
View File
@@ -12,7 +12,7 @@ development tool as a plugin in Backstage. By following strong
[design guidelines](../dls/design.md) we ensure the overall user experience
stays consistent between plugins.
![plugin](../assets/my-plugin_screenshot.png)
![plugin](../assets/plugins/my-plugin_screenshot.png)
## Creating a plugin
+1 -1
View File
@@ -12,7 +12,7 @@ A huge thanks to the whole team of maintainers and contributors as well as the a
### <title>
<short description>. Contributed by [@<user>](https://github.com/<user>) [#<pr>](https://github.com/backstage/backstage/pull/<pr>)
<short description>. Contributed by [@<user>](https://github.com/<user>) in [#<pr>](https://github.com/backstage/backstage/pull/<pr>)
## Security Fixes
+1 -1
View File
@@ -4,7 +4,7 @@
### Minor Changes
- 7077dbf131: The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior, set `LEGACY_BACKEND_START` instead.
- 7077dbf131: **BREAKING** The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior set `LEGACY_BACKEND_START`, which is recommended if you haven't migrated to the new backend system.
This new command is no longer based on Webpack, but instead uses Node.js loaders to transpile on the fly. Rather than hot reloading modules the entire backend is now restarted on change, but the SQLite database state is still maintained across restarts via a parent process.
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -1,13 +1,15 @@
---
title: Dynatrace
author: TELUS
authorUrl: https://github.com/telus
author: Dynatrace
authorUrl: https://github.com/dynatrace
category: Monitoring
description: View monitoring info from Dynatrace for services in your software catalog.
documentation: https://github.com/backstage/backstage/tree/master/plugins/dynatrace
iconUrl: /img/dynatrace.svg
npmPackageName: '@backstage/plugin-dynatrace'
tags:
- dynatrace
- monitoring
- observability
- alerting
- problems
addedDate: '2022-06-23'
+4 -4
View File
@@ -17,7 +17,7 @@
"docusaurus": "docusaurus"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "0.0.0-5701",
"@docusaurus/module-type-aliases": "0.0.0-5703",
"@spotify/prettier-config": "^14.0.0",
"@tsconfig/docusaurus": "^1.0.6",
"@types/luxon": "^3.0.0",
@@ -29,9 +29,9 @@
},
"prettier": "@spotify/prettier-config",
"dependencies": {
"@docusaurus/core": "0.0.0-5701",
"@docusaurus/plugin-client-redirects": "0.0.0-5701",
"@docusaurus/preset-classic": "0.0.0-5701",
"@docusaurus/core": "0.0.0-5703",
"@docusaurus/plugin-client-redirects": "0.0.0-5703",
"@docusaurus/preset-classic": "0.0.0-5703",
"@swc/core": "^1.3.46",
"clsx": "^1.1.1",
"docusaurus-plugin-sass": "^0.2.3",
+642 -195
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -13,6 +13,7 @@
"build:api-reports": "yarn build:api-reports:only --tsc",
"build:api-reports:only": "backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags",
"build:api-docs": "LANG=en_EN yarn build:api-reports --docs",
"build:plugins-report": "node ./scripts/build-plugins-report",
"tsc": "tsc",
"tsc:full": "backstage-cli repo clean && tsc --skipLibCheck false --incremental false",
"clean": "backstage-cli repo clean",
@@ -51,7 +52,7 @@
"jest-haste-map@^29.4.3": "patch:jest-haste-map@npm%3A29.4.3#./.yarn/patches/jest-haste-map-npm-29.4.3-19b03fcef3.patch",
"mock-fs@^5.2.0": "patch:mock-fs@npm%3A5.2.0#./.yarn/patches/mock-fs-npm-5.2.0-5103a7b507.patch"
},
"version": "1.19.0-next.1",
"version": "1.19.0-next.2",
"dependencies": {
"@backstage/errors": "workspace:^",
"@manypkg/get-packages": "^1.1.3"
+11
View File
@@ -1,5 +1,16 @@
# @backstage/app-defaults
## 1.4.4-next.2
### Patch Changes
- Updated dependencies
- @backstage/core-app-api@1.11.0-next.2
- @backstage/core-components@0.13.6-next.2
- @backstage/core-plugin-api@1.7.0-next.1
- @backstage/theme@0.4.3-next.0
- @backstage/plugin-permission-react@0.4.16-next.1
## 1.4.4-next.1
### Patch Changes
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/app-defaults",
"description": "Provides the default wiring of a Backstage App",
"version": "1.4.4-next.1",
"version": "1.4.4-next.2",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
@@ -49,7 +49,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/test-utils": "workspace:^",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^12.1.3",
"@types/react": "^16.13.1 || ^17.0.0"
},
@@ -1,5 +1,13 @@
# app-next-example-plugin
## 0.0.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/frontend-plugin-api@0.2.0-next.2
- @backstage/core-components@0.13.6-next.2
## 0.0.2-next.1
### Patch Changes
@@ -3,11 +3,13 @@
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
import { AnyExternalRoutes } from '@backstage/core-plugin-api';
import { AnyRoutes } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
import { default as React_2 } from 'react';
// @public (undocumented)
const examplePlugin: BackstagePlugin;
const examplePlugin: BackstagePlugin<AnyRoutes, AnyExternalRoutes>;
export default examplePlugin;
// @public (undocumented)
@@ -1,7 +1,7 @@
{
"name": "app-next-example-plugin",
"description": "Backstage internal example plugin",
"version": "0.0.2-next.1",
"version": "0.0.2-next.2",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
+77
View File
@@ -1,5 +1,82 @@
# example-app-next
## 0.0.2-next.2
### Patch Changes
- Updated dependencies
- @backstage/cli@0.23.0-next.2
- @backstage/frontend-plugin-api@0.2.0-next.2
- @backstage/frontend-app-api@0.2.0-next.2
- @backstage/core-app-api@1.11.0-next.2
- @backstage/plugin-techdocs@1.7.1-next.2
- @backstage/plugin-newrelic@0.3.41-next.2
- @backstage/plugin-scaffolder@1.15.1-next.2
- @backstage/integration-react@1.1.20-next.2
- @backstage/core-components@0.13.6-next.2
- @backstage/core-plugin-api@1.7.0-next.1
- @backstage/catalog-model@1.4.3-next.0
- @backstage/plugin-catalog-react@1.8.5-next.2
- @backstage/plugin-tech-radar@0.6.9-next.2
- @backstage/plugin-catalog@1.14.0-next.2
- @backstage/plugin-adr@0.6.8-next.2
- @backstage/plugin-graphiql@0.2.55-next.2
- @backstage/plugin-search-react@1.7.1-next.2
- @backstage/plugin-newrelic-dashboard@0.3.0-next.2
- @backstage/plugin-kubernetes@0.11.0-next.2
- @backstage/theme@0.4.3-next.0
- @backstage/plugin-jenkins@0.8.7-next.2
- @backstage/plugin-tech-insights@0.3.17-next.2
- @backstage/plugin-playlist@0.1.17-next.2
- @backstage/app-defaults@1.4.4-next.2
- app-next-example-plugin@0.0.2-next.2
- @backstage/config@1.1.1-next.0
- @backstage/plugin-airbrake@0.3.25-next.2
- @backstage/plugin-apache-airflow@0.2.16-next.2
- @backstage/plugin-api-docs@0.9.12-next.2
- @backstage/plugin-azure-devops@0.3.7-next.2
- @backstage/plugin-azure-sites@0.1.14-next.2
- @backstage/plugin-badges@0.2.49-next.2
- @backstage/plugin-catalog-common@1.0.17-next.0
- @backstage/plugin-catalog-graph@0.2.37-next.2
- @backstage/plugin-catalog-import@0.10.1-next.2
- @backstage/plugin-catalog-unprocessed-entities@0.1.4-next.2
- @backstage/plugin-circleci@0.3.25-next.2
- @backstage/plugin-cloudbuild@0.3.25-next.2
- @backstage/plugin-code-coverage@0.2.18-next.2
- @backstage/plugin-cost-insights@0.12.14-next.2
- @backstage/plugin-devtools@0.1.5-next.2
- @backstage/plugin-dynatrace@7.0.5-next.2
- @backstage/plugin-entity-feedback@0.2.8-next.2
- @backstage/plugin-explore@0.4.11-next.2
- @backstage/plugin-gcalendar@0.3.19-next.2
- @backstage/plugin-gcp-projects@0.3.42-next.2
- @backstage/plugin-github-actions@0.6.6-next.2
- @backstage/plugin-gocd@0.1.31-next.2
- @backstage/plugin-home@0.5.9-next.2
- @backstage/plugin-kafka@0.3.25-next.2
- @backstage/plugin-lighthouse@0.4.10-next.2
- @backstage/plugin-linguist@0.1.10-next.2
- @backstage/plugin-linguist-common@0.1.2
- @backstage/plugin-microsoft-calendar@0.1.8-next.2
- @backstage/plugin-octopus-deploy@0.2.7-next.2
- @backstage/plugin-org@0.6.15-next.2
- @backstage/plugin-pagerduty@0.6.6-next.2
- @backstage/plugin-permission-react@0.4.16-next.1
- @backstage/plugin-puppetdb@0.1.8-next.2
- @backstage/plugin-rollbar@0.4.25-next.2
- @backstage/plugin-scaffolder-react@1.5.6-next.2
- @backstage/plugin-search@1.4.1-next.2
- @backstage/plugin-search-common@1.2.7-next.0
- @backstage/plugin-sentry@0.5.10-next.2
- @backstage/plugin-shortcuts@0.3.15-next.2
- @backstage/plugin-stack-overflow@0.1.21-next.2
- @backstage/plugin-stackstorm@0.1.7-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.1-next.2
- @backstage/plugin-techdocs-react@1.1.12-next.2
- @backstage/plugin-todo@0.2.28-next.2
- @backstage/plugin-user-settings@0.7.11-next.2
## 0.0.2-next.1
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "example-app-next",
"version": "0.0.2-next.1",
"version": "0.0.2-next.2",
"private": true,
"backstage": {
"role": "frontend"
@@ -98,8 +98,8 @@
},
"devDependencies": {
"@backstage/test-utils": "workspace:^",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/dom": "^9.0.0",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jquery": "^3.3.34",
+28 -9
View File
@@ -14,10 +14,18 @@
* limitations under the License.
*/
import React from 'react';
import { createApp } from '@backstage/frontend-app-api';
import { pagesPlugin } from './examples/pagesPlugin';
import graphiqlPlugin from '@backstage/plugin-graphiql/alpha';
import techRadarPlugin from '@backstage/plugin-tech-radar/alpha';
import userSettingsPlugin from '@backstage/plugin-user-settings/alpha';
import {
createExtensionOverrides,
createPageExtension,
} from '@backstage/frontend-plugin-api';
import { entityRouteRef } from '@backstage/plugin-catalog-react';
import techdocsPlugin from '@backstage/plugin-techdocs/alpha';
/*
@@ -48,16 +56,27 @@ TODO:
/* app.tsx */
const entityPageExtension = createPageExtension({
id: 'catalog:entity',
defaultPath: '/catalog/:namespace/:kind/:name',
routeRef: entityRouteRef,
loader: async () => <div>Just a temporary mocked entity page</div>,
});
const app = createApp({
plugins: [graphiqlPlugin, pagesPlugin, techRadarPlugin],
// bindRoutes({ bind }) {
// bind(catalogPlugin.externalRoutes, {
// createComponent: scaffolderPlugin.routes.root,
// });
// bind(scaffolderPlugin.externalRoutes, {
// registerComponent: catalogImportPlugin.routes.importPage,
// });
// },
features: [
graphiqlPlugin,
pagesPlugin,
techRadarPlugin,
techdocsPlugin,
userSettingsPlugin,
createExtensionOverrides({
extensions: [entityPageExtension],
}),
],
bindRoutes({ bind }) {
bind(pagesPlugin.externalRoutes, { pageX: pagesPlugin.routes.pageX });
},
});
// const legacyApp = createLegacyApp({ plugins: [legacyGraphiqlPlugin] });
+40 -2
View File
@@ -20,11 +20,17 @@ import {
createPageExtension,
createPlugin,
} from '@backstage/frontend-plugin-api';
import { useRouteRef, createRouteRef } from '@backstage/core-plugin-api';
import {
useRouteRef,
createRouteRef,
createExternalRouteRef,
} from '@backstage/core-plugin-api';
import { Route, Routes } from 'react-router-dom';
const indexRouteRef = createRouteRef({ id: 'index' });
const page1RouteRef = createRouteRef({ id: 'page1' });
export const externalPageXRouteRef = createExternalRouteRef({ id: 'pageX' });
export const pageXRouteRef = createRouteRef({ id: 'pageX' });
// const page2RouteRef = createSubRouteRef({
// id: 'page2',
// parent: page1RouteRef,
@@ -50,6 +56,9 @@ const IndexPage = createPageExtension({
<div>
<Link to="/search">Search</Link>
</div>
<div>
<Link to="/settings">Settings</Link>
</div>
</div>
);
};
@@ -64,6 +73,7 @@ const Page1 = createPageExtension({
loader: async () => {
const Component = () => {
const indexLink = useRouteRef(indexRouteRef);
const xLink = useRouteRef(externalPageXRouteRef);
// const page2Link = useRouteRef(page2RouteRef);
return (
@@ -72,6 +82,7 @@ const Page1 = createPageExtension({
<Link to={indexLink()}>Go back</Link>
<Link to="./page2">Page 2</Link>
{/* <Link to={page2Link()}>Page 2</Link> */}
<Link to={xLink()}>Page X</Link>
<div>
Sub-page content:
@@ -89,6 +100,26 @@ const Page1 = createPageExtension({
},
});
const ExternalPage = createPageExtension({
id: 'pageX',
defaultPath: '/pageX',
routeRef: pageXRouteRef,
loader: async () => {
const Component = () => {
const indexLink = useRouteRef(indexRouteRef);
// const pageXLink = useRouteRef(pageXRouteRef);
return (
<div>
<h1>This is page X</h1>
<Link to={indexLink()}>Go back</Link>
</div>
);
};
return <Component />;
},
});
export const pagesPlugin = createPlugin({
id: 'pages',
// routes: {
@@ -98,5 +129,12 @@ export const pagesPlugin = createPlugin({
// // OR
// // 'page1'
// },
extensions: [IndexPage, Page1],
routes: {
page1: page1RouteRef,
pageX: pageXRouteRef,
},
externalRoutes: {
pageX: externalPageXRouteRef,
},
extensions: [IndexPage, Page1, ExternalPage],
});
+77
View File
@@ -1,5 +1,82 @@
# example-app
## 0.2.88-next.2
### Patch Changes
- Updated dependencies
- @backstage/cli@0.23.0-next.2
- @backstage/frontend-app-api@0.2.0-next.2
- @backstage/core-app-api@1.11.0-next.2
- @backstage/plugin-techdocs@1.7.1-next.2
- @backstage/plugin-newrelic@0.3.41-next.2
- @backstage/plugin-scaffolder@1.15.1-next.2
- @backstage/integration-react@1.1.20-next.2
- @backstage/core-components@0.13.6-next.2
- @backstage/core-plugin-api@1.7.0-next.1
- @backstage/catalog-model@1.4.3-next.0
- @backstage/plugin-catalog-react@1.8.5-next.2
- @backstage/plugin-tech-radar@0.6.9-next.2
- @backstage/plugin-catalog@1.14.0-next.2
- @backstage/plugin-adr@0.6.8-next.2
- @backstage/plugin-graphiql@0.2.55-next.2
- @backstage/plugin-search-react@1.7.1-next.2
- @backstage/plugin-newrelic-dashboard@0.3.0-next.2
- @backstage/plugin-kubernetes-cluster@0.0.1-next.0
- @backstage/plugin-kubernetes@0.11.0-next.2
- @backstage/theme@0.4.3-next.0
- @backstage/plugin-jenkins@0.8.7-next.2
- @backstage/plugin-tech-insights@0.3.17-next.2
- @backstage/plugin-playlist@0.1.17-next.2
- @backstage/app-defaults@1.4.4-next.2
- @backstage/config@1.1.1-next.0
- @backstage/plugin-airbrake@0.3.25-next.2
- @backstage/plugin-apache-airflow@0.2.16-next.2
- @backstage/plugin-api-docs@0.9.12-next.2
- @backstage/plugin-azure-devops@0.3.7-next.2
- @backstage/plugin-azure-sites@0.1.14-next.2
- @backstage/plugin-badges@0.2.49-next.2
- @backstage/plugin-catalog-common@1.0.17-next.0
- @backstage/plugin-catalog-graph@0.2.37-next.2
- @backstage/plugin-catalog-import@0.10.1-next.2
- @backstage/plugin-catalog-unprocessed-entities@0.1.4-next.2
- @backstage/plugin-circleci@0.3.25-next.2
- @backstage/plugin-cloudbuild@0.3.25-next.2
- @backstage/plugin-code-coverage@0.2.18-next.2
- @backstage/plugin-cost-insights@0.12.14-next.2
- @backstage/plugin-devtools@0.1.5-next.2
- @backstage/plugin-dynatrace@7.0.5-next.2
- @backstage/plugin-entity-feedback@0.2.8-next.2
- @backstage/plugin-explore@0.4.11-next.2
- @backstage/plugin-gcalendar@0.3.19-next.2
- @backstage/plugin-gcp-projects@0.3.42-next.2
- @backstage/plugin-github-actions@0.6.6-next.2
- @backstage/plugin-gocd@0.1.31-next.2
- @backstage/plugin-home@0.5.9-next.2
- @backstage/plugin-kafka@0.3.25-next.2
- @backstage/plugin-lighthouse@0.4.10-next.2
- @backstage/plugin-linguist@0.1.10-next.2
- @backstage/plugin-linguist-common@0.1.2
- @backstage/plugin-microsoft-calendar@0.1.8-next.2
- @backstage/plugin-nomad@0.1.6-next.2
- @backstage/plugin-octopus-deploy@0.2.7-next.2
- @backstage/plugin-org@0.6.15-next.2
- @backstage/plugin-pagerduty@0.6.6-next.2
- @backstage/plugin-permission-react@0.4.16-next.1
- @backstage/plugin-puppetdb@0.1.8-next.2
- @backstage/plugin-rollbar@0.4.25-next.2
- @backstage/plugin-scaffolder-react@1.5.6-next.2
- @backstage/plugin-search@1.4.1-next.2
- @backstage/plugin-search-common@1.2.7-next.0
- @backstage/plugin-sentry@0.5.10-next.2
- @backstage/plugin-shortcuts@0.3.15-next.2
- @backstage/plugin-stack-overflow@0.1.21-next.2
- @backstage/plugin-stackstorm@0.1.7-next.2
- @backstage/plugin-techdocs-module-addons-contrib@1.1.1-next.2
- @backstage/plugin-techdocs-react@1.1.12-next.2
- @backstage/plugin-todo@0.2.28-next.2
- @backstage/plugin-user-settings@0.7.11-next.2
## 0.2.88-next.1
### Patch Changes
+3 -3
View File
@@ -1,6 +1,6 @@
{
"name": "example-app",
"version": "0.2.88-next.1",
"version": "0.2.88-next.2",
"private": true,
"backstage": {
"role": "frontend"
@@ -104,8 +104,8 @@
"devDependencies": {
"@backstage/test-utils": "workspace:^",
"@playwright/test": "^1.32.3",
"@testing-library/dom": "^8.0.0",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/dom": "^9.0.0",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.0.0",
"@types/jquery": "^3.3.34",
+19
View File
@@ -1,5 +1,24 @@
# @backstage/backend-app-api
## 0.5.6-next.2
### Patch Changes
- 74491c9602: Moved `HostDiscovery` from `@backstage/backend-common`.
- a4617c422a: Added `watch` option to configuration loaders that can be used to disable file watching by setting it to `false`.
- Updated dependencies
- @backstage/backend-common@0.19.8-next.2
- @backstage/plugin-auth-node@0.4.0-next.2
- @backstage/config-loader@1.5.1-next.1
- @backstage/errors@1.2.3-next.0
- @backstage/backend-tasks@0.5.11-next.2
- @backstage/plugin-permission-node@0.7.17-next.2
- @backstage/backend-plugin-api@0.6.6-next.2
- @backstage/cli-common@0.1.13-next.0
- @backstage/cli-node@0.1.5-next.1
- @backstage/config@1.1.1-next.0
- @backstage/types@1.1.1
## 0.5.5-next.1
### Patch Changes
+1
View File
@@ -204,6 +204,7 @@ export function loadBackendConfig(options: {
remote?: LoadConfigOptionsRemote;
argv: string[];
additionalConfigs?: AppConfig[];
watch?: boolean;
}): Promise<{
config: Config;
}>;
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-app-api",
"description": "Core API used by Backstage backend apps",
"version": "0.5.5-next.1",
"version": "0.5.6-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
+29 -23
View File
@@ -72,6 +72,7 @@ export async function loadBackendConfig(options: {
remote?: LoadConfigOptionsRemote;
argv: string[];
additionalConfigs?: AppConfig[];
watch?: boolean;
}): Promise<{ config: Config }> {
const args = parseArgs(options.argv);
@@ -89,30 +90,35 @@ export async function loadBackendConfig(options: {
configRoot: paths.targetRoot,
configTargets: configTargets,
remote: options.remote,
watch: {
onChange(newConfigs) {
console.info(
`Reloaded config from ${newConfigs.map(c => c.context).join(', ')}`,
);
const configsToMerge = [...newConfigs];
if (options.additionalConfigs) {
configsToMerge.push(...options.additionalConfigs);
}
config.setConfig(ConfigReader.fromConfigs(configsToMerge));
},
stopSignal: new Promise(resolve => {
if (currentCancelFunc) {
currentCancelFunc();
}
currentCancelFunc = resolve;
watch:
options.watch ?? true
? {
onChange(newConfigs) {
console.info(
`Reloaded config from ${newConfigs
.map(c => c.context)
.join(', ')}`,
);
const configsToMerge = [...newConfigs];
if (options.additionalConfigs) {
configsToMerge.push(...options.additionalConfigs);
}
config.setConfig(ConfigReader.fromConfigs(configsToMerge));
},
stopSignal: new Promise(resolve => {
if (currentCancelFunc) {
currentCancelFunc();
}
currentCancelFunc = resolve;
// TODO(Rugvip): We keep this here for now to avoid breaking the old system
// since this is re-used in backend-common
if (module.hot) {
module.hot.addDisposeHandler(resolve);
}
}),
},
// TODO(Rugvip): We keep this here for now to avoid breaking the old system
// since this is re-used in backend-common
if (module.hot) {
module.hot.addDisposeHandler(resolve);
}
}),
}
: undefined,
});
console.info(
`Loaded config from ${appConfigs.map(c => c.context).join(', ')}`,
+21
View File
@@ -1,5 +1,26 @@
# @backstage/backend-common
## 0.19.8-next.2
### Patch Changes
- 74491c9602: The `HostDiscovery` export has been deprecated, import it from `@backstage/backend-app-api` instead.
- b95d66d4ea: Properly close write stream when writing temporary archive for processing zip-based `.readTree()` responses.
- 0b55f773a7: Removed some unused dependencies
- 4c39e38f1e: Added `/testUtils` entry point, with a utility for mocking resolve package paths as returned by `resolvePackagePath`.
- a250ad775f: Removed `mock-fs` dev dependency.
- Updated dependencies
- @backstage/config-loader@1.5.1-next.1
- @backstage/integration@1.7.1-next.1
- @backstage/errors@1.2.3-next.0
- @backstage/backend-app-api@0.5.6-next.2
- @backstage/backend-dev-utils@0.1.2-next.0
- @backstage/backend-plugin-api@0.6.6-next.2
- @backstage/cli-common@0.1.13-next.0
- @backstage/config@1.1.1-next.0
- @backstage/integration-aws-node@0.1.7-next.0
- @backstage/types@1.1.1
## 0.19.7-next.1
### Patch Changes
+1
View File
@@ -546,6 +546,7 @@ export function loadBackendConfig(options: {
remote?: LoadConfigOptionsRemote;
additionalConfigs?: AppConfig[];
argv: string[];
watch?: boolean;
}): Promise<Config>;
// @public (undocumented)
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
"version": "0.19.7-next.1",
"version": "0.19.8-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
@@ -67,7 +67,7 @@
"@google-cloud/storage": "^6.0.0",
"@keyv/memcache": "^1.3.5",
"@keyv/redis": "^2.5.3",
"@kubernetes/client-node": "0.18.1",
"@kubernetes/client-node": "0.19.0",
"@manypkg/get-packages": "^1.1.3",
"@octokit/rest": "^19.0.3",
"@types/cors": "^2.8.6",
+56 -22
View File
@@ -48,8 +48,10 @@ describe('CacheManager', () => {
describe('CacheManager.fromConfig', () => {
it('accesses the backend.cache key', () => {
const getOptionalString = jest.fn();
const getOptionalBoolean = jest.fn();
const config = defaultConfig();
config.getOptionalString = getOptionalString;
config.getOptionalBoolean = getOptionalBoolean;
CacheManager.fromConfig(config);
@@ -57,6 +59,9 @@ describe('CacheManager', () => {
expect(getOptionalString.mock.calls[1][0]).toEqual(
'backend.cache.connection',
);
expect(getOptionalBoolean.mock.calls[0][0]).toEqual(
'backend.cache.useRedisSets',
);
});
it('does not require the backend.cache key', () => {
@@ -195,32 +200,61 @@ describe('CacheManager', () => {
const mockMemcacheCalls = memcache.mock.calls.splice(-1);
expect(mockMemcacheCalls[0][0]).toEqual(expectedHost);
});
});
it('returns a Redis client when configured', () => {
const redisConnection = 'redis://127.0.0.1:6379';
const manager = CacheManager.fromConfig(
new ConfigReader({
backend: {
cache: {
store: 'redis',
connection: redisConnection,
it('returns a Redis client when configured', () => {
const redisConnection = 'redis://127.0.0.1:6379';
const manager = CacheManager.fromConfig(
new ConfigReader({
backend: {
cache: {
store: 'redis',
connection: redisConnection,
},
},
},
}),
);
const expectedTtl = 3600;
manager.forPlugin('test').getClient({ defaultTtl: expectedTtl });
}),
);
const expectedTtl = 3600;
manager.forPlugin('test').getClient({ defaultTtl: expectedTtl });
const cache = Keyv as unknown as jest.Mock;
const mockCacheCalls = cache.mock.calls.splice(-1);
expect(mockCacheCalls[0][0]).toMatchObject({
ttl: expectedTtl,
const cache = Keyv as unknown as jest.Mock;
const mockCacheCalls = cache.mock.calls.splice(-1);
expect(mockCacheCalls[0][0]).toMatchObject({
ttl: expectedTtl,
});
expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvRedis);
const redis = KeyvRedis as unknown as jest.Mock;
const mockRedisCalls = redis.mock.calls.splice(-1);
expect(mockRedisCalls[0][0]).toEqual(redisConnection);
});
it('returns a Redis client when configured with useRedisSets flag', () => {
const redisConnection = 'redis://127.0.0.1:6379';
const useRedisSets = false;
const manager = CacheManager.fromConfig(
new ConfigReader({
backend: {
cache: {
store: 'redis',
connection: redisConnection,
useRedisSets: useRedisSets,
},
},
}),
);
const expectedTtl = 3600;
manager.forPlugin('test').getClient({ defaultTtl: expectedTtl });
const cache = Keyv as unknown as jest.Mock;
const mockCacheCalls = cache.mock.calls.splice(-1);
expect(mockCacheCalls[0][0]).toMatchObject({
ttl: expectedTtl,
useRedisSets: useRedisSets,
});
expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvRedis);
const redis = KeyvRedis as unknown as jest.Mock;
const mockRedisCalls = redis.mock.calls.splice(-1);
expect(mockRedisCalls[0][0]).toEqual(redisConnection);
});
expect(mockCacheCalls[0][0].store).toBeInstanceOf(KeyvRedis);
const redis = KeyvRedis as unknown as jest.Mock;
const mockRedisCalls = redis.mock.calls.splice(-1);
expect(mockRedisCalls[0][0]).toEqual(redisConnection);
});
describe('connection errors', () => {

Some files were not shown because too many files have changed in this diff Show More