Merge branch 'backstage:master' into feature/support-aoss
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bumped create-app version.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Add examples for `github:issues:label` scaffolder action & improve related tests
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/cli': minor
|
||||
---
|
||||
|
||||
Update typescript-eslint to 6.7.x, adding compatibility with TypeScript 5.2.
|
||||
|
||||
This includes a major update on typescript-eslint, you can see the details in the [release notes](https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/).
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-app-api': patch
|
||||
---
|
||||
|
||||
Fixed bug in `AppRouter` to determine the correct `signOutTargetUrl` if `app.baseUrl` contains a `basePath`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-app-api': patch
|
||||
---
|
||||
|
||||
The app will now reject any extensions that attach to nonexistent inputs.
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-gitlab': patch
|
||||
---
|
||||
|
||||
fix: use REST API to get root group memberships for GitLab SaaS users listing
|
||||
|
||||
This API is the only one that shows `email` field for enterprise users and
|
||||
allows to filter out bot users not using a license using the `is_using_seat`
|
||||
field.
|
||||
|
||||
We also added the annotation `gitlab.com/saml-external-uid` taking the value
|
||||
of `group_saml_identity.extern_uid` of the `groups/:group-id/members` endpoint
|
||||
response. This is useful in case you want to create a `SignInResolver` that
|
||||
references the user with the id of your identity provider (e.g. OneLogin).
|
||||
|
||||
ref:
|
||||
|
||||
https://docs.gitlab.com/ee/user/enterprise_user/#get-users-email-addresses-through-the-api
|
||||
https://docs.gitlab.com/ee/api/members.html#limitations
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-user-settings': patch
|
||||
---
|
||||
|
||||
Added experimental support for declarative integration via the `/alpha` subpath.
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Make entity picker more reliable with only one available entity
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-app-api': patch
|
||||
---
|
||||
|
||||
Fixed an issue preventing the routing system to match subroutes
|
||||
@@ -0,0 +1,22 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
'@backstage/plugin-catalog-backend-module-gitlab': patch
|
||||
'@backstage/plugin-analytics-module-ga': patch
|
||||
'@backstage/integration-react': patch
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/core-plugin-api': patch
|
||||
'@backstage/backend-common': patch
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
'@backstage/plugin-cicd-statistics': patch
|
||||
'@backstage/catalog-model': patch
|
||||
'@backstage/config-loader': patch
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
'@backstage/integration': patch
|
||||
'@backstage/plugin-tech-radar': patch
|
||||
'@backstage/errors': patch
|
||||
'@backstage/plugin-catalog': patch
|
||||
'@backstage/plugin-ilert': patch
|
||||
---
|
||||
|
||||
Removed some unused dependencies
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-plugin-api': patch
|
||||
---
|
||||
|
||||
Plugins can now be assigned `routes` and `externalRoutes` when created.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-techdocs': minor
|
||||
---
|
||||
|
||||
Added experimental support for declarative integration via the `/alpha` subpath.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@techdocs/cli': minor
|
||||
'@backstage/plugin-techdocs-node': minor
|
||||
---
|
||||
|
||||
Add possibility to use a mkdocs config file with a different name than `mkdocs.<yaml|yml> with the serve command using the `--mkdocs-config-file-name` argument
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/plugin-codescene': patch
|
||||
'@backstage/plugin-graphiql': patch
|
||||
'@backstage/plugin-ilert': patch
|
||||
---
|
||||
|
||||
Internal refactor to avoid using the deprecated `.icon.svg` extension.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-jenkins-backend': patch
|
||||
---
|
||||
|
||||
Added support for the [new backend system](https://backstage.io/docs/backend-system/)
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Request slightly smaller pages of data from GitHub
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/frontend-app-api': patch
|
||||
---
|
||||
|
||||
Added the `bindRoutes` option to `createApp`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
---
|
||||
|
||||
Fixed overflowing messages in `WarningPanel`.
|
||||
+61
-2
@@ -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"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-kubernetes-react': patch
|
||||
---
|
||||
|
||||
Handle mixed decimals and bigint when calculating k8s resource usage
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend-module-gcp-iap-provider': minor
|
||||
---
|
||||
|
||||
**BREAKING** `gcpIapAuthenticator.initialize()` is no longer `async`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/dev-utils': patch
|
||||
---
|
||||
|
||||
Moving development `dependencies` to `devDependencies`
|
||||
@@ -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`.
|
||||
@@ -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`.
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/config-loader': patch
|
||||
---
|
||||
|
||||
Updated dependency `typescript-json-schema` to `^0.61.0`.
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Updated dependency `@typescript-eslint/eslint-plugin` to `6.7.5`.
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Support for the `.icon.svg` extension has been deprecated and will be removed in the future. The implementation of this extension is too tied to a particular version of MUI and the SVGO, and it makes it harder to evolve the build system. We may introduce the ability to reintroduce this kind of functionality in the future through configuration for use in internal plugins, but for now we're forced to remove it.
|
||||
|
||||
To migrate existing code, rename the `.icon.svg` file to `.tsx` and replace the `<svg>` element with `<SvgIcon>` from MUI and add necessary imports. For example:
|
||||
|
||||
```tsx
|
||||
import React from 'react';
|
||||
import SvgIcon from '@material-ui/core/SvgIcon';
|
||||
import { IconComponent } from '@backstage/core-plugin-api';
|
||||
|
||||
export const CodeSceneIcon = (props: SvgIconProps) => (
|
||||
<SvgIcon {...props}>
|
||||
<g>
|
||||
<path d="..." />
|
||||
</g>
|
||||
</SvgIcon>
|
||||
);
|
||||
```
|
||||
@@ -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.
|
||||
@@ -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
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Adds the optional flag for useRedisSets for the Redis cache to the config.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-jenkins': patch
|
||||
---
|
||||
|
||||
Extend EntityJenkinsContent to receive columns as prop
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-github-org': minor
|
||||
---
|
||||
|
||||
Added `catalogModuleGithubOrgEntityProvider` to ingest users and teams from multiple Github organizations.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-newrelic-dashboard': patch
|
||||
---
|
||||
|
||||
Fix the styles for NewRelicDashboard, add more responsiveness
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
---
|
||||
|
||||
Removed `catalogModuleGithubOrgEntityProvider`. Import from `@backstage/plugin-catalog-backend-module-github-org` instead.
|
||||
@@ -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`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
`RepoUrlPickerRepoName` now correctly handles value changes in allowed repos.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bump dev dependencies `lerna@7.3.0` on the template
|
||||
@@ -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.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Add examples for `publish:Azure` scaffolder action.
|
||||
@@ -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
|
||||
@@ -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`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-newrelic-dashboard': minor
|
||||
---
|
||||
|
||||
Add storybook for newrelic-dashboard plugin.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-opencost': patch
|
||||
---
|
||||
|
||||
Fix for broken image reference.
|
||||
@@ -13,6 +13,7 @@ yarn.lock @backstage/maintainers @backst
|
||||
/docs/features/techdocs @backstage/techdocs-maintainers
|
||||
/docs/plugins/integrating-search-into-plugins.md @backstage/discoverability-maintainers
|
||||
/packages/cli/src/commands/onboard @backstage/sharks
|
||||
/packages/backend-openapi-utils @backstage/maintainers @backstage/reviewers @backstage/openapi-tooling-maintainers
|
||||
/packages/techdocs-cli @backstage/techdocs-maintainers
|
||||
/packages/techdocs-cli-embedded-app @backstage/techdocs-maintainers
|
||||
/plugins/adr @backstage/maintainers @backstage/reviewers @kuangp
|
||||
|
||||
@@ -25,6 +25,7 @@ backend's
|
||||
backported
|
||||
backporting
|
||||
BEPs
|
||||
bigint
|
||||
Bigtable
|
||||
Billett
|
||||
bitbucket
|
||||
@@ -453,4 +454,4 @@ zsh
|
||||
Pulumi
|
||||
Lightsail
|
||||
PR
|
||||
rebasing
|
||||
rebasing
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: 'Run analysis'
|
||||
uses: ossf/scorecard-action@08b4669551908b1024bb425080c797723083c031 # v2.2.0
|
||||
uses: ossf/scorecard-action@483ef80eb98fb506c348f7d62e28055e49fe2398 # v2.3.0
|
||||
with:
|
||||
results_file: results.sarif
|
||||
results_format: sarif
|
||||
@@ -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@ddccb873888234080b77e9bc2d4764d5ccaaccf9 # v2.21.9
|
||||
uses: github/codeql-action/upload-sarif@fdcae64e1484d349b3366718cdfef3d404390e85 # v2.22.1
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
+4
-1
@@ -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:
|
||||
|
||||
@@ -95,6 +95,7 @@ Options:
|
||||
--preview-app-bundle-path <PATH_TO_BUNDLE> Preview documentation using a web app other than the included one.
|
||||
--preview-app-port <PORT> Port where the preview will be served.
|
||||
Can only be used with "--preview-app-bundle-path". (default: "3000")
|
||||
-c, --mkdocs-config-file-name <FILENAME> Yaml file to use as config by mkdocs.
|
||||
-v --verbose Enable verbose output. (default: false)
|
||||
-h, --help display help for command
|
||||
```
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -484,30 +484,29 @@ of the build system, including the bundling, tests, builds, and type checking.
|
||||
Loaders are always selected based on the file extension. The following is a list
|
||||
of all supported file extensions:
|
||||
|
||||
| Extension | Exports | Purpose |
|
||||
| ----------- | --------------- | -------------------------------------------------------------------------------------- |
|
||||
| `.ts` | Script Module | TypeScript |
|
||||
| `.tsx` | Script Module | TypeScript and XML |
|
||||
| `.js` | Script Module | JavaScript |
|
||||
| `.jsx` | Script Module | JavaScript and XML |
|
||||
| `.mjs` | Script Module | ECMAScript Module |
|
||||
| `.cjs` | Script Module | CommonJS Module |
|
||||
| `.json` | JSON Data | JSON Data |
|
||||
| `.yml` | JSON Data | YAML Data |
|
||||
| `.yaml` | JSON Data | YAML Data |
|
||||
| `.css` | classes | Style sheet |
|
||||
| `.eot` | URL Path | Font |
|
||||
| `.ttf` | URL Path | Font |
|
||||
| `.woff2` | URL Path | Font |
|
||||
| `.woff` | URL Path | Font |
|
||||
| `.bmp` | URL Path | Image |
|
||||
| `.gif` | URL Path | Image |
|
||||
| `.jpeg` | URL Path | Image |
|
||||
| `.jpg` | URL Path | Image |
|
||||
| `.png` | URL Path | Image |
|
||||
| `.svg` | URL Path | Image |
|
||||
| `.md` | URL Path | Markdown File |
|
||||
| `.icon.svg` | React Component | SVG converted into a [Material UI SvgIcon](https://mui.com/material-ui/icons/#svgicon) |
|
||||
| Extension | Exports | Purpose |
|
||||
| --------- | ------------- | ------------------ |
|
||||
| `.ts` | Script Module | TypeScript |
|
||||
| `.tsx` | Script Module | TypeScript and XML |
|
||||
| `.js` | Script Module | JavaScript |
|
||||
| `.jsx` | Script Module | JavaScript and XML |
|
||||
| `.mjs` | Script Module | ECMAScript Module |
|
||||
| `.cjs` | Script Module | CommonJS Module |
|
||||
| `.json` | JSON Data | JSON Data |
|
||||
| `.yml` | JSON Data | YAML Data |
|
||||
| `.yaml` | JSON Data | YAML Data |
|
||||
| `.css` | classes | Style sheet |
|
||||
| `.eot` | URL Path | Font |
|
||||
| `.ttf` | URL Path | Font |
|
||||
| `.woff2` | URL Path | Font |
|
||||
| `.woff` | URL Path | Font |
|
||||
| `.bmp` | URL Path | Image |
|
||||
| `.gif` | URL Path | Image |
|
||||
| `.jpeg` | URL Path | Image |
|
||||
| `.jpg` | URL Path | Image |
|
||||
| `.png` | URL Path | Image |
|
||||
| `.svg` | URL Path | Image |
|
||||
| `.md` | URL Path | Markdown File |
|
||||
|
||||
## Jest Configuration
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
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`.
|
||||
|
||||

|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||

|
||||
|
||||
## Creating a plugin
|
||||
|
||||
|
||||
@@ -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
@@ -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'
|
||||
|
||||
@@ -73,6 +73,7 @@ module.exports = {
|
||||
// Replace all HTML comments with emtpy strings as these are not supported by MDXv2.
|
||||
return fileContent.replace(/<!--.*?-->/gs, '');
|
||||
},
|
||||
format: 'md',
|
||||
},
|
||||
webpack: {
|
||||
jsLoader: isServer => ({
|
||||
|
||||
@@ -17,28 +17,28 @@
|
||||
"docusaurus": "docusaurus"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "0.0.0-5591",
|
||||
"@docusaurus/module-type-aliases": "0.0.0-5703",
|
||||
"@spotify/prettier-config": "^14.0.0",
|
||||
"@tsconfig/docusaurus": "^1.0.6",
|
||||
"@types/luxon": "^3.0.0",
|
||||
"@types/webpack-env": "^1.18.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"prettier": "^2.6.2",
|
||||
"typescript": "^4.9.4",
|
||||
"typescript": "~5.0.0",
|
||||
"yaml-loader": "^0.8.0"
|
||||
},
|
||||
"prettier": "@spotify/prettier-config",
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "0.0.0-5591",
|
||||
"@docusaurus/plugin-client-redirects": "0.0.0-5591",
|
||||
"@docusaurus/preset-classic": "0.0.0-5591",
|
||||
"@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",
|
||||
"luxon": "^3.0.0",
|
||||
"prism-react-renderer": "^1.3.5",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"sass": "^1.57.1",
|
||||
"swc-loader": "^0.2.3"
|
||||
}
|
||||
|
||||
+2238
-1659
File diff suppressed because it is too large
Load Diff
+2
-1
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
@@ -89,7 +89,6 @@
|
||||
"app-next-example-plugin": "workspace:^",
|
||||
"history": "^5.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-router": "^6.3.0",
|
||||
@@ -99,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",
|
||||
|
||||
@@ -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] });
|
||||
|
||||
@@ -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],
|
||||
});
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "example-app",
|
||||
"version": "0.2.88-next.1",
|
||||
"version": "0.2.88-next.2",
|
||||
"private": true,
|
||||
"backstage": {
|
||||
"role": "frontend"
|
||||
@@ -94,7 +94,6 @@
|
||||
"@roadiehq/backstage-plugin-github-pull-requests": "^2.2.7",
|
||||
"@roadiehq/backstage-plugin-travis-ci": "^2.0.5",
|
||||
"history": "^5.0.0",
|
||||
"prop-types": "^15.7.2",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
"react-router": "^6.3.0",
|
||||
@@ -105,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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -204,6 +204,7 @@ export function loadBackendConfig(options: {
|
||||
remote?: LoadConfigOptionsRemote;
|
||||
argv: string[];
|
||||
additionalConfigs?: AppConfig[];
|
||||
watch?: boolean;
|
||||
}): Promise<{
|
||||
config: Config;
|
||||
}>;
|
||||
|
||||
@@ -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": {
|
||||
|
||||
@@ -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(', ')}`,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -546,6 +546,7 @@ export function loadBackendConfig(options: {
|
||||
remote?: LoadConfigOptionsRemote;
|
||||
additionalConfigs?: AppConfig[];
|
||||
argv: string[];
|
||||
watch?: boolean;
|
||||
}): Promise<Config>;
|
||||
|
||||
// @public (undocumented)
|
||||
|
||||
@@ -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",
|
||||
@@ -94,15 +94,10 @@
|
||||
"logform": "^2.3.2",
|
||||
"luxon": "^3.0.0",
|
||||
"minimatch": "^5.0.0",
|
||||
"minimist": "^1.2.5",
|
||||
"morgan": "^1.10.0",
|
||||
"mysql2": "^2.2.5",
|
||||
"node-fetch": "^2.6.7",
|
||||
"node-forge": "^1.3.1",
|
||||
"pg": "^8.3.0",
|
||||
"raw-body": "^2.4.1",
|
||||
"selfsigned": "^2.0.0",
|
||||
"stoppable": "^1.1.0",
|
||||
"tar": "^6.1.12",
|
||||
"uuid": "^8.3.2",
|
||||
"winston": "^3.2.1",
|
||||
@@ -128,12 +123,7 @@
|
||||
"@types/concat-stream": "^2.0.0",
|
||||
"@types/fs-extra": "^9.0.3",
|
||||
"@types/http-errors": "^2.0.0",
|
||||
"@types/minimist": "^1.2.0",
|
||||
"@types/morgan": "^1.9.0",
|
||||
"@types/node-forge": "^1.3.0",
|
||||
"@types/pg": "^8.6.6",
|
||||
"@types/recursive-readdir": "^2.2.0",
|
||||
"@types/stoppable": "^1.1.0",
|
||||
"@types/supertest": "^2.0.8",
|
||||
"@types/tar": "^6.1.1",
|
||||
"@types/webpack-env": "^1.15.2",
|
||||
@@ -143,7 +133,6 @@
|
||||
"http-errors": "^2.0.0",
|
||||
"msw": "^1.0.0",
|
||||
"mysql2": "^2.2.5",
|
||||
"recursive-readdir": "^2.2.2",
|
||||
"supertest": "^6.1.3"
|
||||
},
|
||||
"files": [
|
||||
|
||||
+56
-22
@@ -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', () => {
|
||||
|
||||
+13
-1
@@ -55,6 +55,7 @@ export class CacheManager {
|
||||
private readonly logger: LoggerService;
|
||||
private readonly store: keyof CacheManager['storeFactories'];
|
||||
private readonly connection: string;
|
||||
private readonly useRedisSets: boolean;
|
||||
private readonly errorHandler: CacheManagerOptions['onError'];
|
||||
|
||||
/**
|
||||
@@ -72,15 +73,24 @@ export class CacheManager {
|
||||
const store = config.getOptionalString('backend.cache.store') || 'memory';
|
||||
const connectionString =
|
||||
config.getOptionalString('backend.cache.connection') || '';
|
||||
const useRedisSets =
|
||||
config.getOptionalBoolean('backend.cache.useRedisSets') ?? true;
|
||||
const logger = (options.logger || getRootLogger()).child({
|
||||
type: 'cacheManager',
|
||||
});
|
||||
return new CacheManager(store, connectionString, logger, options.onError);
|
||||
return new CacheManager(
|
||||
store,
|
||||
connectionString,
|
||||
useRedisSets,
|
||||
logger,
|
||||
options.onError,
|
||||
);
|
||||
}
|
||||
|
||||
private constructor(
|
||||
store: string,
|
||||
connectionString: string,
|
||||
useRedisSets: boolean,
|
||||
logger: LoggerService,
|
||||
errorHandler: CacheManagerOptions['onError'],
|
||||
) {
|
||||
@@ -90,6 +100,7 @@ export class CacheManager {
|
||||
this.logger = logger;
|
||||
this.store = store as keyof CacheManager['storeFactories'];
|
||||
this.connection = connectionString;
|
||||
this.useRedisSets = useRedisSets;
|
||||
this.errorHandler = errorHandler;
|
||||
}
|
||||
|
||||
@@ -143,6 +154,7 @@ export class CacheManager {
|
||||
namespace: pluginId,
|
||||
ttl: defaultTtl,
|
||||
store: new KeyvRedis(this.connection),
|
||||
useRedisSets: this.useRedisSets,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ export async function loadBackendConfig(options: {
|
||||
remote?: LoadConfigOptionsRemote;
|
||||
additionalConfigs?: AppConfig[];
|
||||
argv: string[];
|
||||
watch?: boolean;
|
||||
}): Promise<Config> {
|
||||
const secretEnumerator = await createConfigSecretEnumerator({
|
||||
logger: options.logger,
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @backstage/backend-defaults
|
||||
|
||||
## 0.2.6-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/backend-common@0.19.8-next.2
|
||||
- @backstage/backend-app-api@0.5.6-next.2
|
||||
- @backstage/backend-plugin-api@0.6.6-next.2
|
||||
|
||||
## 0.2.5-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@backstage/backend-defaults",
|
||||
"description": "Backend defaults used by Backstage backend apps",
|
||||
"version": "0.2.5-next.1",
|
||||
"version": "0.2.6-next.2",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"publishConfig": {
|
||||
|
||||
@@ -1,5 +1,44 @@
|
||||
# example-backend-next
|
||||
|
||||
## 0.0.16-next.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies
|
||||
- @backstage/plugin-nomad-backend@0.1.8-next.2
|
||||
- @backstage/plugin-scaffolder-backend@1.18.0-next.2
|
||||
- @backstage/plugin-techdocs-backend@1.8.0-next.2
|
||||
- @backstage/plugin-auth-node@0.4.0-next.2
|
||||
- @backstage/plugin-catalog-backend@1.14.0-next.2
|
||||
- @backstage/plugin-kubernetes-backend@0.12.3-next.2
|
||||
- @backstage/plugin-jenkins-backend@0.2.9-next.2
|
||||
- @backstage/backend-defaults@0.2.6-next.2
|
||||
- @backstage/backend-tasks@0.5.11-next.2
|
||||
- @backstage/plugin-adr-backend@0.4.3-next.2
|
||||
- @backstage/plugin-app-backend@0.3.54-next.2
|
||||
- @backstage/plugin-azure-devops-backend@0.4.3-next.2
|
||||
- @backstage/plugin-badges-backend@0.3.3-next.2
|
||||
- @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.3-next.2
|
||||
- @backstage/plugin-devtools-backend@0.2.3-next.2
|
||||
- @backstage/plugin-entity-feedback-backend@0.2.3-next.2
|
||||
- @backstage/plugin-lighthouse-backend@0.3.3-next.2
|
||||
- @backstage/plugin-linguist-backend@0.5.3-next.2
|
||||
- @backstage/plugin-permission-backend@0.5.29-next.2
|
||||
- @backstage/plugin-permission-backend-module-allow-all-policy@0.1.3-next.2
|
||||
- @backstage/plugin-permission-node@0.7.17-next.2
|
||||
- @backstage/plugin-playlist-backend@0.3.10-next.2
|
||||
- @backstage/plugin-proxy-backend@0.4.3-next.2
|
||||
- @backstage/plugin-search-backend@1.4.6-next.2
|
||||
- @backstage/plugin-search-backend-module-catalog@0.1.10-next.2
|
||||
- @backstage/plugin-search-backend-module-explore@0.1.10-next.2
|
||||
- @backstage/plugin-search-backend-module-techdocs@0.1.10-next.2
|
||||
- @backstage/plugin-search-backend-node@1.2.10-next.2
|
||||
- @backstage/plugin-sonarqube-backend@0.2.8-next.2
|
||||
- @backstage/plugin-todo-backend@0.3.4-next.2
|
||||
- @backstage/backend-plugin-api@0.6.6-next.2
|
||||
- @backstage/plugin-catalog-backend-module-unprocessed@0.3.3-next.2
|
||||
- @backstage/plugin-permission-common@0.7.9-next.0
|
||||
|
||||
## 0.0.16-next.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user