Merge branch 'master' into feat/EntityListComponent-uses-CatalogAPI

This commit is contained in:
NIKUNJ LALITKUMAR HUDKA
2024-04-20 12:40:59 -03:00
309 changed files with 2050 additions and 10483 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/create-app': patch
---
Removed `packages/backend/src/types.ts` from the template as it is unused. It was mistakenly left in after moving the template to the new backend system.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-pagerduty': patch
---
This plugin has been deprecated, consider using [@pagerduty/backstage-plugin](https://github.com/pagerduty/backstage-plugin) instead
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Both the target and types library have been bumped from ES2021 to ES2022 in `@backstage/cli/config/tsconfig.json`.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-app-api': patch
---
Move the JWKS registration outside of the lifecycle middleware
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Add support for `versions:migrate` to do code changes. Can be skipped with `--no-code-changes`
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/cli': patch
---
Add preserveModules to rollup, which allows better async loading and tree-shaking in webpack
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-todo': patch
'@backstage/plugin-todo-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-adr': patch
'@backstage/plugin-adr-backend': patch
'@backstage/plugin-adr-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-airbrake': patch
'@backstage/plugin-airbrake-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-allure': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-analytics-module-ga4': patch
'@backstage/plugin-analytics-module-newrelic-browser': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-apache-airflow': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-apollo-explorer': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-azure-devops-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-azure-sites-backend': patch
'@backstage/plugin-azure-sites-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-badges': patch
'@backstage/plugin-badges-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-bazaar': patch
'@backstage/plugin-bazaar-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-bitrise': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-cicd-statistics': patch
'@backstage/plugin-cicd-statistics-module-gitlab': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-circleci': patch
---
This package has been deprecated in favour of the [Circle-CI](https://github.com/CircleCI-Public/backstage-plugin) plugin. Please migrate to that plugin instead.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-cloudbuild': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-code-climate': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-code-coverage-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-codescene': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-cost-insights-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-dynatrace': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-entity-feedback': patch
'@backstage/plugin-entity-feedback-backend': patch
'@backstage/plugin-entity-feedback-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-entity-validation': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+8
View File
@@ -0,0 +1,8 @@
---
'@backstage/plugin-explore': patch
'@backstage/plugin-explore-backend': patch
'@backstage/plugin-explore-common': patch
'@backstage/plugin-explore-react': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-firehydrant': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-fossa': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-gcalendar': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-gcp-projects': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-git-release-manager': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-github-actions': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-github-deployments': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-github-issues': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-github-pull-requests-board': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-gitops-profiles': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-gocd': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-graphiql': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-graphql-voyager': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-ilert': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-jenkins': patch
'@backstage/plugin-jenkins-backend': patch
'@backstage/plugin-jenkins-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-kafka': patch
'@backstage/plugin-kafka-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-lighthouse-backend': patch
'@backstage/plugin-lighthouse-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-microsoft-calendar': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-newrelic': patch
'@backstage/plugin-newrelic-dashboard': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-octopus-deploy': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-opencost': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-periskop': patch
'@backstage/plugin-periskop-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-playlist': patch
'@backstage/plugin-playlist-backend': patch
'@backstage/plugin-playlist-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-puppetdb': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-rollbar': patch
'@backstage/plugin-rollbar-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-sentry': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-shortcuts': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-sonarqube-backend': patch
'@backstage/plugin-sonarqube-react': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-splunk-on-call': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-stack-overflow-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-stackstorm': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+9
View File
@@ -0,0 +1,9 @@
---
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-tech-insights-backend': patch
'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
'@backstage/plugin-tech-insights-common': patch
'@backstage/plugin-tech-insights-node': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-vault': patch
'@backstage/plugin-vault-backend': patch
'@backstage/plugin-vault-node': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-xcmetrics': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-tech-radar': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+6
View File
@@ -0,0 +1,6 @@
---
'@backstage/plugin-nomad': patch
'@backstage/plugin-nomad-backend': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+7
View File
@@ -0,0 +1,7 @@
---
'@backstage/plugin-linguist': patch
'@backstage/plugin-linguist-backend': patch
'@backstage/plugin-linguist-common': patch
---
These packages have been migrated to the [backstage/community-plugins](https://github.com/backstage/community-plugins) repository.
+287
View File
@@ -0,0 +1,287 @@
{
"mode": "pre",
"tag": "next",
"initialVersions": {
"example-app": "0.2.96",
"@backstage/app-defaults": "1.5.4",
"example-app-next": "0.0.10",
"app-next-example-plugin": "0.0.10",
"example-backend": "0.2.97",
"@backstage/backend-app-api": "0.7.0",
"@backstage/backend-common": "0.21.7",
"@backstage/backend-defaults": "0.2.17",
"@backstage/backend-dev-utils": "0.1.4",
"@backstage/backend-dynamic-feature-service": "0.2.9",
"example-backend-next": "0.0.25",
"@backstage/backend-openapi-utils": "0.1.10",
"@backstage/backend-plugin-api": "0.6.17",
"@backstage/backend-tasks": "0.5.22",
"@backstage/backend-test-utils": "0.3.7",
"@backstage/catalog-client": "1.6.4",
"@backstage/catalog-model": "1.4.5",
"@backstage/cli": "0.26.3",
"@backstage/cli-common": "0.1.13",
"@backstage/cli-node": "0.2.5",
"@backstage/codemods": "0.1.48",
"@backstage/config": "1.2.0",
"@backstage/config-loader": "1.8.0",
"@backstage/core-app-api": "1.12.4",
"@backstage/core-compat-api": "0.2.4",
"@backstage/core-components": "0.14.4",
"@backstage/core-plugin-api": "1.9.2",
"@backstage/create-app": "0.5.14",
"@backstage/dev-utils": "1.0.31",
"e2e-test": "0.2.15",
"@backstage/e2e-test-utils": "0.1.1",
"@backstage/errors": "1.2.4",
"@backstage/eslint-plugin": "0.1.7",
"@backstage/frontend-app-api": "0.6.4",
"@backstage/frontend-plugin-api": "0.6.4",
"@backstage/frontend-test-utils": "0.1.6",
"@backstage/integration": "1.10.0",
"@backstage/integration-aws-node": "0.1.12",
"@backstage/integration-react": "1.1.26",
"@backstage/release-manifests": "0.0.11",
"@backstage/repo-tools": "0.8.0",
"@techdocs/cli": "1.8.9",
"techdocs-cli-embedded-app": "0.2.95",
"@backstage/test-utils": "1.5.4",
"@backstage/theme": "0.5.3",
"@backstage/types": "1.1.1",
"@backstage/version-bridge": "1.0.8",
"@backstage/plugin-adr": "0.6.17",
"@backstage/plugin-adr-backend": "0.4.14",
"@backstage/plugin-adr-common": "0.2.22",
"@backstage/plugin-airbrake": "0.3.34",
"@backstage/plugin-airbrake-backend": "0.3.14",
"@backstage/plugin-allure": "0.1.50",
"@backstage/plugin-analytics-module-ga": "0.2.4",
"@backstage/plugin-analytics-module-ga4": "0.2.4",
"@backstage/plugin-analytics-module-newrelic-browser": "0.1.4",
"@backstage/plugin-apache-airflow": "0.2.24",
"@backstage/plugin-api-docs": "0.11.4",
"@backstage/plugin-api-docs-module-protoc-gen-doc": "0.1.6",
"@backstage/plugin-apollo-explorer": "0.2.0",
"@backstage/plugin-app-backend": "0.3.65",
"@backstage/plugin-app-node": "0.1.17",
"@backstage/plugin-app-visualizer": "0.1.5",
"@backstage/plugin-auth-backend": "0.22.4",
"@backstage/plugin-auth-backend-module-atlassian-provider": "0.1.9",
"@backstage/plugin-auth-backend-module-aws-alb-provider": "0.1.9",
"@backstage/plugin-auth-backend-module-azure-easyauth-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-bitbucket-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-cloudflare-access-provider": "0.1.0",
"@backstage/plugin-auth-backend-module-gcp-iap-provider": "0.2.12",
"@backstage/plugin-auth-backend-module-github-provider": "0.1.14",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.1.14",
"@backstage/plugin-auth-backend-module-google-provider": "0.1.14",
"@backstage/plugin-auth-backend-module-guest-provider": "0.1.3",
"@backstage/plugin-auth-backend-module-microsoft-provider": "0.1.12",
"@backstage/plugin-auth-backend-module-oauth2-provider": "0.1.14",
"@backstage/plugin-auth-backend-module-oauth2-proxy-provider": "0.1.10",
"@backstage/plugin-auth-backend-module-oidc-provider": "0.1.8",
"@backstage/plugin-auth-backend-module-okta-provider": "0.0.10",
"@backstage/plugin-auth-backend-module-pinniped-provider": "0.1.11",
"@backstage/plugin-auth-backend-module-vmware-cloud-provider": "0.1.9",
"@backstage/plugin-auth-node": "0.4.12",
"@backstage/plugin-auth-react": "0.1.0",
"@backstage/plugin-azure-devops": "0.4.3",
"@backstage/plugin-azure-devops-backend": "0.6.4",
"@backstage/plugin-azure-devops-common": "0.4.1",
"@backstage/plugin-azure-sites": "0.1.23",
"@backstage/plugin-azure-sites-backend": "0.3.4",
"@backstage/plugin-azure-sites-common": "0.1.3",
"@backstage/plugin-badges": "0.2.58",
"@backstage/plugin-badges-backend": "0.4.0",
"@backstage/plugin-bazaar": "0.2.26",
"@backstage/plugin-bazaar-backend": "0.3.15",
"@backstage/plugin-bitbucket-cloud-common": "0.2.18",
"@backstage/plugin-bitrise": "0.1.61",
"@backstage/plugin-catalog": "1.19.0",
"@backstage/plugin-catalog-backend": "1.21.1",
"@backstage/plugin-catalog-backend-module-aws": "0.3.12",
"@backstage/plugin-catalog-backend-module-azure": "0.1.37",
"@backstage/plugin-catalog-backend-module-backstage-openapi": "0.2.0",
"@backstage/plugin-catalog-backend-module-bitbucket-cloud": "0.2.4",
"@backstage/plugin-catalog-backend-module-bitbucket-server": "0.1.31",
"@backstage/plugin-catalog-backend-module-gcp": "0.1.18",
"@backstage/plugin-catalog-backend-module-gerrit": "0.1.34",
"@backstage/plugin-catalog-backend-module-github": "0.6.0",
"@backstage/plugin-catalog-backend-module-github-org": "0.1.12",
"@backstage/plugin-catalog-backend-module-gitlab": "0.3.15",
"@backstage/plugin-catalog-backend-module-incremental-ingestion": "0.4.22",
"@backstage/plugin-catalog-backend-module-ldap": "0.5.33",
"@backstage/plugin-catalog-backend-module-msgraph": "0.5.25",
"@backstage/plugin-catalog-backend-module-openapi": "0.1.35",
"@backstage/plugin-catalog-backend-module-puppetdb": "0.1.23",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.1.15",
"@backstage/plugin-catalog-backend-module-unprocessed": "0.4.4",
"@backstage/plugin-catalog-common": "1.0.22",
"@backstage/plugin-catalog-graph": "0.4.4",
"@backstage/plugin-catalog-import": "0.10.10",
"@backstage/plugin-catalog-node": "1.11.1",
"@backstage/plugin-catalog-react": "1.11.3",
"@backstage/plugin-catalog-unprocessed-entities": "0.2.3",
"@backstage/plugin-catalog-unprocessed-entities-common": "0.0.1",
"@backstage/plugin-cicd-statistics": "0.1.36",
"@backstage/plugin-cicd-statistics-module-gitlab": "0.1.30",
"@backstage/plugin-circleci": "0.3.34",
"@backstage/plugin-cloudbuild": "0.5.1",
"@backstage/plugin-code-climate": "0.1.34",
"@backstage/plugin-code-coverage": "0.2.27",
"@backstage/plugin-code-coverage-backend": "0.2.31",
"@backstage/plugin-codescene": "0.1.26",
"@backstage/plugin-config-schema": "0.1.54",
"@backstage/plugin-cost-insights": "0.12.23",
"@backstage/plugin-cost-insights-common": "0.1.2",
"@backstage/plugin-devtools": "0.1.13",
"@backstage/plugin-devtools-backend": "0.3.3",
"@backstage/plugin-devtools-common": "0.1.9",
"@backstage/plugin-dynatrace": "10.0.3",
"@backstage/plugin-entity-feedback": "0.2.17",
"@backstage/plugin-entity-feedback-backend": "0.2.14",
"@backstage/plugin-entity-feedback-common": "0.1.3",
"@backstage/plugin-entity-validation": "0.1.19",
"@backstage/plugin-events-backend": "0.3.4",
"@backstage/plugin-events-backend-module-aws-sqs": "0.3.3",
"@backstage/plugin-events-backend-module-azure": "0.2.3",
"@backstage/plugin-events-backend-module-bitbucket-cloud": "0.2.3",
"@backstage/plugin-events-backend-module-gerrit": "0.2.3",
"@backstage/plugin-events-backend-module-github": "0.2.3",
"@backstage/plugin-events-backend-module-gitlab": "0.2.3",
"@backstage/plugin-events-backend-test-utils": "0.1.27",
"@backstage/plugin-events-node": "0.3.3",
"@internal/plugin-todo-list": "1.0.26",
"@internal/plugin-todo-list-backend": "1.0.26",
"@internal/plugin-todo-list-common": "1.0.18",
"@backstage/plugin-explore": "0.4.20",
"@backstage/plugin-explore-backend": "0.0.27",
"@backstage/plugin-explore-common": "0.0.2",
"@backstage/plugin-explore-react": "0.0.38",
"@backstage/plugin-firehydrant": "0.2.18",
"@backstage/plugin-fossa": "0.2.66",
"@backstage/plugin-gcalendar": "0.3.27",
"@backstage/plugin-gcp-projects": "0.3.50",
"@backstage/plugin-git-release-manager": "0.3.46",
"@backstage/plugin-github-actions": "0.6.15",
"@backstage/plugin-github-deployments": "0.1.65",
"@backstage/plugin-github-issues": "0.4.1",
"@backstage/plugin-github-pull-requests-board": "0.2.0",
"@backstage/plugin-gitops-profiles": "0.3.49",
"@backstage/plugin-gocd": "0.1.40",
"@backstage/plugin-graphiql": "0.3.7",
"@backstage/plugin-graphql-voyager": "0.1.16",
"@backstage/plugin-home": "0.7.3",
"@backstage/plugin-home-react": "0.1.12",
"@backstage/plugin-ilert": "0.2.23",
"@backstage/plugin-jenkins": "0.9.9",
"@backstage/plugin-jenkins-backend": "0.4.4",
"@backstage/plugin-jenkins-common": "0.1.25",
"@backstage/plugin-kafka": "0.3.34",
"@backstage/plugin-kafka-backend": "0.3.15",
"@backstage/plugin-kubernetes": "0.11.9",
"@backstage/plugin-kubernetes-backend": "0.17.0",
"@backstage/plugin-kubernetes-cluster": "0.0.10",
"@backstage/plugin-kubernetes-common": "0.7.5",
"@backstage/plugin-kubernetes-node": "0.1.11",
"@backstage/plugin-kubernetes-react": "0.3.4",
"@backstage/plugin-lighthouse": "0.4.19",
"@backstage/plugin-lighthouse-backend": "0.4.10",
"@backstage/plugin-lighthouse-common": "0.1.5",
"@backstage/plugin-linguist": "0.1.19",
"@backstage/plugin-linguist-backend": "0.5.15",
"@backstage/plugin-linguist-common": "0.1.2",
"@backstage/plugin-microsoft-calendar": "0.1.16",
"@backstage/plugin-newrelic": "0.3.49",
"@backstage/plugin-newrelic-dashboard": "0.3.9",
"@backstage/plugin-nomad": "0.1.15",
"@backstage/plugin-nomad-backend": "0.1.19",
"@backstage/plugin-notifications": "0.2.0",
"@backstage/plugin-notifications-backend": "0.2.0",
"@backstage/plugin-notifications-common": "0.0.3",
"@backstage/plugin-notifications-node": "0.1.3",
"@backstage/plugin-octopus-deploy": "0.2.16",
"@backstage/plugin-opencost": "0.2.9",
"@backstage/plugin-org": "0.6.24",
"@backstage/plugin-org-react": "0.1.23",
"@backstage/plugin-pagerduty": "0.7.6",
"@backstage/plugin-periskop": "0.1.32",
"@backstage/plugin-periskop-backend": "0.2.15",
"@backstage/plugin-permission-backend": "0.5.41",
"@backstage/plugin-permission-backend-module-allow-all-policy": "0.1.14",
"@backstage/plugin-permission-common": "0.7.13",
"@backstage/plugin-permission-node": "0.7.28",
"@backstage/plugin-permission-react": "0.4.22",
"@backstage/plugin-playlist": "0.2.8",
"@backstage/plugin-playlist-backend": "0.3.21",
"@backstage/plugin-playlist-common": "0.1.15",
"@backstage/plugin-proxy-backend": "0.4.15",
"@backstage/plugin-puppetdb": "0.1.17",
"@backstage/plugin-rollbar": "0.4.34",
"@backstage/plugin-rollbar-backend": "0.1.62",
"@backstage/plugin-scaffolder": "1.19.3",
"@backstage/plugin-scaffolder-backend": "1.22.4",
"@backstage/plugin-scaffolder-backend-module-azure": "0.1.9",
"@backstage/plugin-scaffolder-backend-module-bitbucket": "0.2.7",
"@backstage/plugin-scaffolder-backend-module-bitbucket-cloud": "0.1.7",
"@backstage/plugin-scaffolder-backend-module-bitbucket-server": "0.1.7",
"@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "0.2.18",
"@backstage/plugin-scaffolder-backend-module-cookiecutter": "0.2.41",
"@backstage/plugin-scaffolder-backend-module-gerrit": "0.1.9",
"@backstage/plugin-scaffolder-backend-module-gitea": "0.1.7",
"@backstage/plugin-scaffolder-backend-module-github": "0.2.7",
"@backstage/plugin-scaffolder-backend-module-gitlab": "0.3.3",
"@backstage/plugin-scaffolder-backend-module-rails": "0.4.34",
"@backstage/plugin-scaffolder-backend-module-sentry": "0.1.25",
"@backstage/plugin-scaffolder-backend-module-yeoman": "0.3.0",
"@backstage/plugin-scaffolder-common": "1.5.1",
"@backstage/plugin-scaffolder-node": "0.4.3",
"@backstage/plugin-scaffolder-node-test-utils": "0.1.3",
"@backstage/plugin-scaffolder-react": "1.8.4",
"@backstage/plugin-search": "1.4.10",
"@backstage/plugin-search-backend": "1.5.7",
"@backstage/plugin-search-backend-module-catalog": "0.1.22",
"@backstage/plugin-search-backend-module-elasticsearch": "1.4.0",
"@backstage/plugin-search-backend-module-explore": "0.1.21",
"@backstage/plugin-search-backend-module-pg": "0.5.26",
"@backstage/plugin-search-backend-module-stack-overflow-collator": "0.1.10",
"@backstage/plugin-search-backend-module-techdocs": "0.1.22",
"@backstage/plugin-search-backend-node": "1.2.21",
"@backstage/plugin-search-common": "1.2.11",
"@backstage/plugin-search-react": "1.7.10",
"@backstage/plugin-sentry": "0.5.19",
"@backstage/plugin-shortcuts": "0.3.23",
"@backstage/plugin-signals": "0.0.5",
"@backstage/plugin-signals-backend": "0.1.3",
"@backstage/plugin-signals-node": "0.1.3",
"@backstage/plugin-signals-react": "0.0.3",
"@backstage/plugin-sonarqube": "0.7.16",
"@backstage/plugin-sonarqube-backend": "0.2.19",
"@backstage/plugin-sonarqube-react": "0.1.15",
"@backstage/plugin-splunk-on-call": "0.4.23",
"@backstage/plugin-stack-overflow": "0.1.29",
"@backstage/plugin-stack-overflow-backend": "0.2.21",
"@backstage/plugin-stackstorm": "0.1.15",
"@backstage/plugin-tech-insights": "0.3.26",
"@backstage/plugin-tech-insights-backend": "0.5.31",
"@backstage/plugin-tech-insights-backend-module-jsonfc": "0.1.49",
"@backstage/plugin-tech-insights-common": "0.2.12",
"@backstage/plugin-tech-insights-node": "0.6.0",
"@backstage/plugin-tech-radar": "0.7.3",
"@backstage/plugin-techdocs": "1.10.4",
"@backstage/plugin-techdocs-addons-test-utils": "1.0.31",
"@backstage/plugin-techdocs-backend": "1.10.4",
"@backstage/plugin-techdocs-module-addons-contrib": "1.1.9",
"@backstage/plugin-techdocs-node": "1.12.3",
"@backstage/plugin-techdocs-react": "1.2.3",
"@backstage/plugin-todo": "0.2.38",
"@backstage/plugin-todo-backend": "0.3.16",
"@backstage/plugin-user-settings": "0.8.5",
"@backstage/plugin-user-settings-backend": "0.2.16",
"@backstage/plugin-vault": "0.1.29",
"@backstage/plugin-vault-backend": "0.4.10",
"@backstage/plugin-vault-node": "0.1.10",
"@backstage/plugin-xcmetrics": "0.2.52"
},
"changesets": []
}
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-dynamic-feature-service': patch
---
Updates the `scanRoot` method in the `PluginScanner` class to specifically ignore the `lost+found` directory, which is a system-generated directory used for file recovery on Unix-like systems. Skipping this directory avoids unnecessary errors.
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/backend-plugin-api': patch
---
Removed explicit `toString()` method from `ServiceRef` type.
+1 -9
View File
@@ -45,15 +45,7 @@ yarn.lock @backstage/maintainers @backst
/plugins/devtools-common @backstage/maintainers @backstage/reviewers @awanlin
/plugins/entity-feedback @backstage/maintainers @backstage/reviewers @kuangp
/plugins/entity-feedback-* @backstage/maintainers @backstage/reviewers @kuangp
/plugins/events-backend @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-aws-sqs @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-azure @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-bitbucket-cloud @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-gerrit @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-github @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-module-gitlab @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-backend-test-utils @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-node @backstage/maintainers @backstage/reviewers @pjungermann
/plugins/events-* @backstage/maintainers @backstage/reviewers @backstage/events-maintainers
/plugins/explore @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
/plugins/explore-react @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
/plugins/fossa @backstage/maintainers @backstage/reviewers @backstage/sda-se-reviewers
+14
View File
@@ -0,0 +1,14 @@
area:techdocs:
- '/(techdocs|tech-docs|tech docs)/i'
area:discoverability:
- '/search/i'
area:events:
- '/events/i'
area:catalog:
- '/catalog/i'
area:scaffolder:
- '/scaffolder/i'
area:permission:
- '/permission/i'
bep:
- '/\bbep\b/i'
+8
View File
@@ -11,6 +11,10 @@ area:discoverability: # search + home
- plugins/search-*/**/*
- packages/search-*/**/*
- plugins/home/**/*
area:events:
- changed-files:
- any-glob-to-any-file:
- plugins/events-*/**/*
area:kubernetes:
- changed-files:
- any-glob-to-any-file:
@@ -31,6 +35,10 @@ area:techdocs:
- plugins/techdocs/**/*
- plugins/techdocs-*/**/*
- packages/techdocs-*/**/*
bep:
- changed-files:
- any-glob-to-any-file:
- beps/**/*
auth:
- changed-files:
- any-glob-to-any-file:
+9 -2
View File
@@ -14,5 +14,12 @@ jobs:
with:
egress-policy: audit
- name: Issue sync
uses: backstage/actions/issue-sync@caa4901322ee3b5af18814ffc837bd052f150073 # v0.6.6
- name: Add issue labels
uses: github/issue-labeler@c1b0f9f52a63158c4adc09425e858e87b32e9685 # v3.4
with:
include-title: 1
include-body: 0
configuration-path: .github/issue-labeler.yml
enable-versioned-regex: 0
not-before: 2024-04-19T15:03:51Z
repo-token: '${{ secrets.GITHUB_TOKEN }}'
+10
View File
@@ -118,6 +118,16 @@ Scope: Tooling and Community Repo Maintainers for the Backstage [Community Plugi
| Philipp Hugenroth | Spotify | [tudi2d](https://github.com/tudi2d) | `tudi2d` |
| Vincenzo Scamporlino | Spotify | [vinzscam](https://github.com/vinzscam) | `vinzscam` |
### Events
Team: @backstage/events-maintainers
Scope: The Events plugin and library, along with events modules in the main repository
| Name | Organization | GitHub | Discord |
| ------------------ | ------------------------- | --------------------------------------------- | ------------- |
| Patrick Jungermann | Bonial International GmbH | [pjungermann](https://github.com/pjungermann) | `pjungermann` |
### Notifications
Team: @backstage/notifications-maintainers
+1 -1
View File
@@ -213,7 +213,7 @@ const backend = createBackend();
// Other plugins...
/* highlight-add-start */
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
/* highlight-add-end */
backend.start();
+4 -4
View File
@@ -734,7 +734,7 @@ import {
techdocsBuildsExtensionPoint,
} from '@backstage/plugin-techdocs-node';
const techdocsCustomerBuildStrategy = createBackendModule({
const techdocsCustomBuildStrategy = createBackendModule({
pluginId: 'techdocs',
moduleId: 'customBuildStrategy',
register(env) {
@@ -759,11 +759,11 @@ const techdocsCustomerBuildStrategy = createBackendModule({
// Other plugins...
/* highlight-add-start */
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));
backend.add();
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(techdocsCustomBuildStrategy());
/* highlight-add-end */
backend.start(techdocsCustomerBuildStrategy());
backend.start();
```
> Note: You may need to add the `@backstage/plugin-techdocs-node` package to your backend `package.json` if it's not been imported already.
@@ -0,0 +1,280 @@
---
# prettier-ignore
title: "Introducing the Backstage Community Plugins Repository"
author: Ben Lambert, Spotify
authorURL: https://github.com/benjdlambert
authorImageURL: https://avatars.githubusercontent.com/u/3645856?v=4
---
**tl;dr**: We've set up the new [community plugins repository](https://github.com/backstage/community-plugins), and have migrated most of the packages in the `plugins` directory of the main Backstage repository to their new home!
For those who depended on these plugins, migrating is as simple as `yarn backstage-cli versions:bump` then `yarn backstage-cli versions:migrate`. If you're already on `1.26.1`, then be sure to run `yarn backstage-cli versions:bump --skip-migrate` then `yarn backstage-cli versions:migrate` to take advantage of the code reference replacement helpers.
{/* truncate */}
## The community plugins repo
Some of you who have been around a while, or have seen our [Maintainer Track talks](https://www.youtube.com/watch?v=ONMBYnhxnNU) at KubeCon, might have seen [this RFC](https://github.com/backstage/backstage/issues/20266) which outlines some issues with the scale of the `backstage/backstage` monorepo, and us as maintainers being the de facto owners of all plugins without a [project area](https://github.com/backstage/backstage/blob/master/GOVERNANCE.md#project-area) or [plugin maintainer](https://github.com/backstage/backstage/blob/master/GOVERNANCE.md#project-area-maintainer).
There was some great discussion in this issue, and some great ideas. One of the ideas was to create a dedicated home for community plugins, with all the burden of release tooling and workspace tooling already set up, which is a pretty big barrier for people wanting to create plugins for Backstage in their own organization or personal account. These plugins would then have the ability to release independently of the main monorepo, and have their own release cadence, which is something that we've been looking at exploring for a while.
With Red Hat wanting to join forces and help get this set up, this is the path that we picked, and the last few months have been a lot of hard work from both sides getting this repository in shape and coming up with a deprecation plan for these plugins in the main repository.
Would also like to give a shoutout to all the [Community Plugins project area](https://github.com/backstage/backstage/blob/master/OWNERS.md#community-plugins) maintainers, who have been helping get us to this state! [@vinzscam](https://github.com/vinzscam) [@tudi2d](https://github.com/tudi2d) [@bethgriggs](https://github.com/BethGriggs) [@kadel](https://github.com/kadel) [@awanlin](https://github.com/awanlin) 👏
And now with the release of `1.26.3` there's a large amount of plugins from the main monorepo that have been migrated over to the new [community plugins repository](https://github.com/backstage/community-plugins). :tada:
## The migration
With the moving of these plugins, we thought it would also be a good time to move the `npm` scope, so that end users can differentiate between Backstage packages, and community-maintained packages. So the `@backstage-community` namespace was born!
This makes migration a little tricky for end users, as there's going to be code references and `package.json` dependencies pointing to the older packages which are no longer going to be published.
We've added some tooling into the `@backstage/cli` which is going to smooth the transition here. The last versions which are published under the `@backstage/` scope from the monorepo, will have a special field in the `package.json` with a hint to the CLI as to what this package is now called.
The CLI will then be able to replace these references inside the `./src` folder of your codebase, and update your `package.json` dependencies to the new `@backstage-community` scope.
You can migrate today by running the following:
```bash
# < 1.26.1
yarn backstage-cli versions:bump
yarn backstage-cli versions:migrate
# 1.26.1
yarn backstage-cli versions:bump --skip-migrate
yarn backstage-cli versions:migrate
```
From this latest `1.26.3` release and onwards, the `backstage-cli versions:bump` command will automatically check for moved packages, so you shouldn't have to worry about running this every time.
## Help! My plugin has been moved!
No stress! If you were a `CODEOWNER` of the code in the monorepo, these permissions will be migrated over to the [community plugins repository](https://github.com/backstage/community-plugins) so you should still have access to the code. And now you're in charge of releasing your own plugin! 🚀 You can do that by following the same flow from the monorepo, with changesets and merging the `Version Packages (My Plugin)` PR.
Please reach out to us on [Discord](https://discord.com/invite/backstage-687207715902193673) if you have any issues! We're looking forward to working together in the new space!
## What's moved?
We've taken a pretty big chunk of the plugins from the main monorepo and moved them over to the new repository. There could be more plugins over time that are moved, or even ones that we promote back to the main monorepo.
<details>
<summary>
Here's a list of plugins that have been moved with this release
</summary>
- `@backstage/plugin-adr-backend`
- `@backstage/plugin-adr-common`
- `@backstage/plugin-adr`
- `@backstage/plugin-airbrake-backend`
- `@backstage/plugin-airbrake`
- `@backstage/plugin-allure`
- `@backstage/plugin-analytics-module-ga`
- `@backstage/plugin-analytics-module-ga4`
- `@backstage/plugin-analytics-module-newrelic-browser`
- `@backstage/plugin-apache-airflow`
- `@backstage/plugin-apollo-explorer`
- `@backstage/plugin-azure-devops-backend`
- `@backstage/plugin-azure-devops-common`
- `@backstage/plugin-azure-devops`
- `@backstage/plugin-azure-sites-backend`
- `@backstage/plugin-azure-sites-common`
- `@backstage/plugin-azure-sites`
- `@backstage/plugin-badges-backend`
- `@backstage/plugin-badges`
- `@backstage/plugin-bazaar-backend`
- `@backstage/plugin-bazaar`
- `@backstage/plugin-bitrise`
- `@backstage/plugin-cicd-statistics-module-gitlab`
- `@backstage/plugin-cicd-statistics`
- `@backstage/plugin-circleci`
- `@backstage/plugin-cloudbuild`
- `@backstage/plugin-code-climate`
- `@backstage/plugin-code-coverage-backend`
- `@backstage/plugin-code-coverage`
- `@backstage/plugin-codescene`
- `@backstage/plugin-cost-insights-common`
- `@backstage/plugin-cost-insights`
- `@backstage/plugin-dynatrace`
- `@backstage/plugin-entity-feedback-backend`
- `@backstage/plugin-entity-feedback-common`
- `@backstage/plugin-entity-feedback`
- `@backstage/plugin-entity-validation`
- `@backstage/plugin-explore-backend`
- `@backstage/plugin-explore-common`
- `@backstage/plugin-explore-react`
- `@backstage/plugin-explore`
- `@backstage/plugin-firehydrant`
- `@backstage/plugin-fossa`
- `@backstage/plugin-gcalendar`
- `@backstage/plugin-gcp-projects`
- `@backstage/plugin-git-release-manager`
- `@backstage/plugin-github-actions`
- `@backstage/plugin-github-deployments`
- `@backstage/plugin-github-issues`
- `@backstage/plugin-github-pull-requests-board`
- `@backstage/plugin-gitops-profiles`
- `@backstage/plugin-gocd`
- `@backstage/plugin-graphiql`
- `@backstage/plugin-graphql-voyager`
- `@backstage/plugin-ilert`
- `@backstage/plugin-jenkins-backend`
- `@backstage/plugin-jenkins-common`
- `@backstage/plugin-jenkins`
- `@backstage/plugin-kafka-backend`
- `@backstage/plugin-kafka`
- `@backstage/plugin-lighthouse-backend`
- `@backstage/plugin-lighthouse-common`
- `@backstage/plugin-lighthouse`
- `@backstage/plugin-linguist`
- `@backstage/plugin-linguist-common`
- `@backstage/plugin-linguist-backend`
- `@backstage/plugin-microsoft-calendar`
- `@backstage/plugin-newrelic-dashboard`
- `@backstage/plugin-newrelic`
- `@backstage/plugin-nomad`
- `@backstage/plugin-nomad-backend`
- `@backstage/plugin-octopus-deploy`
- `@backstage/plugin-opencost`
- `@backstage/plugin-periskop-backend`
- `@backstage/plugin-periskop`
- `@backstage/plugin-playlist-backend`
- `@backstage/plugin-playlist-common`
- `@backstage/plugin-playlist`
- `@backstage/plugin-puppetdb`
- `@backstage/plugin-rollbar-backend`
- `@backstage/plugin-rollbar`
- `@backstage/plugin-sentry`
- `@backstage/plugin-shortcuts`
- `@backstage/plugin-sonarqube-backend`
- `@backstage/plugin-sonarqube-react`
- `@backstage/plugin-sonarqube`
- `@backstage/plugin-splunk-on-call`
- `@backstage/plugin-stack-overflow-backend`
- `@backstage/plugin-stack-overflow`
- `@backstage/plugin-stackstorm`
- `@backstage/plugin-tech-insights-backend-module-jsonfc`
- `@backstage/plugin-tech-insights-backend`
- `@backstage/plugin-tech-insights-common`
- `@backstage/plugin-tech-insights-node`
- `@backstage/plugin-tech-insights`
- `@backstage/plugin-tech-radar`
- `@backstage/plugin-vault-backend`
- `@backstage/plugin-vault-node`
- `@backstage/plugin-vault`
- `@backstage/plugin-xcmetrics`
</details>
## What's next?
There's going to be a little bit of time now in this migration period where there's going to be issues and pull requests not in the right place, and we're going to do our best to transfer issues to the community plugins repository instead. We will shortly be removing the code for these plugins from the main monorepo as it now has a new home in the community plugins repository.
We're also going to be looking at bringing in some more of the great tooling from the `backstage/backstage` monorepo into the community plugins repository to help out with more automation for dependency bumps, etc.
## How can I get involved?
If you're interested in getting involved with the community and helping us maintain this repository, please reach out either on [Discord](https://discord.com/invite/backstage-687207715902193673) or in an issue on the [community repository](https://github.com/backstage/community).
If you're wanting to contribute some plugins to Backstage, the community plugin repository is open for business :tada: and we're looking forward to seeing what you come up with! Head over to the [community plugins docs](https://github.com/backstage/community-plugins/tree/main/README.md) to get started creating your own workspace!
Thanks!
@@ -75,8 +75,8 @@ export const httpRouterServiceFactory = createServiceFactory(
config,
});
router.use(createLifecycleMiddleware({ lifecycle }));
router.use(createAuthIntegrationRouter({ auth }));
router.use(createLifecycleMiddleware({ lifecycle }));
router.use(credentialsBarrier.middleware);
router.use(createCookieAuthRefreshMiddleware({ auth, httpAuth }));
@@ -636,6 +636,24 @@ Please add '${mockDir.resolve(
],
},
},
{
name: 'lost+found directory should be ignored',
fileSystem: {
backstageRoot: {
'dist-dynamic': {
'lost+found': {},
},
},
},
expectedPluginPackages: [],
expectedLogs: {
debugs: [
{
message: `skipping 'lost+found' system directory`,
},
],
},
},
])('$name', async (tc: TestCase): Promise<void> => {
const logger = new MockedLogger();
const backstageRoot = mockDir.resolve('backstageRoot');
@@ -136,6 +136,11 @@ export class PluginScanner {
withFileTypes: true,
})) {
const pluginDir = dirEnt;
if (pluginDir.name === 'lost+found') {
this.logger.debug(`skipping '${pluginDir.name}' system directory`);
continue;
}
const pluginHome = path.normalize(
path.resolve(dynamicPluginsLocation, pluginDir.name),
);
@@ -570,7 +570,6 @@ export type ServiceRef<
id: string;
scope: TScope;
T: TService;
toString(): string;
$$type: '@backstage/ServiceRef';
};
@@ -44,8 +44,6 @@ export type ServiceRef<
*/
T: TService;
toString(): string;
$$type: '@backstage/ServiceRef';
};
+1
View File
@@ -622,5 +622,6 @@ Usage: backstage-cli versions:migrate [options]
Options:
--pattern <glob>
--skip-code-changes
-h, --help
```
+2 -2
View File
@@ -11,7 +11,7 @@
"incremental": true,
"isolatedModules": true,
"jsx": "react",
"lib": ["DOM", "DOM.Iterable", "ScriptHost", "ES2021"],
"lib": ["DOM", "DOM.Iterable", "ScriptHost", "ES2022"],
"module": "ESNext",
"moduleResolution": "node",
"noEmit": false,
@@ -32,7 +32,7 @@
"strictNullChecks": true,
"strictPropertyInitialization": true,
"stripInternal": true,
"target": "ES2021",
"target": "ES2022",
"types": ["node", "jest", "webpack-env"],
"useDefineForClassFields": true
}
+1
View File
@@ -120,6 +120,7 @@
"react-dev-utils": "^12.0.0-next.60",
"react-refresh": "^0.14.0",
"recursive-readdir": "^2.2.2",
"replace-in-file": "^7.1.0",
"rollup": "^4.0.0",
"rollup-plugin-dts": "^6.1.0",
"rollup-plugin-esbuild": "^6.1.1",
+4
View File
@@ -402,6 +402,10 @@ export function registerCommands(program: Command) {
'--pattern <glob>',
'Override glob for matching packages to upgrade',
)
.option(
'--skip-code-changes',
'Skip code changes and only update package.json files',
)
.description(
'Migrate any plugins that have been moved to the @backstage-community namespace automatically',
)
@@ -216,6 +216,7 @@ describe('bump', () => {
'bumping @backstage/core in b to ^1.0.6',
'bumping @backstage/theme in b to ^2.0.0',
'Running yarn install to install new versions',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 2.0.0',
' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
@@ -323,6 +324,7 @@ describe('bump', () => {
'bumping @backstage/core in b to ^1.0.6',
'bumping @backstage/theme in b to ^2.0.0',
'Skipping yarn install',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 2.0.0',
' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
@@ -437,6 +439,7 @@ describe('bump', () => {
'bumping @backstage/core in a to ^1.0.6',
'Your project is now at version 0.0.1, which has been written to backstage.json',
'Running yarn install to install new versions',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 5.0.0',
' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
@@ -640,6 +643,7 @@ describe('bump', () => {
'bumping @backstage/core in a to ^1.0.6',
'Your project is now at version 1.0.0, which has been written to backstage.json',
'Running yarn install to install new versions',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 5.0.0',
' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
@@ -745,6 +749,7 @@ describe('bump', () => {
'bumping @backstage/theme in b to ^2.0.0',
'Skipping backstage.json update as custom pattern is used',
'Running yarn install to install new versions',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage-extra/custom-two : 1.0.0 ~> 2.0.0',
' @backstage/theme : 1.0.0 ~> 2.0.0',
@@ -968,6 +973,7 @@ describe('bump', () => {
'bumping @backstage/core in b to ^1.0.6',
'bumping @backstage/theme in b to ^2.0.0',
'Running yarn install to install new versions',
'Checking for moved packages to the @backstage-community namespace...',
'⚠️ The following packages may have breaking changes:',
' @backstage/theme : 1.0.0 ~> 2.0.0',
' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
@@ -266,9 +266,12 @@ export default async (opts: OptionValues) => {
}
if (!opts.skipMigrate) {
console.log();
const changed = await migrateMovedPackages({
pattern: opts.pattern,
});
if (changed && !opts.skipInstall) {
await runYarnInstall();
}
@@ -120,6 +120,7 @@ describe('versions:migrate', () => {
});
expectLogsToMatch(logs, [
'Checking for moved packages to the @backstage-community namespace...',
'Found a moved package @backstage/custom@^1.0.1 -> @backstage-community/custom in a (dependencies)',
'Found a moved package @backstage/custom-two@^1.0.0 -> @backstage-community/custom-two in a (dependencies)',
'Found a moved package @backstage/custom@^1.1.0 -> @backstage-community/custom in b (dependencies)',
@@ -164,4 +165,181 @@ describe('versions:migrate', () => {
},
});
});
it('should replace the occurences of the moved package in files inside the correct package', async () => {
mockDir.setContent({
'package.json': JSON.stringify({
workspaces: {
packages: ['packages/*'],
},
}),
node_modules: {
'@backstage': {
custom: {
'package.json': JSON.stringify({
name: '@backstage-extra/custom',
version: '1.0.1',
backstage: {
moved: '@backstage-community/custom',
},
}),
},
'custom-two': {
'package.json': JSON.stringify({
name: '@backstage-extra/custom-two',
version: '1.0.0',
backstage: {
moved: '@backstage-community/custom-two',
},
}),
},
},
},
packages: {
a: {
'package.json': JSON.stringify({
name: 'a',
dependencies: {
'@backstage/core': '^1.0.5',
'@backstage/custom': '^1.0.1',
'@backstage/custom-two': '^1.0.0',
},
}),
src: {
'index.ts': "import { myThing } from '@backstage/custom';",
'index.test.ts': "import { myThing } from '@backstage/custom-two';",
},
},
b: {
'package.json': JSON.stringify({
name: 'b',
dependencies: {
'@backstage/core': '^1.0.3',
'@backstage/theme': '^1.0.0',
'@backstage/custom': '^1.1.0',
'@backstage/custom-two': '^1.0.0',
},
}),
},
},
});
jest.spyOn(run, 'run').mockResolvedValue(undefined);
await withLogCollector(async () => {
await migrate({});
});
expect(run.run).toHaveBeenCalledTimes(1);
expect(run.run).toHaveBeenCalledWith(
'yarn',
['install'],
expect.any(Object),
);
const indexA = await fs.readFile(
mockDir.resolve('packages/a/src/index.ts'),
'utf-8',
);
expect(indexA).toEqual(
"import { myThing } from '@backstage-community/custom';",
);
const indexTestA = await fs.readFile(
mockDir.resolve('packages/a/src/index.test.ts'),
'utf-8',
);
expect(indexTestA).toEqual(
"import { myThing } from '@backstage-community/custom-two';",
);
});
it('should replaces the occurences of changed packages, and is careful', async () => {
mockDir.setContent({
'package.json': JSON.stringify({
workspaces: {
packages: ['packages/*'],
},
}),
node_modules: {
'@backstage': {
custom: {
'package.json': JSON.stringify({
name: '@backstage-extra/custom',
version: '1.0.1',
backstage: {
moved: '@backstage-community/custom',
},
}),
},
'custom-two': {
'package.json': JSON.stringify({
name: '@backstage-extra/custom-two',
version: '1.0.0',
}),
},
},
},
packages: {
a: {
'package.json': JSON.stringify({
name: 'a',
dependencies: {
'@backstage/core': '^1.0.5',
'@backstage/custom': '^1.0.1',
'@backstage/custom-two': '^1.0.0',
},
}),
src: {
'index.ts': "import { myThing } from '@backstage/custom';",
'index.test.ts': "import { myThing } from '@backstage/custom-two';",
},
},
b: {
'package.json': JSON.stringify({
name: 'b',
dependencies: {
'@backstage/core': '^1.0.3',
'@backstage/theme': '^1.0.0',
'@backstage/custom': '^1.1.0',
'@backstage/custom-two': '^1.0.0',
},
}),
},
},
});
jest.spyOn(run, 'run').mockResolvedValue(undefined);
await withLogCollector(async () => {
await migrate({});
});
expect(run.run).toHaveBeenCalledTimes(1);
expect(run.run).toHaveBeenCalledWith(
'yarn',
['install'],
expect.any(Object),
);
const indexA = await fs.readFile(
mockDir.resolve('packages/a/src/index.ts'),
'utf-8',
);
expect(indexA).toEqual(
"import { myThing } from '@backstage-community/custom';",
);
const indexTestA = await fs.readFile(
mockDir.resolve('packages/a/src/index.test.ts'),
'utf-8',
);
expect(indexTestA).toEqual(
"import { myThing } from '@backstage/custom-two';",
);
});
});
+55 -18
View File
@@ -15,15 +15,33 @@
*/
import { BackstagePackageJson, PackageGraph } from '@backstage/cli-node';
import chalk from 'chalk';
import { resolve as resolvePath } from 'path';
import { resolve as resolvePath, join as joinPath } from 'path';
import { OptionValues } from 'commander';
import { readJson, writeJson } from 'fs-extra';
import { minimatch } from 'minimatch';
import { runYarnInstall } from './bump';
import replace from 'replace-in-file';
declare module 'replace-in-file' {
export default function (config: {
files: string | string[];
processor: (content: string, file: string) => string;
ignore?: string | string[];
allowEmptyPaths?: boolean;
}): Promise<
{
file: string;
hasChanged: boolean;
numMatches?: number;
numReplacements?: number;
}[]
>;
}
export default async (options: OptionValues) => {
const changed = await migrateMovedPackages({
pattern: options.pattern,
skipCodeChanges: options.skipCodeChanges,
});
if (changed) {
@@ -31,29 +49,20 @@ export default async (options: OptionValues) => {
}
};
export async function migrateMovedPackages(options?: { pattern?: string }) {
export async function migrateMovedPackages(options?: {
pattern?: string;
skipCodeChanges?: boolean;
}) {
console.log(
'Checking for moved packages to the @backstage-community namespace...',
);
const packages = await PackageGraph.listTargetPackages();
const thingsThatHaveMoved = new Map<
string,
{
dependencies: { [k: string]: string };
devDependencies: { [k: string]: string };
peerDependencies: { [k: string]: string };
}
>();
let didAnythingChange = false;
for (const pkg of packages) {
const pkgName = pkg.packageJson.name;
thingsThatHaveMoved.set(pkgName, {
dependencies: {},
devDependencies: {},
peerDependencies: {},
});
let didPackageChange = false;
const movedPackages = new Map<string, string>();
for (const depType of [
'dependencies',
@@ -87,6 +96,7 @@ export async function migrateMovedPackages(options?: { pattern?: string }) {
const movedPackageName = packageInfo.backstage?.moved;
if (movedPackageName) {
movedPackages.set(depName, movedPackageName);
console.log(
chalk.yellow(
`Found a moved package ${depName}@${depVersion} -> ${movedPackageName} in ${pkgName} (${depType})`,
@@ -106,6 +116,33 @@ export async function migrateMovedPackages(options?: { pattern?: string }) {
await writeJson(resolvePath(pkg.dir, 'package.json'), pkg.packageJson, {
spaces: 2,
});
if (!options?.skipCodeChanges) {
// Replace all occurrences of the old package names in the code.
const files = await replace({
files: joinPath(pkg.dir, 'src', '**'),
allowEmptyPaths: true,
processor: content => {
return Array.from(movedPackages.entries()).reduce(
(newContent, [oldName, newName]) => {
return newContent
.replace(new RegExp(`"${oldName}"`, 'g'), `"${newName}"`)
.replace(new RegExp(`'${oldName}'`, 'g'), `'${newName}'`)
.replace(new RegExp(`${oldName}/`, 'g'), `${newName}/`);
},
content,
);
},
});
if (files.length > 0) {
console.log(
chalk.green(
`Updated ${files.length} files in ${pkgName} to use the new package names`,
),
);
}
}
}
}
+2
View File
@@ -105,6 +105,8 @@ export async function makeRollupConfigs(
chunkFileNames: `esm/[name]-[hash].esm.js`,
format: 'module',
sourcemap: true,
preserveModules: true,
preserveModulesRoot: `${targetDir}/src`,
});
// Assume we're building for the browser if ESM output is included
mainFields.unshift('browser');
@@ -1,8 +0,0 @@
import { PluginEnvironment } from './types';
describe('test', () => {
it('unbreaks the test runner', () => {
const unbreaker = {} as PluginEnvironment;
expect(unbreaker).toBeTruthy();
});
});
@@ -1,25 +0,0 @@
import { Logger } from 'winston';
import { Config } from '@backstage/config';
import {
PluginCacheManager,
PluginDatabaseManager,
PluginEndpointDiscovery,
TokenManager,
UrlReader,
} from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
import { IdentityApi } from '@backstage/plugin-auth-node';
export type PluginEnvironment = {
logger: Logger;
database: PluginDatabaseManager;
cache: PluginCacheManager;
config: Config;
reader: UrlReader;
discovery: PluginEndpointDiscovery;
tokenManager: TokenManager;
scheduler: PluginTaskScheduler;
permissions: PermissionEvaluator;
identity: IdentityApi;
};
+2 -116
View File
@@ -1,117 +1,3 @@
# ADR Backend
# Deprecated
This ADR backend plugin is primarily responsible for the following:
- Provides a `DefaultAdrCollatorFactory`, which can be used in the search backend to index ADR documents associated with entities to your Backstage Search.
- Provides endpoints that use UrlReaders for getting ADR documents (used in the [ADR frontend plugin](../adr/README.md)).
## Install
## Setup your `integrations` config
First off you'll need to setup your `integrations` config inside your `app-config.yaml`. You can skip this step if it's already setup previously, and if you need help configuring this you can read the [integrations documentation](https://backstage.io/docs/integrations/)
### Up and Running
Here's how to get the backend up and running:
1. First we need to add the `@backstage/plugin-adr-backend` package to your backend:
```sh
# From your Backstage root directory
yarn --cwd packages/backend add @backstage/plugin-adr-backend
```
2. Then we will create a new file named `packages/backend/src/plugins/adr.ts`, and add the
following to it:
```ts
import { createRouter } from '@backstage/plugin-adr-backend';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
export default async function createPlugin(
env: PluginEnvironment,
): Promise<Router> {
return await createRouter({
reader: env.reader,
cacheClient: env.cache.getClient(),
logger: env.logger,
});
}
```
3. Next we wire this into the overall backend router, edit `packages/backend/src/index.ts`:
```ts
import adr from './plugins/adr';
// ...
async function main() {
// ...
// Add this line under the other lines that follow the useHotMemoize pattern
const adrEnv = useHotMemoize(module, () => createEnv('adr'));
// ...
// Insert this line under the other lines that add their routers to apiRouter in the same way
apiRouter.use('/adr', await adr(adrEnv));
```
4. Now run `yarn start-backend` from the repo root
### New Backend System
The ADR backend plugin has support for the [new backend system](https://backstage.io/docs/backend-system/), here's how you can set that up:
In your `packages/backend/src/index.ts` make the following changes:
```diff
const backend = createBackend();
+ backend.add(import('@backstage/plugin-adr-backend'));
// ... other feature additions
backend.start();
```
## Indexing ADR documents for search
Before you are able to start indexing ADR documents to search, you need to go through the [search getting started guide](https://backstage.io/docs/features/search/getting-started).
When you have your `packages/backend/src/plugins/search.ts` file ready to make modifications, install this plugin and add the following code snippet to add the `DefaultAdrCollatorFactory`. Also make sure to set up the frontend [ADR plugin](../adr/README.md) so search results can be routed correctly.
```bash
# From your Backstage root directory
yarn --cwd packages/backend add @backstage/plugin-adr-backend
```
```ts
import { DefaultAdrCollatorFactory } from '@backstage/plugin-adr-backend';
...
indexBuilder.addCollator({
schedule,
factory: DefaultAdrCollatorFactory.fromConfig({
cache: env.cache,
config: env.config,
discovery: env.discovery,
logger: env.logger,
reader: env.reader,
tokenManager: env.tokenManager,
}),
});
```
### Parsing custom ADR document formats
By default, the `DefaultAdrCollatorFactory` will parse and index documents that follow [MADR v3.0.0](https://github.com/adr/madr/tree/3.0.0) and [MADR v2.x](https://github.com/adr/madr/tree/2.1.2) standard file name and template format. If you use a different ADR format and file name convention, you can configure `DefaultAdrCollatorFactory` with custom `adrFilePathFilterFn` and `parser` options (see type definitions for details):
```ts
DefaultAdrCollatorFactory.fromConfig({
...
parser: myCustomAdrParser,
adrFilePathFilterFn: myCustomAdrFilePathFilter,
...
})
```
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr-backend` instead.
+15 -13
View File
@@ -1,31 +1,35 @@
{
"name": "@backstage/plugin-adr-backend",
"version": "0.4.14",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"backstage": {
"role": "backend-plugin",
"moved": "@backstage-community/plugin-adr-backend"
},
"publishConfig": {
"access": "public",
"main": "dist/index.cjs.js",
"types": "dist/index.d.ts"
},
"backstage": {
"role": "backend-plugin"
},
"homepage": "https://backstage.io",
"repository": {
"type": "git",
"url": "https://github.com/backstage/backstage",
"directory": "plugins/adr-backend"
},
"license": "Apache-2.0",
"main": "src/index.ts",
"types": "src/index.ts",
"files": [
"dist"
],
"scripts": {
"start": "backstage-cli package start",
"build": "backstage-cli package build",
"lint": "backstage-cli package lint",
"test": "backstage-cli package test",
"clean": "backstage-cli package clean",
"lint": "backstage-cli package lint",
"prepack": "backstage-cli package prepack",
"postpack": "backstage-cli package postpack"
"postpack": "backstage-cli package postpack",
"start": "backstage-cli package start",
"test": "backstage-cli package test"
},
"dependencies": {
"@backstage/backend-common": "workspace:^",
@@ -50,7 +54,5 @@
"@types/supertest": "^2.0.8",
"supertest": "^6.1.3"
},
"files": [
"dist"
]
"deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr-backend instead."
}
+2 -2
View File
@@ -1,3 +1,3 @@
# ADR Common
# Deprecated
Common types and functionalities for the ADR plugin.
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr-common` instead.
+4 -2
View File
@@ -3,7 +3,8 @@
"version": "0.2.22",
"description": "Common functionalities for the adr plugin",
"backstage": {
"role": "common-library"
"role": "common-library",
"moved": "@backstage-community/plugin-adr-common"
},
"publishConfig": {
"access": "public",
@@ -41,5 +42,6 @@
},
"devDependencies": {
"@backstage/cli": "workspace:^"
}
},
"deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr-common instead."
}
+2 -160
View File
@@ -1,161 +1,3 @@
# Architecture Decision Records (ADR) Plugin
# Deprecated
Welcome to the ADR plugin!
This plugin allows you to explore ADRs (Architecture Decision Records) associated with your entities, as well as discover ADRs across other entities using Backstage Search. Use this to inform your own architectural decisions based on the experiences of previous projects.
![ADR tab](./docs/adr-tab.png)
## Setup
1. Install this plugin:
```bash
# From your Backstage root directory
yarn --cwd packages/app add @backstage/plugin-adr
```
2. Make sure the [ADR backend plugin](../adr-backend/README.md) is installed.
3. [Configure integrations](https://backstage.io/docs/integrations/) for all sites you would like to pull ADRs from.
### Entity Pages
1. Add the plugin as a tab to your Entity pages:
```jsx
// In packages/app/src/components/catalog/EntityPage.tsx
import { EntityAdrContent, isAdrAvailable } from '@backstage/plugin-adr';
...
// Note: Add to any other Pages as well (e.g. defaultEntityPage and websiteEntityPage)
const serviceEntityPage = (
<EntityLayout>
{/* other tabs... */}
<EntityLayout.Route if={isAdrAvailable} path="/adrs" title="ADRs">
<EntityAdrContent />
</EntityLayout.Route>
</EntityLayout>
```
2. Add `backstage.io/adr-location` annotation to your `catalog-info.yaml`:
```yaml
metadata:
annotations:
backstage.io/adr-location: <RELATIVE_PATH_TO_ADR_FILES_DIR>
```
The value for `backstage.io/adr-location` should be a path relative to your `catalog-info.yaml` file or a absolute URL to the directory which contains your ADR markdown files.
For example, if you have the following directory structure, you would set `backstage.io/adr-location: docs/adrs`:
```
repo-root/
README.md
src/
catalog-info.yaml
docs/
adrs/
0001-use-adrs.md
0002-use-cloud.md
```
### Search
First, make sure to setup Backstage Search with the [ADR backend plugin](../adr-backend/README.md).
Afterwards, add the following code snippet to use `AdrSearchResultListItem` when the type of the search results is `adr`:
```tsx
// In packages/app/src/components/search/SearchPage.tsx
import { AdrSearchResultListItem } from '@backstage/plugin-adr';
import { AdrDocument } from '@backstage/plugin-adr-common';
...
// Optional - Add type to side pane
<SearchType.Accordion
name="Result Type"
defaultValue="software-catalog"
types={[
...
{
value: 'adr',
name: 'Architecture Decision Records',
icon: <DocsIcon />,
},
]}
/>
...
// In results
<SearchResult>
{({ results }) => (
<List>
{results.map(({ type, document, highlight, rank }) => {
switch (type) {
...
case 'adr':
return (
<AdrSearchResultListItem
key={document.location}
// Not required if you're leveraging the new search results extensions available in v1.11+
// https://backstage.io/docs/features/search/how-to-guides#2-using-an-extension-in-your-backstage-app
result={document as AdrDocument}
/>
);
...
}
})}
</List>
)}
</SearchResult>
```
## Custom ADR formats
By default, this plugin will parse ADRs according to the format specified by the [Markdown Architecture Decision Record (MADR) v2.x template](https://github.com/adr/madr/tree/2.1.2) or the [Markdown Any Decision Record (MADR) 3.x template](https://github.com/adr/madr/tree/3.0.0). If your ADRs are written using a different format, you can apply the following customizations to correctly identify and parse your documents:
### Custom Filename/Path Format
In order to ensure the plugin fetches the correct ADR files (e.g. ignoring your template file), you can pass in an optional `filePathFilterFn` parameter to `EntityAdrContent` which will be called with each file path relative to the ADR location specified by `backstage.io/adr-location`. For example, the follow custom filter function will ignore the ADR template file and include files with a specific naming convention including those under a specified sub-directory:
```tsx
const myCustomFilterFn: AdrFilePathFilterFn = (path: string): boolean => {
if (path === '0000-adr-template.md') {
return false;
}
// Match all files following the pattern NNNN-title-with-dashes.md including those under decided-adrs/
return /^(decided-adrs\/)?\d{4}-.+\.md$/.test(path);
}
...
<EntityAdrContent filePathFilterFn={myCustomFilterFn} />
```
### Custom Content Decorators
Your ADR Markdown content will typically be rendered in the UI as is with the exception of relative links/embeds being rewritten as absolute URLs so they can be linked correctly (e.g. `./my-diagram.png` => `<ABSOLUTE_ADR_DIR_URL>/my-diagram.png`). Depending on your ADR format, you may want to apply additional transformations to the content (e.g. hiding or formatting front matter in a different way). You can do so by passing in a list of custom content decorators for the optional `contentDecorators` parameter. Note that passing in this parameter will override the default decorators. If you want to include the default ones, make sure to add them as well:
```tsx
import {
AdrReader,
...
} from '@backstage/plugin-adr';
...
const myCustomDecorator: AdrContentDecorator = ({ content }) => {
return { content: applyCustomContentTransformation(content) };
};
...
<EntityAdrContent contentDecorators={[
AdrReader.decorators.createRewriteRelativeLinksDecorator(),
AdrReader.decorators.createRewriteRelativeEmbedsDecorator(),
AdrReader.decorators.createFrontMatterFormatterDecorator(),
myCustomDecorator,
]}
/>
```
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-adr` instead.
+4 -2
View File
@@ -2,7 +2,8 @@
"name": "@backstage/plugin-adr",
"version": "0.6.17",
"backstage": {
"role": "frontend-plugin"
"role": "frontend-plugin",
"moved": "@backstage-community/plugin-adr"
},
"publishConfig": {
"access": "public"
@@ -70,5 +71,6 @@
"react": "^16.13.1 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0",
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
}
},
"deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr instead."
}
+2 -31
View File
@@ -1,32 +1,3 @@
# airbrake-backend
# Deprecated
The Airbrake backend plugin provides a simple proxy to the Airbrake API while hiding away the secret API key from the frontend.
## How to use
See the [Airbrake plugin instructions](../airbrake/README.md#how-to-use).
## Local Development
This method of serving the plugin provides quicker iteration speed and a faster startup and hot reloads.
1. Add the required config to your `app-config.local.yaml`:
```yaml
airbrake:
apiKey: ${AIRBRAKE_API_KEY}
```
2. Set the environment variable `AIRBRAKE_API_KEY` with your [API
key](https://airbrake.io/docs/api/#authentication). You can also write it
directly into the config file above for convenience - but beware of
accidentally leaking the key.
3. Go into the plugin's directory and run it in standalone mode by running `yarn start`.
Access it from http://localhost:7007/api/airbrake. Or use the [Airbrake plugin in standalone mode](../airbrake/README.md#local-development) which will talk to it automatically.
Here are some example endpoints:
- http://localhost:7007/api/airbrake/health
- http://localhost:7007/api/airbrake/api/v4/projects
This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-airbrake-backend` instead.

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