diff --git a/.changeset/chatty-cycles-unite.md b/.changeset/chatty-cycles-unite.md new file mode 100644 index 0000000000..93dffbb143 --- /dev/null +++ b/.changeset/chatty-cycles-unite.md @@ -0,0 +1,9 @@ +--- +'@backstage/plugin-scaffolder-backend-module-github': patch +'@backstage/core-compat-api': patch +'@backstage/create-app': patch +'@backstage/plugin-api-docs': patch +'@backstage/plugin-catalog': patch +--- + +Update local development dependencies. diff --git a/.changeset/itchy-gorillas-hope.md b/.changeset/itchy-gorillas-hope.md new file mode 100644 index 0000000000..cd285161ff --- /dev/null +++ b/.changeset/itchy-gorillas-hope.md @@ -0,0 +1,5 @@ +--- +'@backstage/create-app': patch +--- + +Removed the Tech Radar and GitHub Actions plugins from the template, which have been moved to the community plugins repository. diff --git a/.changeset/tricky-cougars-shout.md b/.changeset/tricky-cougars-shout.md new file mode 100644 index 0000000000..eed14c9eb8 --- /dev/null +++ b/.changeset/tricky-cougars-shout.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-backend-module-explore': patch +--- + +Update README.md to point to explore plugin in community-plugins repository. diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md index e699f54e22..1d7e1dcd03 100644 --- a/docs/backend-system/building-backends/08-migrating.md +++ b/docs/backend-system/building-backends/08-migrating.md @@ -1254,100 +1254,100 @@ backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); The vast majority of the backend plugins that currently live in the Backstage Repo have been migrated and their respective `README`s have details on how they should be installed using the New Backend System. -| Package | Role | Migrated | Uses Alpha Export | Link to `README` | -| ------------------------------------------------------------------ | --------------------- | -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| @backstage/plugin-adr-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md) | -| @backstage/plugin-airbrake-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/airbrake-backend/README.md) | -| @backstage/plugin-app-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/app-backend/README.md) | -| @backstage/plugin-auth-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend/README.md) | -| @backstage/plugin-auth-backend-module-atlassian-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-atlassian-provider/README.md) | -| @backstage/plugin-auth-backend-module-aws-alb-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-aws-alb-provider/README.md) | -| @backstage/plugin-auth-backend-module-gcp-iap-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gcp-iap-provider/README.md) | -| @backstage/plugin-auth-backend-module-github-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-github-provider/README.md) | -| @backstage/plugin-auth-backend-module-gitlab-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gitlab-provider/README.md) | -| @backstage/plugin-auth-backend-module-google-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-google-provider/README.md) | -| @backstage/plugin-auth-backend-module-guest-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-guest-provider/README.md) | -| @backstage/plugin-auth-backend-module-microsoft-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-microsoft-provider/README.md) | -| @backstage/plugin-auth-backend-module-oauth2-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-provider/README.md) | -| @backstage/plugin-auth-backend-module-oauth2-proxy-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-proxy-provider/README.md) | -| @backstage/plugin-auth-backend-module-oidc-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oidc-provider/README.md) | -| @backstage/plugin-auth-backend-module-okta-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-okta-provider/README.md) | -| @backstage/plugin-auth-backend-module-pinniped-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-pinniped-provider/README.md) | -| @backstage/plugin-auth-backend-module-vmware-cloud-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-vmware-cloud-provider/README.md) | -| @backstage/plugin-azure-devops-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/azure-devops-backend/README.md) | -| @backstage/plugin-azure-sites-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/azure-sites-backend/README.md) | -| @backstage/plugin-badges-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/badges-backend/README.md) | -| @backstage/plugin-bazaar-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/bazaar-backend/README.md) | -| @backstage/plugin-catalog-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend/README.md) | -| @backstage/plugin-catalog-backend-module-aws | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/README.md) | -| @backstage/plugin-catalog-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-azure/README.md) | -| @backstage/plugin-catalog-backend-module-backstage-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-backstage-openapi/README.md) | -| @backstage/plugin-catalog-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-cloud/README.md) | -| @backstage/plugin-catalog-backend-module-bitbucket-server | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-server/README.md) | -| @backstage/plugin-catalog-backend-module-gcp | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gcp/README.md) | -| @backstage/plugin-catalog-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gerrit/README.md) | -| @backstage/plugin-catalog-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github/README.md) | -| @backstage/plugin-catalog-backend-module-github-org | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github-org/README.md) | -| @backstage/plugin-catalog-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gitlab/README.md) | -| @backstage/plugin-catalog-backend-module-incremental-ingestion | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-incremental-ingestion/README.md) | -| @backstage/plugin-catalog-backend-module-ldap | backend-plugin-module | | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-ldap/README.md) | -| @backstage/plugin-catalog-backend-module-msgraph | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md) | -| @backstage/plugin-catalog-backend-module-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-openapi/README.md) | -| @backstage/plugin-catalog-backend-module-puppetdb | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) | -| @backstage/plugin-catalog-backend-module-scaffolder-entity-model | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-scaffolder-entity-model/README.md) | -| @backstage/plugin-catalog-backend-module-unprocessed | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-unprocessed/README.md) | -| @backstage/plugin-code-coverage-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/code-coverage-backend/README.md) | -| @backstage/plugin-devtools-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/devtools-backend/README.md) | -| @backstage/plugin-entity-feedback-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/entity-feedback-backend/README.md) | -| @backstage/plugin-events-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md) | -| @backstage/plugin-events-backend-module-aws-sqs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md) | -| @backstage/plugin-events-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-azure/README.md) | -| @backstage/plugin-events-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-bitbucket-cloud/README.md) | -| @backstage/plugin-events-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gerrit/README.md) | -| @backstage/plugin-events-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-github/README.md) | -| @backstage/plugin-events-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md) | -| @internal/plugin-todo-list-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/example-todo-list-backend/README.md) | -| @backstage/plugin-explore-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) | -| @backstage/plugin-jenkins-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/jenkins-backend/README.md) | -| @backstage/plugin-kafka-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kafka-backend/README.md) | -| @backstage/plugin-kubernetes-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kubernetes-backend/README.md) | -| @backstage/plugin-lighthouse-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/lighthouse-backend/README.md) | -| @backstage/plugin-linguist-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/linguist-backend/README.md) | -| @backstage/plugin-nomad-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/nomad-backend/README.md) | -| @backstage/plugin-notifications-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/notifications-backend/README.md) | -| @backstage/plugin-periskop-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/periskop-backend/README.md) | -| @backstage/plugin-permission-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend/README.md) | -| @backstage/plugin-permission-backend-module-allow-all-policy | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend-module-policy-allow-all/README.md) | -| @backstage/plugin-playlist-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/playlist-backend/README.md) | -| @backstage/plugin-proxy-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/proxy-backend/README.md) | -| @backstage/plugin-rollbar-backend | backend-plugin | | | [README](https://github.com/backstage/backstage/blob/master/plugins/rollbar-backend/README.md) | -| @backstage/plugin-scaffolder-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/README.md) | -| @backstage/plugin-scaffolder-backend-module-azure | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-azure/README.md) | -| @backstage/plugin-scaffolder-backend-module-bitbucket | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket/README.md) | -| @backstage/plugin-scaffolder-backend-module-bitbucket-cloud | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-cloud/README.md) | -| @backstage/plugin-scaffolder-backend-module-bitbucket-server | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-server/README.md) | -| @backstage/plugin-scaffolder-backend-module-confluence-to-markdown | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-confluence-to-markdown/README.md) | -| @backstage/plugin-scaffolder-backend-module-cookiecutter | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-cookiecutter/README.md) | -| @backstage/plugin-scaffolder-backend-module-gerrit | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gerrit/README.md) | -| @backstage/plugin-scaffolder-backend-module-gitea | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitea/README.md) | -| @backstage/plugin-scaffolder-backend-module-github | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-github/README.md) | -| @backstage/plugin-scaffolder-backend-module-gitlab | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitlab/README.md) | -| @backstage/plugin-scaffolder-backend-module-rails | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-rails/README.md) | -| @backstage/plugin-scaffolder-backend-module-sentry | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-sentry/README.md) | -| @backstage/plugin-scaffolder-backend-module-yeoman | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-yeoman/README.md) | -| @backstage/plugin-search-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend/README.md) | -| @backstage/plugin-search-backend-module-catalog | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-catalog/README.md) | -| @backstage/plugin-search-backend-module-elasticsearch | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/README.md) | -| @backstage/plugin-search-backend-module-explore | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-explore/README.md) | -| @backstage/plugin-search-backend-module-pg | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-pg/README.md) | -| @backstage/plugin-search-backend-module-stack-overflow-collator | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md) | -| @backstage/plugin-search-backend-module-techdocs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-techdocs/README.md) | -| @backstage/plugin-signals-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/signals-backend/README.md) | -| @backstage/plugin-sonarqube-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-backend/README.md) | -| @backstage/plugin-stack-overflow-backend | backend-plugin | | | [README](https://github.com/backstage/backstage/blob/master/plugins/stack-overflow-backend/README.md) | -| @backstage/plugin-tech-insights-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights-backend/README.md) | -| @backstage/plugin-tech-insights-backend-module-jsonfc | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights-backend-module-jsonfc/README.md) | -| @backstage/plugin-techdocs-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/README.md) | -| @backstage/plugin-todo-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/todo-backend/README.md) | -| @backstage/plugin-user-settings-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/user-settings-backend/README.md) | -| @backstage/plugin-vault-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/vault-backend/README.md) | +| Package | Role | Migrated | Uses Alpha Export | Link to `README` | +| ------------------------------------------------------------------ | --------------------- | -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| @backstage-community/plugin-adr-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/adr/plugins/adr-backend/README.md) | +| @backstage-community/plugin-airbrake-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/airbrake/plugins/airbrake-backend/README.md) | +| @backstage/plugin-app-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/app-backend/README.md) | +| @backstage/plugin-auth-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend/README.md) | +| @backstage/plugin-auth-backend-module-atlassian-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-atlassian-provider/README.md) | +| @backstage/plugin-auth-backend-module-aws-alb-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-aws-alb-provider/README.md) | +| @backstage/plugin-auth-backend-module-gcp-iap-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gcp-iap-provider/README.md) | +| @backstage/plugin-auth-backend-module-github-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-github-provider/README.md) | +| @backstage/plugin-auth-backend-module-gitlab-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-gitlab-provider/README.md) | +| @backstage/plugin-auth-backend-module-google-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-google-provider/README.md) | +| @backstage/plugin-auth-backend-module-guest-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-guest-provider/README.md) | +| @backstage/plugin-auth-backend-module-microsoft-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-microsoft-provider/README.md) | +| @backstage/plugin-auth-backend-module-oauth2-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-provider/README.md) | +| @backstage/plugin-auth-backend-module-oauth2-proxy-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oauth2-proxy-provider/README.md) | +| @backstage/plugin-auth-backend-module-oidc-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-oidc-provider/README.md) | +| @backstage/plugin-auth-backend-module-okta-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-okta-provider/README.md) | +| @backstage/plugin-auth-backend-module-pinniped-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-pinniped-provider/README.md) | +| @backstage/plugin-auth-backend-module-vmware-cloud-provider | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/auth-backend-module-vmware-cloud-provider/README.md) | +| @backstage-community/plugin-azure-devops-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/azure-devops/plugins/azure-devops-backend/README.md) | +| @backstage-community/plugin-azure-sites-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/azure-sites/plugins/azure-sites-backend/README.md) | +| @backstage-community/plugin-badges-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/badges/plugins/badges-backend/README.md) | +| @backstage-community/plugin-bazaar-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/bazaar/plugins/bazaar-backend/README.md) | +| @backstage/plugin-catalog-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend/README.md) | +| @backstage/plugin-catalog-backend-module-aws | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-aws/README.md) | +| @backstage/plugin-catalog-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-azure/README.md) | +| @backstage/plugin-catalog-backend-module-backstage-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-backstage-openapi/README.md) | +| @backstage/plugin-catalog-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-cloud/README.md) | +| @backstage/plugin-catalog-backend-module-bitbucket-server | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-bitbucket-server/README.md) | +| @backstage/plugin-catalog-backend-module-gcp | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gcp/README.md) | +| @backstage/plugin-catalog-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gerrit/README.md) | +| @backstage/plugin-catalog-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github/README.md) | +| @backstage/plugin-catalog-backend-module-github-org | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-github-org/README.md) | +| @backstage/plugin-catalog-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-gitlab/README.md) | +| @backstage/plugin-catalog-backend-module-incremental-ingestion | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-incremental-ingestion/README.md) | +| @backstage/plugin-catalog-backend-module-ldap | backend-plugin-module | | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-ldap/README.md) | +| @backstage/plugin-catalog-backend-module-msgraph | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-msgraph/README.md) | +| @backstage/plugin-catalog-backend-module-openapi | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-openapi/README.md) | +| @backstage/plugin-catalog-backend-module-puppetdb | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-puppetdb/README.md) | +| @backstage/plugin-catalog-backend-module-scaffolder-entity-model | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-scaffolder-entity-model/README.md) | +| @backstage/plugin-catalog-backend-module-unprocessed | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/catalog-backend-module-unprocessed/README.md) | +| @backstage-community/plugin-code-coverage-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/code-coverage/plugins/code-coverage-backend/README.md) | +| @backstage/plugin-devtools-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/devtools-backend/README.md) | +| @backstage-community/plugin-entity-feedback-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/entity-feedback/plugins/entity-feedback-backend/README.md) | +| @backstage/plugin-events-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend/README.md) | +| @backstage/plugin-events-backend-module-aws-sqs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-aws-sqs/README.md) | +| @backstage/plugin-events-backend-module-azure | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-azure/README.md) | +| @backstage/plugin-events-backend-module-bitbucket-cloud | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-bitbucket-cloud/README.md) | +| @backstage/plugin-events-backend-module-gerrit | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gerrit/README.md) | +| @backstage/plugin-events-backend-module-github | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-github/README.md) | +| @backstage/plugin-events-backend-module-gitlab | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/events-backend-module-gitlab/README.md) | +| @internal/plugin-todo-list-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/example-todo-list-backend/README.md) | +| @backstage-community/plugin-explore-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/explore/plugins/explore-backend/README.md) | +| @backstage-community/plugin-jenkins-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/jenkins/plugins/jenkins-backend/README.md) | +| @backstage-community/plugin-kafka-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/kafka/plugins/kafka-backend/README.md) | +| @backstage/plugin-kubernetes-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/kubernetes-backend/README.md) | +| @backstage-community/plugin-lighthouse-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/lighthouse/plugins/lighthouse-backend/README.md) | +| @backstage-community/plugin-linguist-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/linguist/plugins/linguist-backend/README.md) | +| @backstage-community/plugin-nomad-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/nomad/plugins/nomad-backend/README.md) | +| @backstage/plugin-notifications-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/notifications-backend/README.md) | +| @backstage-community/plugin-periskop-backend | backend-plugin | true | true | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/periskop/plugins/periskop-backend/README.md) | +| @backstage/plugin-permission-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend/README.md) | +| @backstage/plugin-permission-backend-module-allow-all-policy | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/permission-backend-module-policy-allow-all/README.md) | +| @backstage-community/plugin-playlist-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/playlist/plugins/playlist-backend/README.md) | +| @backstage/plugin-proxy-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/proxy-backend/README.md) | +| @backstage-community/plugin-rollbar-backend | backend-plugin | | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/rollbar/plugins/rollbar-backend/README.md) | +| @backstage/plugin-scaffolder-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend/README.md) | +| @backstage/plugin-scaffolder-backend-module-azure | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-azure/README.md) | +| @backstage/plugin-scaffolder-backend-module-bitbucket | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket/README.md) | +| @backstage/plugin-scaffolder-backend-module-bitbucket-cloud | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-cloud/README.md) | +| @backstage/plugin-scaffolder-backend-module-bitbucket-server | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-bitbucket-server/README.md) | +| @backstage/plugin-scaffolder-backend-module-confluence-to-markdown | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-confluence-to-markdown/README.md) | +| @backstage/plugin-scaffolder-backend-module-cookiecutter | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-cookiecutter/README.md) | +| @backstage/plugin-scaffolder-backend-module-gerrit | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gerrit/README.md) | +| @backstage/plugin-scaffolder-backend-module-gitea | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitea/README.md) | +| @backstage/plugin-scaffolder-backend-module-github | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-github/README.md) | +| @backstage/plugin-scaffolder-backend-module-gitlab | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-gitlab/README.md) | +| @backstage/plugin-scaffolder-backend-module-rails | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-rails/README.md) | +| @backstage/plugin-scaffolder-backend-module-sentry | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-sentry/README.md) | +| @backstage/plugin-scaffolder-backend-module-yeoman | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/scaffolder-backend-module-yeoman/README.md) | +| @backstage/plugin-search-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend/README.md) | +| @backstage/plugin-search-backend-module-catalog | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-catalog/README.md) | +| @backstage/plugin-search-backend-module-elasticsearch | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-elasticsearch/README.md) | +| @backstage/plugin-search-backend-module-explore | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-explore/README.md) | +| @backstage/plugin-search-backend-module-pg | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-pg/README.md) | +| @backstage/plugin-search-backend-module-stack-overflow-collator | backend-plugin-module | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md) | +| @backstage/plugin-search-backend-module-techdocs | backend-plugin-module | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-techdocs/README.md) | +| @backstage/plugin-signals-backend | backend-plugin | true | | [README](https://github.com/backstage/backstage/blob/master/plugins/signals-backend/README.md) | +| @backstage-community/plugin-sonarqube-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/sonarqube/plugins/sonarqube-backend/README.md) | +| @backstage-community/plugin-stack-overflow-backend | backend-plugin | | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/stack-overflow/plugins/stack-overflow-backend/README.md) | +| @backstage-community/plugin-tech-insights-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/tech-insights/plugins/tech-insights-backend/README.md) | +| @backstage-community/plugin-tech-insights-backend-module-jsonfc | backend-plugin-module | true | | [README](https://github.com/backstage/community-plugins/blob/main/workspaces/tech-insights/plugins/tech-insights-backend-module-jsonfc/README.md) | +| @backstage/plugin-techdocs-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/techdocs-backend/README.md) | +| @backstage-community/plugin-todo-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/todo/plugins/todo-backend/README.md) | +| @backstage/plugin-user-settings-backend | backend-plugin | true | true | [README](https://github.com/backstage/backstage/blob/master/plugins/user-settings-backend/README.md) | +| @backstage-community/plugin-vault-backend | backend-plugin | true | | [README](https://github.com/backstage/community-plugins/blob/master/workspaces/vault/plugins/vault-backend/README.md) | diff --git a/docs/faq/technical.md b/docs/faq/technical.md index 83e2926cc1..630e516a35 100644 --- a/docs/faq/technical.md +++ b/docs/faq/technical.md @@ -195,10 +195,9 @@ ambition will be to keep Backstage modular. ### How can I get involved? Jump right in! Come help us fix some of the -[early bugs and good first issues](https://github.com/backstage/backstage/contribute) -or reach [a new milestone](https://github.com/backstage/backstage/milestones). -Or write an open source plugin for Backstage, like this -[Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse). +[early bugs and good first issues](https://github.com/backstage/backstage/contribute). +Or write an open source plugin for Backstage in our +[community plugins repository](https://github.com/backstage/community-plugins). See all the ways you can [contribute here](https://github.com/backstage/backstage/blob/master/CONTRIBUTING.md). We'd love to have you as part of the community. diff --git a/docs/features/search/README.md b/docs/features/search/README.md index 97d3d7efcb..93aa22ebe1 100644 --- a/docs/features/search/README.md +++ b/docs/features/search/README.md @@ -32,11 +32,11 @@ The following sections show the plugins and search engines currently supported b ### Plugins integrated with Backstage Search -| Plugin | Support Status | -| ------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- | -| Software Catalog | ✅ | -| [TechDocs](./how-to-guides.md#how-to-index-techdocs-documents) | ✅ | -| [Stack Overflow](https://github.com/backstage/backstage/blob/master/plugins/stack-overflow-backend/README.md#index-stack-overflow-questions-to-search) | ✅ | +| Plugin | Support Status | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | +| Software Catalog | ✅ | +| [TechDocs](./how-to-guides.md#how-to-index-techdocs-documents) | ✅ | +| [Stack Overflow](https://github.com/backstage/backstage/blob/master/plugins/search-backend-module-stack-overflow-collator/README.md#index-stack-overflow-questions-to-search) | ✅ | ### Search engines diff --git a/docs/features/software-catalog/extending-the-model.md b/docs/features/software-catalog/extending-the-model.md index 86f2d7c02d..b3d7de3a65 100644 --- a/docs/features/software-catalog/extending-the-model.md +++ b/docs/features/software-catalog/extending-the-model.md @@ -120,7 +120,7 @@ the infrastructure tooling through plugins. Different plugins are used for managing different types of components. For example, the -[Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) +[Lighthouse plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/lighthouse/plugins/lighthouse) only makes sense for Websites. The more specific you can be in how you model your software, the easier it is to provide plugins that are contextual. diff --git a/docs/getting-started/app-custom-theme.md b/docs/getting-started/app-custom-theme.md index 15fef0fb9a..4e421790b2 100644 --- a/docs/getting-started/app-custom-theme.md +++ b/docs/getting-started/app-custom-theme.md @@ -406,8 +406,6 @@ You can change the following [icons](https://github.com/backstage/backstage/blob In your front-end application, locate the `src` folder. We suggest creating the `assets/icons` directory and `CustomIcons.tsx` file. -> Another example [here](https://github.com/backstage/backstage/blob/master/plugins/azure-devops/src/components/AzurePipelinesIcon/AzurePipelinesIcon.tsx), if you want to ensure proper behavior in light and dark themes. - ```tsx title="customIcons.tsx" import { SvgIcon, SvgIconProps } from '@material-ui/core'; diff --git a/docs/overview/architecture-overview.md b/docs/overview/architecture-overview.md index f975baf1e1..2295a3e503 100644 --- a/docs/overview/architecture-overview.md +++ b/docs/overview/architecture-overview.md @@ -61,9 +61,9 @@ The CircleCI plugin is available on `/circleci`. Each plugin is a client side application which mounts itself on the UI. Plugins are written in TypeScript or JavaScript. They each live in their own directory -in `backstage/plugins`. For example, the source code for the lighthouse plugin +in the `plugins` folder. For example, the source code for the catalog plugin is available at -[backstage/plugins/lighthouse](https://github.com/backstage/backstage/tree/master/plugins/lighthouse). +[plugins/catalog](https://github.com/backstage/backstage/tree/master/plugins/catalog). ### Installing plugins diff --git a/docs/plugins/call-existing-api.md b/docs/plugins/call-existing-api.md index da76fa8434..065427b9ee 100644 --- a/docs/plugins/call-existing-api.md +++ b/docs/plugins/call-existing-api.md @@ -137,9 +137,8 @@ router.use('/summary', async (req, res) => { ``` For a more detailed example, see -[the lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) -that stores some state in a database and adds new capabilities to the underlying -API. +[the user-settings plugin backend](https://github.com/backstage/backstage/tree/master/plugins/user-settings-backend) +that stores some state in a database and surfaces an API for the frontend plugin to use. Internally at Spotify, this has been a fairly popular choice for different reasons. Commonly, the backend has been used as a caching and data massaging diff --git a/docs/releases/v1.1.0.md b/docs/releases/v1.1.0.md index daf31a536f..f484cc5b57 100644 --- a/docs/releases/v1.1.0.md +++ b/docs/releases/v1.1.0.md @@ -38,11 +38,11 @@ The permission related packages received a number of **BREAKING** changes. Among ### Stack Overflow -There’s a new Stack Overflow [frontend](https://github.com/backstage/backstage/tree/master/plugins/stack-overflow) plugin with a corresponding [backend](https://github.com/backstage/backstage/tree/master/plugins/stack-overflow-backend]! +There’s a new Stack Overflow [frontend](https://github.com/backstage/backstage/tree/v1.1.0/plugins/stack-overflow) plugin with a corresponding [backend](https://github.com/backstage/backstage/tree/v1.1.0/plugins/stack-overflow-backend)! ### Misc -- The [CI/CD Statistics plugin](https://github.com/backstage/backstage/tree/master/plugins/cicd-statistics) now has GitLab support, through the new [GitLab module](https://github.com/backstage/backstage/tree/master/plugins/cicd-statistics-module-gitlab). Thanks [@djamaile](https://github.com/djamaile)! ([#10140](https://github.com/backstage/backstage/pull/10140)) +- The [CI/CD Statistics plugin](https://github.com/backstage/backstage/tree/v1.1.0/plugins/cicd-statistics) now has GitLab support, through the new [GitLab module](https://github.com/backstage/backstage/tree/v1.1.0/plugins/cicd-statistics-module-gitlab). Thanks [@djamaile](https://github.com/djamaile)! ([#10140](https://github.com/backstage/backstage/pull/10140)) - The catalog [AWS module](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-aws) added a new `AwsS3EntityProvider` as a replacement for the `AwsS3DiscoveryProcessor`. Thanks [@pjungermann](https://github.com/pjungermann)! ([#10480](https://github.com/backstage/backstage/pull/10480)) diff --git a/docs/releases/v1.10.0-changelog.md b/docs/releases/v1.10.0-changelog.md index db3955bb3f..486ed2d268 100644 --- a/docs/releases/v1.10.0-changelog.md +++ b/docs/releases/v1.10.0-changelog.md @@ -253,7 +253,7 @@ - e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install) + **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/v1.10.0/plugins/adr-backend/README.md#install) ### Patch Changes @@ -809,7 +809,7 @@ ### Patch Changes -- aa17643a06: This plugin now exports a `createRouter` method which uses `UrlReaders` to make requests to your SCM. Please make sure you read the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install) +- aa17643a06: This plugin now exports a `createRouter` method which uses `UrlReaders` to make requests to your SCM. Please make sure you read the [install instructions](https://github.com/backstage/backstage/blob/v1.10.0/plugins/adr-backend/README.md#install) - 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x - Updated dependencies - @backstage/backend-common@0.18.0 diff --git a/docs/releases/v1.11.0-changelog.md b/docs/releases/v1.11.0-changelog.md index 42f9e9720b..f6c7901cb6 100644 --- a/docs/releases/v1.11.0-changelog.md +++ b/docs/releases/v1.11.0-changelog.md @@ -402,7 +402,7 @@ - d1fb4b7bf1: Add the new GraphQL Voyager tool as a plugin for backstage, expose necessary API and components needed for it. - For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager/README.md) of the plugin. + For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/graphql-voyager/README.md) of the plugin. ### Patch Changes @@ -538,7 +538,7 @@ - 44412375bb: Created a new plugin `@backstage/plugin-microsoft-calendar` to display events from a Microsoft Calendar. - please refer to the [README.md](https://github.com/backstage/backstage/blob/master/plugins/microsoft-calendar/README.md) for step-by-step instructions to setup the plugin in your Backstage instance. + please refer to the [README.md](https://github.com/backstage/backstage/blob/v1.11.0/plugins/microsoft-calendar/README.md) for step-by-step instructions to setup the plugin in your Backstage instance. ### Patch Changes diff --git a/docs/releases/v1.11.0-next.2-changelog.md b/docs/releases/v1.11.0-next.2-changelog.md index 65f6622921..089f6d8853 100644 --- a/docs/releases/v1.11.0-next.2-changelog.md +++ b/docs/releases/v1.11.0-next.2-changelog.md @@ -156,7 +156,7 @@ - d1fb4b7bf1: Add the new GraphQL Voyager tool as a plugin for backstage, expose necessary API and components needed for it. - For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager/README.md) of the plugin. + For more information on how to use this plugin and configure it, please navigate to the [README](https://github.com/backstage/backstage/tree/v1.11.0-next.2/plugins/graphql-voyager/README.md) of the plugin. ### Patch Changes diff --git a/docs/releases/v1.11.0.md b/docs/releases/v1.11.0.md index 1afed5fbb6..ad2118c754 100644 --- a/docs/releases/v1.11.0.md +++ b/docs/releases/v1.11.0.md @@ -41,37 +41,37 @@ We created a separate ESlint plugin package that houses some rules that are help ### New plugin: Entity Feedback -A plugin that allows users to rate the quality of entities in your Backstage catalog. Allowing your users to rate entities brings them into the feedback loop that can help notify owners if something is wrong with their entity (i.e. taking inspiration from the feedback model of TechDocs). Check out [the README](https://github.com/backstage/backstage/tree/master/plugins/entity-feedback)! +A plugin that allows users to rate the quality of entities in your Backstage catalog. Allowing your users to rate entities brings them into the feedback loop that can help notify owners if something is wrong with their entity (i.e. taking inspiration from the feedback model of TechDocs). Check out [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/entity-feedback)! Contributed by [@kuangp](https://github.com/kuangp) in [#15881](https://github.com/backstage/backstage/pull/15881) ### New plugin: Entity Validator -This plugin helps users create and edit their YAML definitions of entities, with live validation. It leverages the actual catalog backend for checks, so that you can submit catalog info file changes that fit your particular organization with greater confidence. Installation instructions and details are in [the README](https://github.com/backstage/backstage/tree/master/plugins/entity-validation). +This plugin helps users create and edit their YAML definitions of entities, with live validation. It leverages the actual catalog backend for checks, so that you can submit catalog info file changes that fit your particular organization with greater confidence. Installation instructions and details are in [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/entity-validation). Contributed by [@ivangonzalezacuna](https://github.com/ivangonzalezacuna) in [#16050](https://github.com/backstage/backstage/pull/16050) ### New Plugin: Microsoft Calendar -This plugin lets you show your MS calendars directly in Backstage. More information and installation instructions in [the README](https://github.com/backstage/backstage/tree/master/plugins/microsoft-calendar)! +This plugin lets you show your MS calendars directly in Backstage. More information and installation instructions in [the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/microsoft-calendar)! Contributed by [@Abhay-soni-developer](https://github.com/Abhay-soni-developer) in [#16101](https://github.com/backstage/backstage/pull/16101) ### New plugin: GraphQL Voyager -This nifty plugin presents a graph structure of your entire GraphQL API. Check out [its README](https://github.com/backstage/backstage/tree/master/plugins/graphql-voyager) for a screenshot and instructions on installing it. +This nifty plugin presents a graph structure of your entire GraphQL API. Check out [its README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/graphql-voyager) for a screenshot and instructions on installing it. Contributed by [@MitchWijt](https://github.com/MitchWijt) in [#16015](https://github.com/backstage/backstage/pull/16015) ### New plugin: Linguist -This plugin lets you see a nice visual representation of the breakdown of languages that a component’s repository is using, similar to the repository information that e.g. GitHub presents. More about that [in the README](https://github.com/backstage/backstage/tree/master/plugins/linguist)! +This plugin lets you see a nice visual representation of the breakdown of languages that a component’s repository is using, similar to the repository information that e.g. GitHub presents. More about that [in the README](https://github.com/backstage/backstage/tree/v1.11.0/plugins/linguist)! Contributed by [@ahhhndre](https://github.com/ahhhndre) in [#14718](https://github.com/backstage/backstage/pull/14718) ### Lighthouse Backend -The [Lighthouse plugin](https://github.com/backstage/backstage/tree/master/plugins/lighthouse) now has a [corresponding backend](https://github.com/backstage/backstage/tree/master/plugins/lighthouse-backend). This allows you to conveniently schedule audits from within Backstage. +The [Lighthouse plugin](https://github.com/backstage/backstage/tree/v1.11.0/plugins/lighthouse) now has a [corresponding backend](https://github.com/backstage/backstage/tree/v1.11.0/plugins/lighthouse-backend). This allows you to conveniently schedule audits from within Backstage. Note that as part of this, a `@backstage/plugin-lighthouse-common` package was also created, and types that were common to the frontend and backend were moved there. This means that if you were explicitly importing types from the frontend package, you may see compilation errors and need to add a dependency on the new common package and point your imports there instead. diff --git a/docs/releases/v1.12.0-changelog.md b/docs/releases/v1.12.0-changelog.md index 7a8b52e33b..df25020aee 100644 --- a/docs/releases/v1.12.0-changelog.md +++ b/docs/releases/v1.12.0-changelog.md @@ -449,7 +449,7 @@ ### Minor Changes -- f3a15259e91: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/master/plugins/stackstorm/README.md) +- f3a15259e91: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/v1.12.0/plugins/stackstorm/README.md) ### Patch Changes diff --git a/docs/releases/v1.12.0-next.0-changelog.md b/docs/releases/v1.12.0-next.0-changelog.md index b7f71b53e6..7732ebf22d 100644 --- a/docs/releases/v1.12.0-next.0-changelog.md +++ b/docs/releases/v1.12.0-next.0-changelog.md @@ -125,7 +125,7 @@ ### Minor Changes -- f3a15259e9: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/master/plugins/stackstorm/README.md) +- f3a15259e9: Add StackStorm plugin to Backstage which is interfacing with StackStorm API. It allows users to view workflow executions, packs and actions. For installation and configuration instructions please view [README.md](https://github.com/backstage/backstage/tree/v1.12.0-next.0/plugins/stackstorm/README.md) ### Patch Changes diff --git a/docs/releases/v1.13.0-changelog.md b/docs/releases/v1.13.0-changelog.md index 506800eb38..52f14bea1b 100644 --- a/docs/releases/v1.13.0-changelog.md +++ b/docs/releases/v1.13.0-changelog.md @@ -509,7 +509,7 @@ ### Minor Changes -- 70a036e940e: Initial version of [PuppetDB plugin](https://github.com/backstage/backstage/blob/master/plugins/puppetdb/README.md). +- 70a036e940e: Initial version of [PuppetDB plugin](https://github.com/backstage/backstage/blob/v1.13.0/plugins/puppetdb/README.md). ### Patch Changes diff --git a/docs/releases/v1.14.0-changelog.md b/docs/releases/v1.14.0-changelog.md index ff43be94a4..f207ab569c 100644 --- a/docs/releases/v1.14.0-changelog.md +++ b/docs/releases/v1.14.0-changelog.md @@ -2356,7 +2356,7 @@ - The `CheckResultRenderer` type now exposes an optional `description` method that allows to overwrite the description with a different string or a React component for a provided check result. Until now only the `BooleanCheck` element could be overridden, but from now on it's also possible to override the description for a check. - As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details + As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/v1.14.0/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details - Updated dependencies - @backstage/theme@0.3.0 diff --git a/docs/releases/v1.14.0-next.1-changelog.md b/docs/releases/v1.14.0-next.1-changelog.md index 2f91cb402e..0fa508bbd6 100644 --- a/docs/releases/v1.14.0-next.1-changelog.md +++ b/docs/releases/v1.14.0-next.1-changelog.md @@ -1502,7 +1502,7 @@ - The `CheckResultRenderer` type now exposes an optional `description` method that allows to overwrite the description with a different string or a React component for a provided check result. Until now only the `BooleanCheck` element could be overridden, but from now on it's also possible to override the description for a check. - As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/master/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details + As an example, the description could change depending on the check result. Refer to the [README](https://github.com/backstage/backstage/blob/v1.14.0-next.1/plugins/tech-insights/README.md#adding-custom-rendering-components) file for more details - Updated dependencies - @backstage/core-components@0.13.1-next.0 diff --git a/docs/releases/v1.17.0-changelog.md b/docs/releases/v1.17.0-changelog.md index a67226ca9e..700ab6ccea 100644 --- a/docs/releases/v1.17.0-changelog.md +++ b/docs/releases/v1.17.0-changelog.md @@ -773,7 +773,7 @@ ### Patch Changes -- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-newrelic-browser) for more details! +- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/v1.17.0/plugins/analytics-module-newrelic-browser) for more details! - Updated dependencies - @backstage/core-components@0.13.4 - @backstage/core-plugin-api@1.5.3 diff --git a/docs/releases/v1.17.0-next.0-changelog.md b/docs/releases/v1.17.0-next.0-changelog.md index 2d343696de..2cd71285ce 100644 --- a/docs/releases/v1.17.0-next.0-changelog.md +++ b/docs/releases/v1.17.0-next.0-changelog.md @@ -435,7 +435,7 @@ ### Patch Changes -- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-newrelic-browser) for more details! +- ec7357258853: Introduced the New Relic Browser analytics module. Check out the plugins [README.md](https://github.com/backstage/backstage/tree/v1.17.0-next.0/plugins/analytics-module-newrelic-browser) for more details! - Updated dependencies - @backstage/core-components@0.13.4-next.0 - @backstage/core-plugin-api@1.5.3 diff --git a/docs/releases/v1.18.0.md b/docs/releases/v1.18.0.md index cae0301fd5..eb42a5f58a 100644 --- a/docs/releases/v1.18.0.md +++ b/docs/releases/v1.18.0.md @@ -34,7 +34,7 @@ Contributed by [@sbarrypoppulo](https://github.com/sbarrypoppulo) in [#18889](ht ### New plugin: OpenCost -There’s a new [OpenCost](https://www.opencost.io/) plugin that provides a port of the latest OpenCost UI to Backstage. The [plugin's README](https://github.com/backstage/backstage/blob/master/plugins/opencost/README.md) covers installation and configuration. +There’s a new [OpenCost](https://www.opencost.io/) plugin that provides a port of the latest OpenCost UI to Backstage. The [plugin's README](https://github.com/backstage/backstage/blob/v1.18.0/plugins/opencost/README.md) covers installation and configuration. Contributed by [@mattray](https://github.com/mattray) in [#18383](https://github.com/backstage/backstage/pull/18383) diff --git a/docs/releases/v1.5.0-changelog.md b/docs/releases/v1.5.0-changelog.md index 6e4d251ef7..d17aae7d48 100644 --- a/docs/releases/v1.5.0-changelog.md +++ b/docs/releases/v1.5.0-changelog.md @@ -326,7 +326,7 @@ The whole proxy's `'/sonarqube':` key can be removed from your configuration files. - Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/master/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances. + Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/v1.5.0/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances. ### Patch Changes diff --git a/docs/releases/v1.5.0-next.1-changelog.md b/docs/releases/v1.5.0-next.1-changelog.md index deedd1dc44..8c8e039541 100644 --- a/docs/releases/v1.5.0-next.1-changelog.md +++ b/docs/releases/v1.5.0-next.1-changelog.md @@ -60,7 +60,7 @@ The whole proxy's `'/sonarqube':` key can be removed from your configuration files. - Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/master/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances. + Then head to the [README in sonarqube-backend plugin page](https://github.com/backstage/backstage/tree/v1.5.0-next.1/plugins/sonarqube-backend/README.md) to learn how to set-up the link to your Sonarqube instances. ### Patch Changes diff --git a/docs/releases/v1.5.0.md b/docs/releases/v1.5.0.md index d7bbfa62a2..325bee378d 100644 --- a/docs/releases/v1.5.0.md +++ b/docs/releases/v1.5.0.md @@ -32,7 +32,7 @@ This new plugin can be used to display GitHub issues for your entities. Contribu ### New plugin: `@backstage/plugin-sonarqube-backend` -This new backend for `@backstage/plugin-sonarqube` replaces the Sonarqube proxy configuration; once it is installed, you can remove the `/sonarqube` proxy entry. For more information, see the plugin [README.md](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-backend/README.md). Contributed by [@Neemys](https://github.com/Neemys) [#11925](https://github.com/backstage/backstage/pull/11925) +This new backend for `@backstage/plugin-sonarqube` replaces the Sonarqube proxy configuration; once it is installed, you can remove the `/sonarqube` proxy entry. For more information, see the plugin [README.md](https://github.com/backstage/backstage/blob/v1.5.0/plugins/sonarqube-backend/README.md). Contributed by [@Neemys](https://github.com/Neemys) [#11925](https://github.com/backstage/backstage/pull/11925) ### New module: `@backstage/plugin-catalog-backend-module-bitbucket-server` diff --git a/docs/releases/v1.6.0-changelog.md b/docs/releases/v1.6.0-changelog.md index 4172c19244..0308c5fd3d 100644 --- a/docs/releases/v1.6.0-changelog.md +++ b/docs/releases/v1.6.0-changelog.md @@ -980,7 +980,7 @@ If you were overriding the `getScorecardsDefinition` method to adjust the rendering of check results, you should now provide a custom renderer using `renderers` parameter in the `TechInsightsClient` class. - See the [README](https://github.com/backstage/backstage/tree/master/plugins/tech-insights/README.md) for more details. + See the [README](https://github.com/backstage/backstage/tree/v1.6.0/plugins/tech-insights/README.md) for more details. ### Patch Changes diff --git a/docs/releases/v1.6.0-next.1-changelog.md b/docs/releases/v1.6.0-next.1-changelog.md index ba5d032ead..3a1dc8f1b7 100644 --- a/docs/releases/v1.6.0-next.1-changelog.md +++ b/docs/releases/v1.6.0-next.1-changelog.md @@ -104,7 +104,7 @@ If you were overriding the `getScorecardsDefinition` method to adjust the rendering of check results, you should now provide a custom renderer using `renderers` parameter in the `TechInsightsClient` class. - See the [README](https://github.com/backstage/backstage/tree/master/plugins/tech-insights/README.md) for more details. + See the [README](https://github.com/backstage/backstage/tree/v1.6.0-next.1/plugins/tech-insights/README.md) for more details. ### Patch Changes diff --git a/docs/releases/v1.8.0-changelog.md b/docs/releases/v1.8.0-changelog.md index 4b36b01abf..54447a3960 100644 --- a/docs/releases/v1.8.0-changelog.md +++ b/docs/releases/v1.8.0-changelog.md @@ -872,7 +872,7 @@ - f1c3cdfb2d: Bumped create-app version. -- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html. +- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/v1.8.0/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html. For an existing installation where you want to remove the redundant app.googleAnalyticsTrackingId, you should make the following adjustment to `packages/app/public/index.html`: diff --git a/docs/releases/v1.8.0.md b/docs/releases/v1.8.0.md index 78cc5ab7cd..eb7857dc6c 100644 --- a/docs/releases/v1.8.0.md +++ b/docs/releases/v1.8.0.md @@ -32,7 +32,7 @@ Contributed by [@atoko](https://github.com/atoko) in [#14056](https://github.com ### Azure Sites -There's a new Azure Sites (Apps & Functions) plugin. It lets you view the current status of the site, and quickly jump to the site's Overview or Log Stream pages. Please check out [the plugin README](https://github.com/backstage/backstage/tree/master/plugins/azure-sites) for more information. +There's a new Azure Sites (Apps & Functions) plugin. It lets you view the current status of the site, and quickly jump to the site's Overview or Log Stream pages. Please check out [the plugin README](https://github.com/backstage/backstage/tree/v1.8.0/plugins/azure-sites) for more information. Contributed by [@wesley-pattison](https://github.com/wesley-pattison) in [#13634](https://github.com/backstage/backstage/pull/13634) diff --git a/docs/releases/v1.9.0-changelog.md b/docs/releases/v1.9.0-changelog.md index 07451f6d2c..f5b809522d 100644 --- a/docs/releases/v1.9.0-changelog.md +++ b/docs/releases/v1.9.0-changelog.md @@ -785,7 +785,7 @@ - isSonarQubeAvailable - SONARQUBE_PROJECT_KEY_ANNOTATION - Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-react/api-report.md). + Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/v1.9.0/plugins/sonarqube-react/api-report.md). ### Patch Changes @@ -820,7 +820,7 @@ - isSonarQubeAvailable - SONARQUBE_PROJECT_KEY_ANNOTATION - Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/master/plugins/sonarqube-react/api-report.md). + Exports that been introduced to plugin-sonarqube-react are documented in the [API report](https://github.com/backstage/backstage/blob/v1.9.0/plugins/sonarqube-react/api-report.md). ### Patch Changes @@ -1299,7 +1299,7 @@ - d3fea4ae0a: Internal fixes to avoid implicit usage of globals - 3280711113: Updated dependency `msw` to `^0.49.0`. - 9516b0c355: Added support for sending virtual pageviews on `search` events in order to enable - Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/master/plugins/analytics-module-ga/README.md#enabling-site-search) + Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/analytics-module-ga/README.md#enabling-site-search) - Updated dependencies - @backstage/core-plugin-api@1.2.0 - @backstage/core-components@0.12.1 @@ -2023,7 +2023,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -2047,7 +2047,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -2065,7 +2065,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -2079,7 +2079,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. diff --git a/docs/releases/v1.9.0-next.1-changelog.md b/docs/releases/v1.9.0-next.1-changelog.md index 862734131a..0716dba0cd 100644 --- a/docs/releases/v1.9.0-next.1-changelog.md +++ b/docs/releases/v1.9.0-next.1-changelog.md @@ -1133,7 +1133,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -1157,7 +1157,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -1175,7 +1175,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. @@ -1187,7 +1187,7 @@ - 4dec6f16be: Added new `@backstage/plugin-explore-backend` & `@backstage/plugin-explore-common` packages. - This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/master/plugins/explore-backend/README.md) for full details. + This deprecates the `ExploreToolsConfig` API (in `@backstage/plugin-explore-react`) which is replaced by the `ExploreApi` & `ExploreClient`. The list of `ExploreTool` data can now be provided on the backend by either using the supplied `StaticExploreToolProvider` or by implementing a custom `ExploreToolProvider`. See the [explore-backend README](https://github.com/backstage/backstage/blob/v1.9.0-next.1/plugins/explore-backend/README.md) for full details. NOTE: Existing installations that have customized the `ExploreToolConfig` will continue to work through the new `ExploreClient`. However, existing data should be migrated over to new `explore-backend` plugin as `ExploreToolConfig` will be removed in the future. diff --git a/docs/releases/v1.9.0-next.2-changelog.md b/docs/releases/v1.9.0-next.2-changelog.md index 2c6d495641..65c3b43b24 100644 --- a/docs/releases/v1.9.0-next.2-changelog.md +++ b/docs/releases/v1.9.0-next.2-changelog.md @@ -525,7 +525,7 @@ ### Patch Changes - 9516b0c355: Added support for sending virtual pageviews on `search` events in order to enable - Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/master/plugins/analytics-module-ga/README.md#enabling-site-search) + Site Search functionality in GA. For more information consult [README](https://github.com/backstage/backstage/blob/v1.9.0-next.2/plugins/analytics-module-ga/README.md#enabling-site-search) - Updated dependencies - @backstage/core-plugin-api@1.2.0-next.2 - @backstage/core-components@0.12.1-next.2 diff --git a/packages/app-next/package.json b/packages/app-next/package.json index d98cc91a57..fdb84f3e81 100644 --- a/packages/app-next/package.json +++ b/packages/app-next/package.json @@ -15,6 +15,7 @@ "@backstage/app-defaults": "workspace:^", "@backstage/catalog-model": "workspace:^", "@backstage/cli": "workspace:^", + "@backstage/config": "workspace:^", "@backstage/core-app-api": "workspace:^", "@backstage/core-compat-api": "workspace:^", "@backstage/core-components": "workspace:^", @@ -22,83 +23,46 @@ "@backstage/frontend-app-api": "workspace:^", "@backstage/frontend-plugin-api": "workspace:^", "@backstage/integration-react": "workspace:^", - "@backstage/plugin-adr": "workspace:^", - "@backstage/plugin-airbrake": "workspace:^", - "@backstage/plugin-apache-airflow": "workspace:^", "@backstage/plugin-api-docs": "workspace:^", "@backstage/plugin-app-visualizer": "workspace:^", - "@backstage/plugin-azure-devops": "workspace:^", - "@backstage/plugin-azure-sites": "workspace:^", - "@backstage/plugin-badges": "workspace:^", + "@backstage/plugin-auth-react": "workspace:^", "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-graph": "workspace:^", "@backstage/plugin-catalog-import": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-catalog-unprocessed-entities": "workspace:^", - "@backstage/plugin-cloudbuild": "workspace:^", - "@backstage/plugin-code-coverage": "workspace:^", - "@backstage/plugin-cost-insights": "workspace:^", - "@backstage/plugin-devtools": "workspace:^", - "@backstage/plugin-dynatrace": "workspace:^", - "@backstage/plugin-entity-feedback": "workspace:^", - "@backstage/plugin-explore": "workspace:^", - "@backstage/plugin-gcalendar": "workspace:^", - "@backstage/plugin-gcp-projects": "workspace:^", - "@backstage/plugin-github-actions": "workspace:^", - "@backstage/plugin-gocd": "workspace:^", - "@backstage/plugin-graphiql": "workspace:^", "@backstage/plugin-home": "workspace:^", - "@backstage/plugin-jenkins": "workspace:^", - "@backstage/plugin-kafka": "workspace:^", "@backstage/plugin-kubernetes": "workspace:^", - "@backstage/plugin-lighthouse": "workspace:^", - "@backstage/plugin-linguist": "workspace:^", - "@backstage/plugin-linguist-common": "workspace:^", - "@backstage/plugin-microsoft-calendar": "workspace:^", - "@backstage/plugin-newrelic": "workspace:^", - "@backstage/plugin-newrelic-dashboard": "workspace:^", - "@backstage/plugin-octopus-deploy": "workspace:^", + "@backstage/plugin-kubernetes-cluster": "workspace:^", + "@backstage/plugin-notifications": "workspace:^", "@backstage/plugin-org": "workspace:^", - "@backstage/plugin-pagerduty": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", - "@backstage/plugin-playlist": "workspace:^", - "@backstage/plugin-puppetdb": "workspace:^", - "@backstage/plugin-rollbar": "workspace:^", "@backstage/plugin-scaffolder": "workspace:^", "@backstage/plugin-scaffolder-react": "workspace:^", "@backstage/plugin-search": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/plugin-sentry": "workspace:^", - "@backstage/plugin-shortcuts": "workspace:^", - "@backstage/plugin-stackstorm": "workspace:^", - "@backstage/plugin-tech-insights": "workspace:^", - "@backstage/plugin-tech-radar": "workspace:^", + "@backstage/plugin-signals": "workspace:^", "@backstage/plugin-techdocs": "workspace:^", "@backstage/plugin-techdocs-module-addons-contrib": "workspace:^", "@backstage/plugin-techdocs-react": "workspace:^", - "@backstage/plugin-todo": "workspace:^", "@backstage/plugin-user-settings": "workspace:^", "@backstage/theme": "workspace:^", - "@circleci/backstage-plugin": "^0.1.1", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@octokit/rest": "^19.0.3", - "@oriflame/backstage-plugin-score-card": "^0.8.0", - "@roadiehq/backstage-plugin-buildkite": "^2.0.8", - "@roadiehq/backstage-plugin-github-insights": "^2.0.5", - "@roadiehq/backstage-plugin-github-pull-requests": "^2.2.7", - "@roadiehq/backstage-plugin-travis-ci": "^2.0.5", - "app-next-example-plugin": "workspace:^", + "@vitejs/plugin-react": "^4.0.4", "history": "^5.0.0", - "lodash": "^4.17.21", "react": "^18.0.2", "react-dom": "^18.0.2", "react-router": "^6.3.0", "react-router-dom": "^6.3.0", "react-use": "^17.2.4", + "vite": "^4.4.9", + "vite-plugin-html": "^3.2.0", + "vite-plugin-node-polyfills": "^0.21.0", "zen-observable": "^0.10.0" }, "devDependencies": { diff --git a/packages/app-next/src/App.test.tsx b/packages/app-next/src/App.test.tsx index 350daaaecc..ee456e1d72 100644 --- a/packages/app-next/src/App.test.tsx +++ b/packages/app-next/src/App.test.tsx @@ -16,11 +16,6 @@ import { renderWithEffects } from '@backstage/test-utils'; -jest.mock('@backstage/plugin-graphiql', () => ({ - ...jest.requireActual('@backstage/plugin-graphiql'), - GraphiQLIcon: () => null, -})); - // Rarely, and only in windows CI, do these tests take slightly more than the // default five seconds jest.setTimeout(15_000); diff --git a/packages/app-next/src/App.tsx b/packages/app-next/src/App.tsx index 03a6649c27..83b921aea1 100644 --- a/packages/app-next/src/App.tsx +++ b/packages/app-next/src/App.tsx @@ -18,8 +18,6 @@ import React from 'react'; import { createApp } from '@backstage/frontend-app-api'; import { pagesPlugin } from './examples/pagesPlugin'; import notFoundErrorPage from './examples/notFoundErrorPageExtension'; -import graphiqlPlugin from '@backstage/plugin-graphiql/alpha'; -import techRadarPlugin from '@backstage/plugin-tech-radar/alpha'; import userSettingsPlugin from '@backstage/plugin-user-settings/alpha'; import homePlugin, { titleExtensionDataRef, @@ -118,9 +116,7 @@ const collectedLegacyPlugins = convertLegacyApp( const app = createApp({ features: [ - graphiqlPlugin, pagesPlugin, - techRadarPlugin, techdocsPlugin, userSettingsPlugin, homePlugin, diff --git a/packages/app-next/src/HomePage.tsx b/packages/app-next/src/HomePage.tsx index cb31beb34a..d6ee5cbb04 100644 --- a/packages/app-next/src/HomePage.tsx +++ b/packages/app-next/src/HomePage.tsx @@ -27,11 +27,8 @@ import { WelcomeTitle, } from '@backstage/plugin-home'; import { Content, Header, Page } from '@backstage/core-components'; -import { HomePageCalendar } from '@backstage/plugin-gcalendar'; -import { MicrosoftCalendarCard } from '@backstage/plugin-microsoft-calendar'; import React from 'react'; import HomeIcon from '@material-ui/icons/Home'; -import { HomePagePagerDutyCard } from '@backstage/plugin-pagerduty'; const clockConfigs: ClockConfig[] = [ { @@ -96,9 +93,6 @@ export const homePage = ( - - - diff --git a/packages/app/package.json b/packages/app/package.json index f1911474e4..809bf35313 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -44,81 +44,36 @@ "@backstage/core-plugin-api": "workspace:^", "@backstage/frontend-app-api": "workspace:^", "@backstage/integration-react": "workspace:^", - "@backstage/plugin-adr": "workspace:^", - "@backstage/plugin-airbrake": "workspace:^", - "@backstage/plugin-apache-airflow": "workspace:^", "@backstage/plugin-api-docs": "workspace:^", "@backstage/plugin-auth-react": "workspace:^", - "@backstage/plugin-azure-devops": "workspace:^", - "@backstage/plugin-azure-sites": "workspace:^", - "@backstage/plugin-badges": "workspace:^", "@backstage/plugin-catalog": "workspace:^", "@backstage/plugin-catalog-common": "workspace:^", "@backstage/plugin-catalog-graph": "workspace:^", "@backstage/plugin-catalog-import": "workspace:^", "@backstage/plugin-catalog-react": "workspace:^", "@backstage/plugin-catalog-unprocessed-entities": "workspace:^", - "@backstage/plugin-cloudbuild": "workspace:^", - "@backstage/plugin-code-coverage": "workspace:^", - "@backstage/plugin-cost-insights": "workspace:^", "@backstage/plugin-devtools": "workspace:^", - "@backstage/plugin-dynatrace": "workspace:^", - "@backstage/plugin-entity-feedback": "workspace:^", - "@backstage/plugin-explore": "workspace:^", - "@backstage/plugin-gcalendar": "workspace:^", - "@backstage/plugin-gcp-projects": "workspace:^", - "@backstage/plugin-github-actions": "workspace:^", - "@backstage/plugin-github-pull-requests-board": "workspace:^", - "@backstage/plugin-gocd": "workspace:^", - "@backstage/plugin-graphiql": "workspace:^", "@backstage/plugin-home": "workspace:^", - "@backstage/plugin-jenkins": "workspace:^", - "@backstage/plugin-kafka": "workspace:^", "@backstage/plugin-kubernetes": "workspace:^", "@backstage/plugin-kubernetes-cluster": "workspace:^", - "@backstage/plugin-lighthouse": "workspace:^", - "@backstage/plugin-linguist": "workspace:^", - "@backstage/plugin-linguist-common": "workspace:^", - "@backstage/plugin-microsoft-calendar": "workspace:^", - "@backstage/plugin-newrelic": "workspace:^", - "@backstage/plugin-newrelic-dashboard": "workspace:^", - "@backstage/plugin-nomad": "workspace:^", "@backstage/plugin-notifications": "workspace:^", - "@backstage/plugin-octopus-deploy": "workspace:^", "@backstage/plugin-org": "workspace:^", - "@backstage/plugin-pagerduty": "workspace:^", "@backstage/plugin-permission-react": "workspace:^", - "@backstage/plugin-playlist": "workspace:^", - "@backstage/plugin-puppetdb": "workspace:^", - "@backstage/plugin-rollbar": "workspace:^", "@backstage/plugin-scaffolder": "workspace:^", "@backstage/plugin-scaffolder-react": "workspace:^", "@backstage/plugin-search": "workspace:^", "@backstage/plugin-search-common": "workspace:^", "@backstage/plugin-search-react": "workspace:^", - "@backstage/plugin-sentry": "workspace:^", - "@backstage/plugin-shortcuts": "workspace:^", "@backstage/plugin-signals": "workspace:^", - "@backstage/plugin-stack-overflow": "workspace:^", - "@backstage/plugin-stackstorm": "workspace:^", - "@backstage/plugin-tech-insights": "workspace:^", - "@backstage/plugin-tech-radar": "workspace:^", "@backstage/plugin-techdocs": "workspace:^", "@backstage/plugin-techdocs-module-addons-contrib": "workspace:^", "@backstage/plugin-techdocs-react": "workspace:^", - "@backstage/plugin-todo": "workspace:^", "@backstage/plugin-user-settings": "workspace:^", "@backstage/theme": "workspace:^", - "@circleci/backstage-plugin": "^0.1.1", "@material-ui/core": "^4.12.2", "@material-ui/icons": "^4.9.1", "@material-ui/lab": "4.0.0-alpha.61", "@octokit/rest": "^19.0.3", - "@oriflame/backstage-plugin-score-card": "^0.8.0", - "@roadiehq/backstage-plugin-buildkite": "^2.0.8", - "@roadiehq/backstage-plugin-github-insights": "^2.0.5", - "@roadiehq/backstage-plugin-github-pull-requests": "^2.2.7", - "@roadiehq/backstage-plugin-travis-ci": "^2.0.5", "@vitejs/plugin-react": "^4.0.4", "history": "^5.0.0", "react": "^18.0.2", diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx index 3d8bd45e5a..652582984e 100644 --- a/packages/app/src/App.tsx +++ b/packages/app/src/App.tsx @@ -34,8 +34,6 @@ import { SignInPage, } from '@backstage/core-components'; import { apiDocsPlugin, ApiExplorerPage } from '@backstage/plugin-api-docs'; -import { AzurePullRequestsPage } from '@backstage/plugin-azure-devops'; - import { CatalogEntityPage, CatalogIndexPage, @@ -47,24 +45,15 @@ import { CatalogImportPage, catalogImportPlugin, } from '@backstage/plugin-catalog-import'; -import { - CostInsightsLabelDataflowInstructionsPage, - CostInsightsPage, - CostInsightsProjectGrowthInstructionsPage, -} from '@backstage/plugin-cost-insights'; import { orgPlugin } from '@backstage/plugin-org'; -import { ExplorePage } from '@backstage/plugin-explore'; -import { GcpProjectsPage } from '@backstage/plugin-gcp-projects'; import { HomepageCompositionRoot, VisitListener } from '@backstage/plugin-home'; -import { LighthousePage } from '@backstage/plugin-lighthouse'; -import { NewRelicPage } from '@backstage/plugin-newrelic'; + import { ScaffolderPage, scaffolderPlugin } from '@backstage/plugin-scaffolder'; import { ScaffolderFieldExtensions, ScaffolderLayouts, } from '@backstage/plugin-scaffolder-react'; import { SearchPage } from '@backstage/plugin-search'; -import { TechRadarPage } from '@backstage/plugin-tech-radar'; import { TechDocsIndexPage, techdocsPlugin, @@ -96,16 +85,11 @@ import { providers } from './identityProviders'; import * as plugins from './plugins'; import { techDocsPage } from './components/techdocs/TechDocsPage'; -import { ApacheAirflowPage } from '@backstage/plugin-apache-airflow'; import { RequirePermission } from '@backstage/plugin-permission-react'; import { catalogEntityCreatePermission } from '@backstage/plugin-catalog-common/alpha'; -import { PlaylistIndexPage, PlaylistPage } from '@backstage/plugin-playlist'; import { TwoColumnLayout } from './components/scaffolder/customScaffolderLayouts'; -import { ScoreBoardPage } from '@oriflame/backstage-plugin-score-card'; -import { StackstormPage } from '@backstage/plugin-stackstorm'; -import { PuppetDbPage } from '@backstage/plugin-puppetdb'; -import { DevToolsPage } from '@backstage/plugin-devtools'; import { customDevToolsPage } from './components/devtools/CustomDevToolsPage'; +import { DevToolsPage } from '@backstage/plugin-devtools'; import { CatalogUnprocessedEntitiesPage } from '@backstage/plugin-catalog-unprocessed-entities'; import { NotificationsPage } from '@backstage/plugin-notifications'; @@ -237,39 +221,17 @@ const routes = ( - } /> - } - /> - } /> + } /> - } /> - } /> }> {searchPage} - } /> - } - /> - } - /> + }> - } /> - } /> - } /> - } /> - } /> - } /> - } /> }> {customDevToolsPage} diff --git a/packages/app/src/apis.ts b/packages/app/src/apis.ts index f2fda9882b..0c2ccbad22 100644 --- a/packages/app/src/apis.ts +++ b/packages/app/src/apis.ts @@ -19,22 +19,11 @@ import { scmIntegrationsApiRef, ScmAuth, } from '@backstage/integration-react'; -import { - costInsightsApiRef, - ExampleCostInsightsClient, -} from '@backstage/plugin-cost-insights'; -import { - graphQlBrowseApiRef, - GraphQLEndpoints, -} from '@backstage/plugin-graphiql'; import { AnyApiFactory, configApiRef, createApiFactory, discoveryApiRef, - errorApiRef, - fetchApiRef, - githubAuthApiRef, } from '@backstage/core-plugin-api'; import { AuthProxyDiscoveryApi } from './AuthProxyDiscoveryApi'; @@ -51,31 +40,4 @@ export const apis: AnyApiFactory[] = [ }), ScmAuth.createDefaultApiFactory(), - - createApiFactory({ - api: graphQlBrowseApiRef, - deps: { - errorApi: errorApiRef, - fetchApi: fetchApiRef, - githubAuthApi: githubAuthApiRef, - }, - factory: ({ errorApi, fetchApi, githubAuthApi }) => - GraphQLEndpoints.from([ - GraphQLEndpoints.create({ - id: 'gitlab', - title: 'GitLab', - url: 'https://gitlab.com/api/graphql', - fetchApi, - }), - GraphQLEndpoints.github({ - id: 'github', - title: 'GitHub', - errorApi, - fetchApi, - githubAuthApi, - }), - ]), - }), - - createApiFactory(costInsightsApiRef, new ExampleCostInsightsClient()), ]; diff --git a/packages/app/src/components/Root/Root.tsx b/packages/app/src/components/Root/Root.tsx index 6294aa7856..af053f623c 100644 --- a/packages/app/src/components/Root/Root.tsx +++ b/packages/app/src/components/Root/Root.tsx @@ -32,7 +32,6 @@ import { UserSettingsSignInAvatar, } from '@backstage/plugin-user-settings'; import { SidebarSearchModal } from '@backstage/plugin-search'; -import { Shortcuts } from '@backstage/plugin-shortcuts'; import { Link, Sidebar, @@ -166,7 +165,6 @@ export const Root = ({ children }: PropsWithChildren<{}>) => ( - diff --git a/packages/app/src/components/catalog/EntityPage.test.tsx b/packages/app/src/components/catalog/EntityPage.test.tsx index 25181db2c1..5d2b23b007 100644 --- a/packages/app/src/components/catalog/EntityPage.test.tsx +++ b/packages/app/src/components/catalog/EntityPage.test.tsx @@ -20,7 +20,6 @@ import { starredEntitiesApiRef, MockStarredEntitiesApi, } from '@backstage/plugin-catalog-react'; -import { githubActionsApiRef } from '@backstage/plugin-github-actions'; import { permissionApiRef } from '@backstage/plugin-permission-react'; import { MockPermissionApi, @@ -47,9 +46,6 @@ describe('EntityPage Test', () => { }, }; - const mockedApi = { - listWorkflowRuns: jest.fn().mockResolvedValue([]), - }; const mockPermissionApi = new MockPermissionApi(); const rootRouteRef = catalogPlugin.routes.catalogIndex; @@ -58,7 +54,6 @@ describe('EntityPage Test', () => { const rendered = await renderInTestApp( { expect(rendered.getByText('ExampleComponent')).toBeInTheDocument(); await expect( - rendered.findByText('No Workflow Data'), + rendered.findByText('No CI/CD available for this entity'), ).resolves.toBeInTheDocument(); - expect(rendered.getByText('Create new Workflow')).toBeInTheDocument(); }); }); }); diff --git a/packages/app/src/components/catalog/EntityPage.tsx b/packages/app/src/components/catalog/EntityPage.tsx index b0b227be92..586c793a4f 100644 --- a/packages/app/src/components/catalog/EntityPage.tsx +++ b/packages/app/src/components/catalog/EntityPage.tsx @@ -15,7 +15,6 @@ */ import { - Entity, RELATION_API_CONSUMED_BY, RELATION_API_PROVIDED_BY, RELATION_CONSUMES_API, @@ -25,8 +24,7 @@ import { RELATION_PART_OF, RELATION_PROVIDES_API, } from '@backstage/catalog-model'; -import { EmptyState, InfoCard } from '@backstage/core-components'; -import { EntityAdrContent, isAdrAvailable } from '@backstage/plugin-adr'; +import { EmptyState } from '@backstage/core-components'; import { EntityApiDefinitionCard, EntityConsumedApisCard, @@ -35,19 +33,6 @@ import { EntityProvidedApisCard, EntityProvidingComponentsCard, } from '@backstage/plugin-api-docs'; -import { - EntityAzurePipelinesContent, - EntityAzureGitTagsContent, - EntityAzurePullRequestsContent, - isAzureDevOpsAvailable, - isAzurePipelinesAvailable, - EntityAzureReadmeCard, -} from '@backstage/plugin-azure-devops'; -import { - isOctopusDeployAvailable, - EntityOctopusDeployContent, -} from '@backstage/plugin-octopus-deploy'; -import { EntityBadgesDialog } from '@backstage/plugin-badges'; import { EntityAboutCard, EntityDependsOnComponentsCard, @@ -74,158 +59,39 @@ import { Direction, EntityCatalogGraphCard, } from '@backstage/plugin-catalog-graph'; -import { - EntityCircleCIContent, - isCircleCIAvailable, -} from '@circleci/backstage-plugin'; -import { - EntityCloudbuildContent, - isCloudbuildAvailable, -} from '@backstage/plugin-cloudbuild'; -import { EntityCodeCoverageContent } from '@backstage/plugin-code-coverage'; -import { - DynatraceTab, - isDynatraceAvailable, -} from '@backstage/plugin-dynatrace'; -import { - EntityFeedbackResponseContent, - EntityLikeDislikeRatingsCard, - LikeDislikeButtons, -} from '@backstage/plugin-entity-feedback'; -import { - EntityGithubActionsContent, - EntityRecentGithubActionsRunsCard, - isGithubActionsAvailable, -} from '@backstage/plugin-github-actions'; -import { - EntityJenkinsContent, - EntityLatestJenkinsRunCard, - isJenkinsAvailable, -} from '@backstage/plugin-jenkins'; -import { EntityKafkaContent } from '@backstage/plugin-kafka'; import { EntityKubernetesContent } from '@backstage/plugin-kubernetes'; import { isKubernetesClusterAvailable, EntityKubernetesClusterContent, } from '@backstage/plugin-kubernetes-cluster'; -import { - EntityLastLighthouseAuditCard, - EntityLighthouseContent, - isLighthouseAvailable, -} from '@backstage/plugin-lighthouse'; import { EntityGroupProfileCard, EntityMembersListCard, EntityOwnershipCard, EntityUserProfileCard, } from '@backstage/plugin-org'; -import { - EntityNomadAllocationListTable, - EntityNomadJobVersionListCard, - isNomadAllocationsAvailable, - isNomadJobIDAvailable, -} from '@backstage/plugin-nomad'; -import { - EntityPagerDutyCard, - isPagerDutyAvailable, -} from '@backstage/plugin-pagerduty'; -import { EntityPlaylistDialog } from '@backstage/plugin-playlist'; -import { - EntityRollbarContent, - isRollbarAvailable, -} from '@backstage/plugin-rollbar'; -import { PuppetDbPage, isPuppetDbAvailable } from '@backstage/plugin-puppetdb'; -import { EntitySentryContent } from '@backstage/plugin-sentry'; -import { EntityTechdocsContent } from '@backstage/plugin-techdocs'; -import { EntityTechInsightsScorecardCard } from '@backstage/plugin-tech-insights'; -import { EntityTodoContent } from '@backstage/plugin-todo'; import { Button, Grid } from '@material-ui/core'; -import BadgeIcon from '@material-ui/icons/CallToAction'; -import PlaylistAddIcon from '@material-ui/icons/PlaylistAdd'; - -import { - EntityGithubInsightsContent, - EntityGithubInsightsLanguagesCard, - EntityGithubInsightsReadmeCard, - EntityGithubInsightsReleasesCard, - isGithubInsightsAvailable, -} from '@roadiehq/backstage-plugin-github-insights'; -import { - EntityGithubPullRequestsContent, - EntityGithubPullRequestsOverviewCard, - isGithubPullRequestsAvailable, -} from '@roadiehq/backstage-plugin-github-pull-requests'; -import { - EntityTravisCIContent, - EntityTravisCIOverviewCard, - isTravisciAvailable, -} from '@roadiehq/backstage-plugin-travis-ci'; -import { - EntityBuildkiteContent, - isBuildkiteAvailable, -} from '@roadiehq/backstage-plugin-buildkite'; -import { - isNewRelicDashboardAvailable, - EntityNewRelicDashboardContent, - EntityNewRelicDashboardCard, -} from '@backstage/plugin-newrelic-dashboard'; -import { EntityGoCdContent, isGoCdAvailable } from '@backstage/plugin-gocd'; -import { EntityScoreCardContent } from '@oriflame/backstage-plugin-score-card'; - -import React, { ReactNode, useMemo, useState } from 'react'; - +import React, { ReactNode } from 'react'; import { TechDocsAddons } from '@backstage/plugin-techdocs-react'; import { TextSize, ReportIssue, LightBox, } from '@backstage/plugin-techdocs-module-addons-contrib'; -import { EntityCostInsightsContent } from '@backstage/plugin-cost-insights'; -import { - isLinguistAvailable, - EntityLinguistCard, -} from '@backstage/plugin-linguist'; -import { EntityTeamPullRequestsContent } from '@backstage/plugin-github-pull-requests-board'; +import { EntityTechdocsContent } from '@backstage/plugin-techdocs'; const customEntityFilterKind = ['Component', 'API', 'System']; const EntityLayoutWrapper = (props: { children?: ReactNode }) => { - const [badgesDialogOpen, setBadgesDialogOpen] = useState(false); - const [playlistDialogOpen, setPlaylistDialogOpen] = useState(false); - - const extraMenuItems = useMemo(() => { - return [ - { - title: 'Badges', - Icon: BadgeIcon, - onClick: () => setBadgesDialogOpen(true), - }, - { - title: 'Add to playlist', - Icon: PlaylistAddIcon, - onClick: () => setPlaylistDialogOpen(true), - }, - ]; - }, []); - return ( <> {props.children} - setBadgesDialogOpen(false)} - /> - setPlaylistDialogOpen(false)} - /> ); }; @@ -249,42 +115,6 @@ const techdocsContent = ( export const cicdContent = ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -const cicdCard = ( - - - - - - - - boolean}> - - - - - - - - - - - -); - const entityWarningContent = ( <> @@ -354,30 +162,6 @@ const entityWarningContent = ( ); -const errorsContent = ( - - - - - - - - - -); - -const pullRequestsContent = ( - - - - - - - - - -); - const overviewContent = ( {entityWarningContent} @@ -389,22 +173,6 @@ const overviewContent = ( - - - - - - - - - - - - - - - - @@ -417,69 +185,9 @@ const overviewContent = ( - - - - - - - - - - - - - - - {cicdCard} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); @@ -493,10 +201,6 @@ const serviceEntityPage = ( {cicdContent} - - {errorsContent} - - @@ -523,83 +227,9 @@ const serviceEntityPage = ( {techdocsContent} - - - - - - - - - - - - - - - {pullRequestsContent} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); @@ -613,14 +243,6 @@ const websiteEntityPage = ( {cicdContent} - - - - - - {errorsContent} - - @@ -636,53 +258,9 @@ const websiteEntityPage = ( {techdocsContent} - - - - - - - - - - - - - - - {pullRequestsContent} - - - - - - - - - - - - - - - - - ); @@ -695,14 +273,6 @@ const defaultEntityPage = ( {techdocsContent} - - - - - - - - ); @@ -739,11 +309,6 @@ const apiPage = ( - - - - - @@ -756,10 +321,6 @@ const apiPage = ( - - - - ); @@ -777,9 +338,6 @@ const userPage = ( entityFilterKind={customEntityFilterKind} /> - - - @@ -805,14 +363,8 @@ const groupPage = ( - - - - - - ); @@ -836,18 +388,6 @@ const systemPage = ( - - - - - - - - - - - - @@ -869,9 +409,6 @@ const systemPage = ( unidirectional={false} /> - - - ); @@ -889,16 +426,8 @@ const domainPage = ( - - - - - - - - ); @@ -925,16 +454,6 @@ const resourcePage = ( > - - - - - - ); diff --git a/packages/app/src/components/home/HomePage.tsx b/packages/app/src/components/home/HomePage.tsx index 5940b0ac6c..026cd5faff 100644 --- a/packages/app/src/components/home/HomePage.tsx +++ b/packages/app/src/components/home/HomePage.tsx @@ -28,11 +28,8 @@ import { } from '@backstage/plugin-home'; import { Content, Header, Page } from '@backstage/core-components'; import { HomePageSearchBar } from '@backstage/plugin-search'; -import { HomePageCalendar } from '@backstage/plugin-gcalendar'; -import { MicrosoftCalendarCard } from '@backstage/plugin-microsoft-calendar'; import React from 'react'; import HomeIcon from '@material-ui/icons/Home'; -import { HomePagePagerDutyCard } from '@backstage/plugin-pagerduty'; const clockConfigs: ClockConfig[] = [ { @@ -98,9 +95,6 @@ export const homePage = ( - - - diff --git a/packages/app/src/components/home/templates/CustomizableTemplate.stories.tsx b/packages/app/src/components/home/templates/CustomizableTemplate.stories.tsx index e587e52da4..33a1bc2012 100644 --- a/packages/app/src/components/home/templates/CustomizableTemplate.stories.tsx +++ b/packages/app/src/components/home/templates/CustomizableTemplate.stories.tsx @@ -30,8 +30,6 @@ import { configApiRef } from '@backstage/core-plugin-api'; import { ConfigReader } from '@backstage/config'; import { searchApiRef } from '@backstage/plugin-search-react'; import { HomePageSearchBar, searchPlugin } from '@backstage/plugin-search'; -import { HomePageCalendar } from '@backstage/plugin-gcalendar'; -import { MicrosoftCalendarCard } from '@backstage/plugin-microsoft-calendar'; import React, { ComponentType } from 'react'; const entities = [ @@ -145,8 +143,6 @@ export const CustomizableTemplate = () => { // remove the widgets as they want. - - ); diff --git a/packages/app/src/components/home/templates/DefaultTemplate.stories.tsx b/packages/app/src/components/home/templates/DefaultTemplate.stories.tsx index 05d9a4eecd..64e6a87f60 100644 --- a/packages/app/src/components/home/templates/DefaultTemplate.stories.tsx +++ b/packages/app/src/components/home/templates/DefaultTemplate.stories.tsx @@ -36,7 +36,6 @@ import { searchApiRef, SearchContextProvider, } from '@backstage/plugin-search-react'; -import { stackOverflowApiRef, HomePageStackOverflowQuestions } from '@backstage/plugin-stack-overflow'; import { Grid, makeStyles } from '@material-ui/core'; import React, { ComponentType, PropsWithChildren } from 'react'; @@ -79,25 +78,6 @@ const mockCatalogApi = { getEntities: async () => ({ items: entities }), }; -const mockStackOverflowApi = { - listQuestions: async () => [ - { - title: 'Customizing Spotify backstage UI', - link: 'stackoverflow.question/1', - answer_count: 0, - tags: ['backstage'], - owner: { 'some owner': 'name' }, - }, - { - title: 'Customizing Spotify backstage UI', - link: 'stackoverflow.question/1', - answer_count: 0, - tags: ['backstage'], - owner: { 'some owner': 'name' }, - }, - ], -}; - const starredEntitiesApi = new MockStarredEntitiesApi(); starredEntitiesApi.toggleStarred('component:default/example-starred-entity'); starredEntitiesApi.toggleStarred('component:default/example-starred-entity-2'); @@ -112,7 +92,6 @@ export default { <> Promise.resolve({ results: [] }) }], @@ -203,15 +182,6 @@ export const DefaultTemplate = () => {
- - - diff --git a/packages/app/src/components/search/SearchModal.tsx b/packages/app/src/components/search/SearchModal.tsx index 23aec53a58..34caeeae63 100644 --- a/packages/app/src/components/search/SearchModal.tsx +++ b/packages/app/src/components/search/SearchModal.tsx @@ -19,7 +19,6 @@ import { CATALOG_FILTER_EXISTS, catalogApiRef, } from '@backstage/plugin-catalog-react'; -import { ToolSearchResultListItem } from '@backstage/plugin-explore'; import { searchPlugin, SearchType } from '@backstage/plugin-search'; import { SearchBar, @@ -41,7 +40,6 @@ import { import Button from '@material-ui/core/Button'; import IconButton from '@material-ui/core/IconButton'; import ArrowForwardIcon from '@material-ui/icons/ArrowForward'; -import BuildIcon from '@material-ui/icons/Build'; import CloseIcon from '@material-ui/icons/Close'; import React, { useCallback, useEffect, useRef } from 'react'; import { useNavigate } from 'react-router-dom'; @@ -207,7 +205,6 @@ export const SearchModal = ({ toggleModal }: { toggleModal: () => void }) => { } /> } /> - } /> diff --git a/packages/app/src/components/search/SearchPage.tsx b/packages/app/src/components/search/SearchPage.tsx index d904aef45c..6914fa71cb 100644 --- a/packages/app/src/components/search/SearchPage.tsx +++ b/packages/app/src/components/search/SearchPage.tsx @@ -28,7 +28,6 @@ import { catalogApiRef, CATALOG_FILTER_EXISTS, } from '@backstage/plugin-catalog-react'; -import { AdrSearchResultListItem } from '@backstage/plugin-adr'; import { SearchType } from '@backstage/plugin-search'; import { SearchBar, @@ -41,8 +40,6 @@ import { import { TechDocsSearchResultListItem } from '@backstage/plugin-techdocs'; import { Grid, makeStyles, Paper, Theme } from '@material-ui/core'; import React from 'react'; -import { ToolSearchResultListItem } from '@backstage/plugin-explore'; -import BuildIcon from '@material-ui/icons/Build'; const useStyles = makeStyles((theme: Theme) => ({ filter: { @@ -131,8 +128,6 @@ const SearchPage = () => { } /> } /> - } /> - } /> diff --git a/packages/app/src/plugins.ts b/packages/app/src/plugins.ts index ddd12bea2c..9280536997 100644 --- a/packages/app/src/plugins.ts +++ b/packages/app/src/plugins.ts @@ -16,7 +16,5 @@ // TODO(Rugvip): This plugin is currently not part of the app element tree, // ideally we have an API for the context menu that permits that. -export { badgesPlugin } from '@backstage/plugin-badges'; -export { shortcutsPlugin } from '@backstage/plugin-shortcuts'; export { homePlugin } from '@backstage/plugin-home'; export { signalsPlugin } from '@backstage/plugin-signals'; diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json index 757e4b269f..9de8bb1788 100644 --- a/packages/backend-next/package.json +++ b/packages/backend-next/package.json @@ -29,32 +29,23 @@ "@backstage/backend-plugin-api": "workspace:^", "@backstage/backend-tasks": "workspace:^", "@backstage/catalog-model": "workspace:^", - "@backstage/plugin-adr-backend": "workspace:^", "@backstage/plugin-app-backend": "workspace:^", "@backstage/plugin-auth-backend": "workspace:^", "@backstage/plugin-auth-backend-module-github-provider": "workspace:^", "@backstage/plugin-auth-backend-module-guest-provider": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", - "@backstage/plugin-azure-devops-backend": "workspace:^", - "@backstage/plugin-badges-backend": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", "@backstage/plugin-catalog-backend-module-backstage-openapi": "workspace:^", "@backstage/plugin-catalog-backend-module-openapi": "workspace:^", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^", "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^", "@backstage/plugin-devtools-backend": "workspace:^", - "@backstage/plugin-entity-feedback-backend": "workspace:^", - "@backstage/plugin-jenkins-backend": "workspace:^", "@backstage/plugin-kubernetes-backend": "workspace:^", - "@backstage/plugin-lighthouse-backend": "workspace:^", - "@backstage/plugin-linguist-backend": "workspace:^", - "@backstage/plugin-nomad-backend": "workspace:^", "@backstage/plugin-notifications-backend": "workspace:^", "@backstage/plugin-permission-backend": "workspace:^", "@backstage/plugin-permission-backend-module-allow-all-policy": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-permission-node": "workspace:^", - "@backstage/plugin-playlist-backend": "workspace:^", "@backstage/plugin-proxy-backend": "workspace:^", "@backstage/plugin-scaffolder-backend": "workspace:^", "@backstage/plugin-scaffolder-backend-module-github": "workspace:^", @@ -64,9 +55,7 @@ "@backstage/plugin-search-backend-module-techdocs": "workspace:^", "@backstage/plugin-search-backend-node": "workspace:^", "@backstage/plugin-signals-backend": "workspace:^", - "@backstage/plugin-sonarqube-backend": "workspace:^", - "@backstage/plugin-techdocs-backend": "workspace:^", - "@backstage/plugin-todo-backend": "workspace:^" + "@backstage/plugin-techdocs-backend": "workspace:^" }, "devDependencies": { "@backstage/cli": "workspace:^" diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts index 4965462b2c..a4acd19cf2 100644 --- a/packages/backend-next/src/index.ts +++ b/packages/backend-next/src/index.ts @@ -22,23 +22,14 @@ backend.add(import('@backstage/plugin-auth-backend')); backend.add(import('./authModuleGithubProvider')); backend.add(import('@backstage/plugin-auth-backend-module-guest-provider')); -backend.add(import('@backstage/plugin-adr-backend')); backend.add(import('@backstage/plugin-app-backend/alpha')); -backend.add(import('@backstage/plugin-azure-devops-backend')); -backend.add(import('@backstage/plugin-badges-backend')); backend.add(import('@backstage/plugin-catalog-backend-module-unprocessed')); backend.add( import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'), ); backend.add(import('@backstage/plugin-catalog-backend/alpha')); backend.add(import('@backstage/plugin-devtools-backend')); -backend.add(import('@backstage/plugin-entity-feedback-backend')); -backend.add(import('@backstage/plugin-jenkins-backend')); backend.add(import('@backstage/plugin-kubernetes-backend/alpha')); -backend.add(import('@backstage/plugin-lighthouse-backend')); -backend.add(import('@backstage/plugin-linguist-backend')); -backend.add(import('@backstage/plugin-playlist-backend')); -backend.add(import('@backstage/plugin-nomad-backend')); backend.add( import('@backstage/plugin-permission-backend-module-allow-all-policy'), ); @@ -54,8 +45,6 @@ backend.add( ); backend.add(import('@backstage/plugin-search-backend/alpha')); backend.add(import('@backstage/plugin-techdocs-backend/alpha')); -backend.add(import('@backstage/plugin-todo-backend')); -backend.add(import('@backstage/plugin-sonarqube-backend')); backend.add(import('@backstage/plugin-signals-backend')); backend.add(import('@backstage/plugin-notifications-backend')); diff --git a/packages/backend/package.json b/packages/backend/package.json index aa128febbb..ee2d70a09a 100644 --- a/packages/backend/package.json +++ b/packages/backend/package.json @@ -32,35 +32,21 @@ "@backstage/catalog-model": "workspace:^", "@backstage/config": "workspace:^", "@backstage/integration": "workspace:^", - "@backstage/plugin-adr-backend": "workspace:^", "@backstage/plugin-app-backend": "workspace:^", "@backstage/plugin-auth-backend": "workspace:^", "@backstage/plugin-auth-node": "workspace:^", - "@backstage/plugin-azure-devops-backend": "workspace:^", - "@backstage/plugin-azure-sites-common": "workspace:^", - "@backstage/plugin-badges-backend": "workspace:^", "@backstage/plugin-catalog-backend": "workspace:^", "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^", "@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^", "@backstage/plugin-catalog-node": "workspace:^", - "@backstage/plugin-code-coverage-backend": "workspace:^", "@backstage/plugin-devtools-backend": "workspace:^", - "@backstage/plugin-entity-feedback-backend": "workspace:^", "@backstage/plugin-events-backend": "workspace:^", "@backstage/plugin-events-node": "workspace:^", - "@backstage/plugin-explore-backend": "workspace:^", - "@backstage/plugin-jenkins-backend": "workspace:^", - "@backstage/plugin-kafka-backend": "workspace:^", "@backstage/plugin-kubernetes-backend": "workspace:^", - "@backstage/plugin-lighthouse-backend": "workspace:^", - "@backstage/plugin-linguist-backend": "workspace:^", - "@backstage/plugin-nomad-backend": "workspace:^", "@backstage/plugin-permission-backend": "workspace:^", "@backstage/plugin-permission-common": "workspace:^", "@backstage/plugin-permission-node": "workspace:^", - "@backstage/plugin-playlist-backend": "workspace:^", "@backstage/plugin-proxy-backend": "workspace:^", - "@backstage/plugin-rollbar-backend": "workspace:^", "@backstage/plugin-scaffolder-backend": "workspace:^", "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown": "workspace:^", "@backstage/plugin-scaffolder-backend-module-gitlab": "workspace:^", @@ -74,11 +60,7 @@ "@backstage/plugin-search-backend-node": "workspace:^", "@backstage/plugin-signals-backend": "workspace:^", "@backstage/plugin-signals-node": "workspace:^", - "@backstage/plugin-tech-insights-backend": "workspace:^", - "@backstage/plugin-tech-insights-backend-module-jsonfc": "workspace:^", - "@backstage/plugin-tech-insights-node": "workspace:^", "@backstage/plugin-techdocs-backend": "workspace:^", - "@backstage/plugin-todo-backend": "workspace:^", "@gitbeaker/node": "^35.1.0", "@octokit/rest": "^19.0.3", "@opentelemetry/api": "^1.4.1", diff --git a/packages/backend/src/index.ts b/packages/backend/src/index.ts index 026fff643e..34ea8b0f6c 100644 --- a/packages/backend/src/index.ts +++ b/packages/backend/src/index.ts @@ -40,32 +40,17 @@ import { Config } from '@backstage/config'; import healthcheck from './plugins/healthcheck'; import { metricsHandler, metricsInit } from './metrics'; import auth from './plugins/auth'; -import azureDevOps from './plugins/azure-devops'; import catalog from './plugins/catalog'; -import codeCoverage from './plugins/codecoverage'; -import entityFeedback from './plugins/entityFeedback'; import events from './plugins/events'; -import explore from './plugins/explore'; import kubernetes from './plugins/kubernetes'; -import kafka from './plugins/kafka'; -import rollbar from './plugins/rollbar'; import scaffolder from './plugins/scaffolder'; import proxy from './plugins/proxy'; import search from './plugins/search'; import techdocs from './plugins/techdocs'; -import techInsights from './plugins/techInsights'; -import todo from './plugins/todo'; import app from './plugins/app'; -import badges from './plugins/badges'; -import jenkins from './plugins/jenkins'; import permission from './plugins/permission'; -import playlist from './plugins/playlist'; -import adr from './plugins/adr'; -import lighthouse from './plugins/lighthouse'; -import linguist from './plugins/linguist'; -import devTools from './plugins/devtools'; -import nomad from './plugins/nomad'; import signals from './plugins/signals'; +import devtools from './plugins/devtools'; import { PluginEnvironment } from './types'; import { ServerPermissionClient } from '@backstage/plugin-permission-node'; import { DefaultIdentityClient } from '@backstage/plugin-auth-node'; @@ -153,69 +138,32 @@ async function main() { const healthcheckEnv = useHotMemoize(module, () => createEnv('healthcheck')); const catalogEnv = useHotMemoize(module, () => createEnv('catalog')); - const codeCoverageEnv = useHotMemoize(module, () => - createEnv('code-coverage'), - ); const scaffolderEnv = useHotMemoize(module, () => createEnv('scaffolder')); const authEnv = useHotMemoize(module, () => createEnv('auth')); - const azureDevOpsEnv = useHotMemoize(module, () => createEnv('azure-devops')); const proxyEnv = useHotMemoize(module, () => createEnv('proxy')); - const rollbarEnv = useHotMemoize(module, () => createEnv('rollbar')); const searchEnv = useHotMemoize(module, () => createEnv('search')); const techdocsEnv = useHotMemoize(module, () => createEnv('techdocs')); - const todoEnv = useHotMemoize(module, () => createEnv('todo')); const kubernetesEnv = useHotMemoize(module, () => createEnv('kubernetes')); - const kafkaEnv = useHotMemoize(module, () => createEnv('kafka')); const appEnv = useHotMemoize(module, () => createEnv('app')); - const badgesEnv = useHotMemoize(module, () => createEnv('badges')); - const jenkinsEnv = useHotMemoize(module, () => createEnv('jenkins')); - const adrEnv = useHotMemoize(module, () => createEnv('adr')); - const techInsightsEnv = useHotMemoize(module, () => - createEnv('tech-insights'), - ); const permissionEnv = useHotMemoize(module, () => createEnv('permission')); - const playlistEnv = useHotMemoize(module, () => createEnv('playlist')); - const entityFeedbackEnv = useHotMemoize(module, () => - createEnv('entityFeedback'), - ); const eventsEnv = useHotMemoize(module, () => createEnv('events')); - const exploreEnv = useHotMemoize(module, () => createEnv('explore')); - const lighthouseEnv = useHotMemoize(module, () => createEnv('lighthouse')); - const linguistEnv = useHotMemoize(module, () => createEnv('linguist')); const devToolsEnv = useHotMemoize(module, () => createEnv('devtools')); - const nomadEnv = useHotMemoize(module, () => createEnv('nomad')); const signalsEnv = useHotMemoize(module, () => createEnv('signals')); const apiRouter = Router(); apiRouter.use('/catalog', await catalog(catalogEnv)); - apiRouter.use('/code-coverage', await codeCoverage(codeCoverageEnv)); apiRouter.use('/events', await events(eventsEnv)); - apiRouter.use('/rollbar', await rollbar(rollbarEnv)); apiRouter.use('/scaffolder', await scaffolder(scaffolderEnv)); - apiRouter.use('/tech-insights', await techInsights(techInsightsEnv)); apiRouter.use('/auth', await auth(authEnv)); - apiRouter.use('/azure-devops', await azureDevOps(azureDevOpsEnv)); apiRouter.use('/search', await search(searchEnv)); apiRouter.use('/techdocs', await techdocs(techdocsEnv)); - apiRouter.use('/todo', await todo(todoEnv)); apiRouter.use('/kubernetes', await kubernetes(kubernetesEnv)); - apiRouter.use('/kafka', await kafka(kafkaEnv)); apiRouter.use('/proxy', await proxy(proxyEnv)); - apiRouter.use('/badges', await badges(badgesEnv)); - apiRouter.use('/jenkins', await jenkins(jenkinsEnv)); apiRouter.use('/permission', await permission(permissionEnv)); - apiRouter.use('/playlist', await playlist(playlistEnv)); - apiRouter.use('/explore', await explore(exploreEnv)); - apiRouter.use('/entity-feedback', await entityFeedback(entityFeedbackEnv)); - apiRouter.use('/adr', await adr(adrEnv)); - apiRouter.use('/linguist', await linguist(linguistEnv)); - apiRouter.use('/devtools', await devTools(devToolsEnv)); - apiRouter.use('/nomad', await nomad(nomadEnv)); + apiRouter.use('/devtools', await devtools(devToolsEnv)); apiRouter.use('/signals', await signals(signalsEnv)); apiRouter.use(notFoundHandler()); - await lighthouse(lighthouseEnv); - const service = createServiceBuilder(module) .loadConfig(config) .addRouter('', await healthcheck(healthcheckEnv)) diff --git a/packages/backend/src/plugins/adr.ts b/packages/backend/src/plugins/adr.ts deleted file mode 100644 index 6fa0d72969..0000000000 --- a/packages/backend/src/plugins/adr.ts +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-adr-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - reader: env.reader, - cacheClient: env.cache.getClient(), - logger: env.logger, - }); -} diff --git a/packages/backend/src/plugins/azure-devops.ts b/packages/backend/src/plugins/azure-devops.ts deleted file mode 100644 index 719bb0500e..0000000000 --- a/packages/backend/src/plugins/azure-devops.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-azure-devops-backend'; -import { Router } from 'express'; -import type { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return createRouter({ - logger: env.logger, - config: env.config, - reader: env.reader, - permissions: env.permissions, - }); -} diff --git a/packages/backend/src/plugins/badges.ts b/packages/backend/src/plugins/badges.ts deleted file mode 100644 index fa50731809..0000000000 --- a/packages/backend/src/plugins/badges.ts +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createRouter, - createDefaultBadgeFactories, -} from '@backstage/plugin-badges-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - config: env.config, - discovery: env.discovery, - badgeFactories: createDefaultBadgeFactories(), - tokenManager: env.tokenManager, - logger: env.logger, - identity: env.identity, - }); -} diff --git a/packages/backend/src/plugins/codecoverage.ts b/packages/backend/src/plugins/codecoverage.ts deleted file mode 100644 index adb20da2b3..0000000000 --- a/packages/backend/src/plugins/codecoverage.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-code-coverage-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - config: env.config, - discovery: env.discovery, - database: env.database, - urlReader: env.reader, - logger: env.logger, - }); -} diff --git a/packages/backend/src/plugins/entityFeedback.ts b/packages/backend/src/plugins/entityFeedback.ts deleted file mode 100644 index c37c3c9a97..0000000000 --- a/packages/backend/src/plugins/entityFeedback.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-entity-feedback-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default function createPlugin(env: PluginEnvironment): Promise { - return createRouter({ - database: env.database, - discovery: env.discovery, - identity: env.identity, - logger: env.logger, - }); -} diff --git a/packages/backend/src/plugins/explore.ts b/packages/backend/src/plugins/explore.ts deleted file mode 100644 index 131f9461fa..0000000000 --- a/packages/backend/src/plugins/explore.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createRouter, - exampleTools, - StaticExploreToolProvider, -} from '@backstage/plugin-explore-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - logger: env.logger, - toolProvider: StaticExploreToolProvider.fromData(exampleTools), - }); -} diff --git a/packages/backend/src/plugins/jenkins.ts b/packages/backend/src/plugins/jenkins.ts deleted file mode 100644 index 7d47ee338d..0000000000 --- a/packages/backend/src/plugins/jenkins.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createRouter, - DefaultJenkinsInfoProvider, -} from '@backstage/plugin-jenkins-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; -import { CatalogClient } from '@backstage/catalog-client'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - const catalog = new CatalogClient({ discoveryApi: env.discovery }); - - return await createRouter({ - logger: env.logger, - jenkinsInfoProvider: DefaultJenkinsInfoProvider.fromConfig({ - catalog, - config: env.config, - discovery: env.discovery, - }), - discovery: env.discovery, - }); -} diff --git a/packages/backend/src/plugins/kafka.ts b/packages/backend/src/plugins/kafka.ts deleted file mode 100644 index 784bad3145..0000000000 --- a/packages/backend/src/plugins/kafka.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-kafka-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - logger: env.logger, - config: env.config, - }); -} diff --git a/packages/backend/src/plugins/lighthouse.ts b/packages/backend/src/plugins/lighthouse.ts deleted file mode 100644 index 77204159cb..0000000000 --- a/packages/backend/src/plugins/lighthouse.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createScheduler } from '@backstage/plugin-lighthouse-backend'; -import { PluginEnvironment } from '../types'; -import { CatalogClient } from '@backstage/catalog-client'; - -export default async function createPlugin(env: PluginEnvironment) { - const { logger, scheduler, config, tokenManager, discovery } = env; - - const catalogClient = new CatalogClient({ - discoveryApi: env.discovery, - }); - - await createScheduler({ - logger, - scheduler, - config, - catalogClient, - tokenManager, - discovery, - }); -} diff --git a/packages/backend/src/plugins/linguist.ts b/packages/backend/src/plugins/linguist.ts deleted file mode 100644 index 2c8713a7e3..0000000000 --- a/packages/backend/src/plugins/linguist.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { TaskScheduleDefinition } from '@backstage/backend-tasks'; -import { createRouter } from '@backstage/plugin-linguist-backend'; -import { Router } from 'express'; -import type { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - const schedule: TaskScheduleDefinition = { - frequency: { minutes: 2 }, - timeout: { minutes: 15 }, - initialDelay: { seconds: 15 }, - }; - - return createRouter( - { - schedule: schedule, - age: { days: 30 }, - batchSize: 2, - useSourceLocation: false, - }, - { ...env }, - ); -} diff --git a/packages/backend/src/plugins/nomad.ts b/packages/backend/src/plugins/nomad.ts deleted file mode 100644 index 111cbfbf0d..0000000000 --- a/packages/backend/src/plugins/nomad.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { createRouter } from '@backstage/plugin-nomad-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - props: PluginEnvironment, -): Promise { - return await createRouter(props); -} diff --git a/packages/backend/src/plugins/permission.ts b/packages/backend/src/plugins/permission.ts index 7192a1ddec..fd0a989f06 100644 --- a/packages/backend/src/plugins/permission.ts +++ b/packages/backend/src/plugins/permission.ts @@ -24,23 +24,15 @@ import { PermissionPolicy, PolicyQuery, } from '@backstage/plugin-permission-node'; -import { - DefaultPlaylistPermissionPolicy, - isPlaylistPermission, -} from '@backstage/plugin-playlist-backend'; import { Router } from 'express'; import { PluginEnvironment } from '../types'; class ExamplePermissionPolicy implements PermissionPolicy { - private playlistPermissionPolicy = new DefaultPlaylistPermissionPolicy(); - async handle( - request: PolicyQuery, - user?: BackstageIdentityResponse, + _request: PolicyQuery, + _user?: BackstageIdentityResponse, ): Promise { - if (isPlaylistPermission(request.permission)) { - return this.playlistPermissionPolicy.handle(request, user); - } + // some logic to determine if the user is allowed to access the resource return { result: AuthorizeResult.ALLOW, diff --git a/packages/backend/src/plugins/playlist.ts b/packages/backend/src/plugins/playlist.ts deleted file mode 100644 index 6cae6a30ab..0000000000 --- a/packages/backend/src/plugins/playlist.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-playlist-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - database: env.database, - discovery: env.discovery, - identity: env.identity, - logger: env.logger, - permissions: env.permissions, - }); -} diff --git a/packages/backend/src/plugins/rollbar.ts b/packages/backend/src/plugins/rollbar.ts deleted file mode 100644 index c679be40a7..0000000000 --- a/packages/backend/src/plugins/rollbar.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createRouter } from '@backstage/plugin-rollbar-backend'; -import { Router } from 'express'; -import type { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - return await createRouter({ - logger: env.logger, - config: env.config, - }); -} diff --git a/packages/backend/src/plugins/search.ts b/packages/backend/src/plugins/search.ts index a5b976ec9d..dcdcfa9b79 100644 --- a/packages/backend/src/plugins/search.ts +++ b/packages/backend/src/plugins/search.ts @@ -15,7 +15,6 @@ */ import { useHotCleanup } from '@backstage/backend-common'; -import { DefaultAdrCollatorFactory } from '@backstage/plugin-adr-backend'; import { DefaultCatalogCollatorFactory } from '@backstage/plugin-search-backend-module-catalog'; import { ToolDocumentCollatorFactory } from '@backstage/plugin-search-backend-module-explore'; import { createRouter } from '@backstage/plugin-search-backend'; @@ -70,18 +69,6 @@ export default async function createPlugin( // Collators are responsible for gathering documents known to plugins. This // particular collator gathers entities from the software catalog. - indexBuilder.addCollator({ - schedule, - factory: DefaultAdrCollatorFactory.fromConfig({ - cache: env.cache, - config: env.config, - discovery: env.discovery, - logger: env.logger, - reader: env.reader, - tokenManager: env.tokenManager, - }), - }); - indexBuilder.addCollator({ schedule, factory: DefaultCatalogCollatorFactory.fromConfig(env.config, { diff --git a/packages/backend/src/plugins/techInsights.ts b/packages/backend/src/plugins/techInsights.ts deleted file mode 100644 index 8575a46480..0000000000 --- a/packages/backend/src/plugins/techInsights.ts +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createRouter, - buildTechInsightsContext, - createFactRetrieverRegistration, - entityOwnershipFactRetriever, - entityMetadataFactRetriever, - techdocsFactRetriever, -} from '@backstage/plugin-tech-insights-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; -import { - JsonRulesEngineFactCheckerFactory, - JSON_RULE_ENGINE_CHECK_TYPE, -} from '@backstage/plugin-tech-insights-backend-module-jsonfc'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - const techInsightsContext = await buildTechInsightsContext({ - logger: env.logger, - config: env.config, - database: env.database, - scheduler: env.scheduler, - discovery: env.discovery, - tokenManager: env.tokenManager, - factRetrievers: [ - createFactRetrieverRegistration({ - cadence: '1 1 1 * *', // Example cron, At 01:01 on day-of-month 1. - factRetriever: entityOwnershipFactRetriever, - }), - createFactRetrieverRegistration({ - cadence: '1 1 1 * *', - factRetriever: entityMetadataFactRetriever, - }), - createFactRetrieverRegistration({ - cadence: '1 1 1 * *', - factRetriever: techdocsFactRetriever, - }), - ], - factCheckerFactory: new JsonRulesEngineFactCheckerFactory({ - logger: env.logger, - checks: [ - { - id: 'titleCheck', - type: JSON_RULE_ENGINE_CHECK_TYPE, - name: 'Title Check', - description: - 'Verifies that a Title, used to improve readability, has been set for this entity', - factIds: ['entityMetadataFactRetriever'], - rule: { - conditions: { - all: [ - { - fact: 'hasTitle', - operator: 'equal', - value: true, - }, - ], - }, - }, - }, - { - id: 'techDocsCheck', - type: JSON_RULE_ENGINE_CHECK_TYPE, - name: 'TechDocs Check', - description: - 'Verifies that TechDocs has been enabled for this entity', - factIds: ['techdocsFactRetriever'], - rule: { - conditions: { - all: [ - { - fact: 'hasAnnotationBackstageIoTechdocsRef', - operator: 'equal', - value: true, - }, - ], - }, - }, - }, - ], - }), - }); - - return await createRouter({ - ...techInsightsContext, - logger: env.logger, - config: env.config, - }); -} diff --git a/packages/backend/src/plugins/todo.ts b/packages/backend/src/plugins/todo.ts deleted file mode 100644 index fb460b5f70..0000000000 --- a/packages/backend/src/plugins/todo.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { CatalogClient } from '@backstage/catalog-client'; -import { - createRouter, - TodoReaderService, - TodoScmReader, -} from '@backstage/plugin-todo-backend'; -import { Router } from 'express'; -import { PluginEnvironment } from '../types'; - -export default async function createPlugin( - env: PluginEnvironment, -): Promise { - const todoReader = TodoScmReader.fromConfig(env.config, { - logger: env.logger, - reader: env.reader, - }); - - const catalogClient = new CatalogClient({ - discoveryApi: env.discovery, - }); - - const todoService = new TodoReaderService({ - todoReader, - catalogClient, - }); - - return await createRouter({ - todoService, - }); -} diff --git a/packages/core-compat-api/package.json b/packages/core-compat-api/package.json index 8edbf6a506..6dd2115b9c 100644 --- a/packages/core-compat-api/package.json +++ b/packages/core-compat-api/package.json @@ -37,13 +37,13 @@ "@types/react": "^16.13.1 || ^17.0.0" }, "devDependencies": { + "@backstage-community/plugin-puppetdb": "^0.1.18", + "@backstage-community/plugin-stackstorm": "^0.1.16", "@backstage/cli": "workspace:^", "@backstage/core-app-api": "workspace:^", "@backstage/frontend-app-api": "workspace:^", "@backstage/frontend-test-utils": "workspace:^", "@backstage/plugin-catalog": "workspace:^", - "@backstage/plugin-puppetdb": "workspace:^", - "@backstage/plugin-stackstorm": "workspace:^", "@oriflame/backstage-plugin-score-card": "^0.8.0", "@testing-library/jest-dom": "^6.0.0", "@testing-library/react": "^15.0.0" diff --git a/packages/core-compat-api/src/collectLegacyRoutes.test.tsx b/packages/core-compat-api/src/collectLegacyRoutes.test.tsx index 2c8288b878..aa3beee679 100644 --- a/packages/core-compat-api/src/collectLegacyRoutes.test.tsx +++ b/packages/core-compat-api/src/collectLegacyRoutes.test.tsx @@ -23,8 +23,8 @@ import { EntitySwitch, isKind, } from '@backstage/plugin-catalog'; -import { PuppetDbPage } from '@backstage/plugin-puppetdb'; -import { StackstormPage } from '@backstage/plugin-stackstorm'; +import { PuppetDbPage } from '@backstage-community/plugin-puppetdb'; +import { StackstormPage } from '@backstage-community/plugin-stackstorm'; import { ScoreBoardPage } from '@oriflame/backstage-plugin-score-card'; import React, { Fragment } from 'react'; import { Navigate, Route, Routes } from 'react-router-dom'; diff --git a/packages/core-compat-api/src/convertLegacyApp.test.tsx b/packages/core-compat-api/src/convertLegacyApp.test.tsx index ef65603c85..2e7be66915 100644 --- a/packages/core-compat-api/src/convertLegacyApp.test.tsx +++ b/packages/core-compat-api/src/convertLegacyApp.test.tsx @@ -15,8 +15,8 @@ */ import { AppRouter, FlatRoutes } from '@backstage/core-app-api'; -import { PuppetDbPage } from '@backstage/plugin-puppetdb'; -import { StackstormPage } from '@backstage/plugin-stackstorm'; +import { PuppetDbPage } from '@backstage-community/plugin-puppetdb'; +import { StackstormPage } from '@backstage-community/plugin-stackstorm'; import { ScoreBoardPage } from '@oriflame/backstage-plugin-score-card'; import React, { ReactNode } from 'react'; import { Route } from 'react-router-dom'; diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index a4137138d5..1613f381dd 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -932,7 +932,7 @@ ### Patch Changes - f1c3cdfb2d: Bumped create-app version. -- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html. +- df21bbd4ad: The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/community-plugins/tree/main/workspaces/analytics/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html. For an existing installation where you want to remove the redundant app.googleAnalyticsTrackingId, you should make the following adjustment to `packages/app/public/index.html`: diff --git a/packages/create-app/src/lib/tasks.test.ts b/packages/create-app/src/lib/tasks.test.ts index 522db161eb..38a09f7ac6 100644 --- a/packages/create-app/src/lib/tasks.test.ts +++ b/packages/create-app/src/lib/tasks.test.ts @@ -87,13 +87,11 @@ jest.mock('./versions', () => ({ '@backstage/plugin-catalog-graph': '1.0.0', '@backstage/plugin-catalog-import': '1.0.0', '@backstage/plugin-catalog-react': '1.0.0', - '@backstage/plugin-github-actions': '1.0.0', '@backstage/plugin-org': '1.0.0', '@backstage/plugin-scaffolder': '1.0.0', '@backstage/plugin-permission-react': '1.0.0', '@backstage/plugin-search': '1.0.0', '@backstage/plugin-search-react': '1.0.0', - '@backstage/plugin-tech-radar': '1.0.0', '@backstage/plugin-techdocs': '1.0.0', '@backstage/plugin-techdocs-react': '1.0.0', '@backstage/plugin-techdocs-module-addons-contrib': '1.0.0', diff --git a/packages/create-app/src/lib/versions.ts b/packages/create-app/src/lib/versions.ts index 76f3c37f78..febc68102c 100644 --- a/packages/create-app/src/lib/versions.ts +++ b/packages/create-app/src/lib/versions.ts @@ -61,9 +61,6 @@ import { version as pluginCatalogBackend } from '../../../../plugins/catalog-bac import { version as pluginCatalogBackendModuleScaffolderEntityModel } from '../../../../plugins/catalog-backend-module-scaffolder-entity-model/package.json'; import { version as pluginCatalogGraph } from '../../../../plugins/catalog-graph/package.json'; import { version as pluginCatalogImport } from '../../../../plugins/catalog-import/package.json'; -import { version as pluginExplore } from '../../../../plugins/explore/package.json'; -import { version as pluginGithubActions } from '../../../../plugins/github-actions/package.json'; -import { version as pluginLighthouse } from '../../../../plugins/lighthouse/package.json'; import { version as pluginOrg } from '../../../../plugins/org/package.json'; import { version as pluginPermissionBackend } from '../../../../plugins/permission-backend/package.json'; import { version as pluginPermissionBackendModulePolicyAllowAll } from '../../../../plugins/permission-backend-module-policy-allow-all/package.json'; @@ -71,7 +68,6 @@ import { version as pluginPermissionCommon } from '../../../../plugins/permissio import { version as pluginPermissionReact } from '../../../../plugins/permission-react/package.json'; import { version as pluginPermissionNode } from '../../../../plugins/permission-node/package.json'; import { version as pluginProxyBackend } from '../../../../plugins/proxy-backend/package.json'; -import { version as pluginRollbarBackend } from '../../../../plugins/rollbar-backend/package.json'; import { version as pluginScaffolder } from '../../../../plugins/scaffolder/package.json'; import { version as pluginScaffolderBackend } from '../../../../plugins/scaffolder-backend/package.json'; import { version as pluginSearch } from '../../../../plugins/search/package.json'; @@ -81,7 +77,6 @@ import { version as pluginSearchBackendModuleCatalog } from '../../../../plugins import { version as pluginSearchBackendModulePg } from '../../../../plugins/search-backend-module-pg/package.json'; import { version as pluginSearchBackendModuleTechdocs } from '../../../../plugins/search-backend-module-techdocs/package.json'; import { version as pluginSearchBackendNode } from '../../../../plugins/search-backend-node/package.json'; -import { version as pluginTechRadar } from '../../../../plugins/tech-radar/package.json'; import { version as pluginTechdocs } from '../../../../plugins/techdocs/package.json'; import { version as pluginTechdocsReact } from '../../../../plugins/techdocs-react/package.json'; import { version as pluginTechdocsModuleAddonsContrib } from '../../../../plugins/techdocs-module-addons-contrib/package.json'; @@ -120,9 +115,6 @@ export const packageVersions = { pluginCatalogBackendModuleScaffolderEntityModel, '@backstage/plugin-catalog-graph': pluginCatalogGraph, '@backstage/plugin-catalog-import': pluginCatalogImport, - '@backstage/plugin-explore': pluginExplore, - '@backstage/plugin-github-actions': pluginGithubActions, - '@backstage/plugin-lighthouse': pluginLighthouse, '@backstage/plugin-org': pluginOrg, '@backstage/plugin-permission-backend': pluginPermissionBackend, '@backstage/plugin-permission-backend-module-allow-all-policy': @@ -131,7 +123,6 @@ export const packageVersions = { '@backstage/plugin-permission-node': pluginPermissionNode, '@backstage/plugin-permission-react': pluginPermissionReact, '@backstage/plugin-proxy-backend': pluginProxyBackend, - '@backstage/plugin-rollbar-backend': pluginRollbarBackend, '@backstage/plugin-scaffolder': pluginScaffolder, '@backstage/plugin-scaffolder-backend': pluginScaffolderBackend, '@backstage/plugin-search': pluginSearch, @@ -143,7 +134,6 @@ export const packageVersions = { '@backstage/plugin-search-backend-module-techdocs': pluginSearchBackendModuleTechdocs, '@backstage/plugin-search-backend-node': pluginSearchBackendNode, - '@backstage/plugin-tech-radar': pluginTechRadar, '@backstage/plugin-techdocs': pluginTechdocs, '@backstage/plugin-techdocs-react': pluginTechdocsReact, '@backstage/plugin-techdocs-module-addons-contrib': diff --git a/packages/create-app/templates/default-app/packages/app/package.json.hbs b/packages/create-app/templates/default-app/packages/app/package.json.hbs index b403295b09..d4db9e5885 100644 --- a/packages/create-app/templates/default-app/packages/app/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/app/package.json.hbs @@ -27,13 +27,11 @@ "@backstage/plugin-catalog-graph": "^{{version '@backstage/plugin-catalog-graph'}}", "@backstage/plugin-catalog-import": "^{{version '@backstage/plugin-catalog-import'}}", "@backstage/plugin-catalog-react": "^{{version '@backstage/plugin-catalog-react'}}", - "@backstage/plugin-github-actions": "^{{version '@backstage/plugin-github-actions'}}", "@backstage/plugin-org": "^{{version '@backstage/plugin-org'}}", "@backstage/plugin-permission-react": "^{{version '@backstage/plugin-permission-react'}}", "@backstage/plugin-scaffolder": "^{{version '@backstage/plugin-scaffolder'}}", "@backstage/plugin-search": "^{{version '@backstage/plugin-search'}}", "@backstage/plugin-search-react": "^{{version '@backstage/plugin-search-react'}}", - "@backstage/plugin-tech-radar": "^{{version '@backstage/plugin-tech-radar'}}", "@backstage/plugin-techdocs": "^{{version '@backstage/plugin-techdocs'}}", "@backstage/plugin-techdocs-module-addons-contrib": "^{{version '@backstage/plugin-techdocs-module-addons-contrib'}}", "@backstage/plugin-techdocs-react": "^{{version '@backstage/plugin-techdocs-react'}}", diff --git a/packages/create-app/templates/default-app/packages/app/src/App.tsx b/packages/create-app/templates/default-app/packages/app/src/App.tsx index f751cf6d22..e24c4689bb 100644 --- a/packages/create-app/templates/default-app/packages/app/src/App.tsx +++ b/packages/create-app/templates/default-app/packages/app/src/App.tsx @@ -13,7 +13,6 @@ import { import { ScaffolderPage, scaffolderPlugin } from '@backstage/plugin-scaffolder'; import { orgPlugin } from '@backstage/plugin-org'; import { SearchPage } from '@backstage/plugin-search'; -import { TechRadarPage } from '@backstage/plugin-tech-radar'; import { TechDocsIndexPage, techdocsPlugin, @@ -83,10 +82,6 @@ const routes = ( } /> } /> - } - /> - - - + {/* + Here you can add support for different CI/CD services, for example + using @backstage-community/plugin-github-actions as follows: + + + + */} Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { AdrFilePathFilterFn } from '@backstage/plugin-adr-common'; -import { AuthService } from '@backstage/backend-plugin-api'; -import { BackendFeature } from '@backstage/backend-plugin-api'; -import { CacheClient } from '@backstage/backend-common'; -import { CatalogApi } from '@backstage/catalog-client'; -import { Config } from '@backstage/config'; -import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; -import { Entity } from '@backstage/catalog-model'; -import express from 'express'; -import { LoggerService } from '@backstage/backend-plugin-api'; -import { PluginCacheManager } from '@backstage/backend-common'; -import { PluginEndpointDiscovery } from '@backstage/backend-common'; -import { Readable } from 'stream'; -import { TokenManager } from '@backstage/backend-common'; -import { UrlReader } from '@backstage/backend-common'; - -// @public -export type AdrCollatorFactoryOptions = { - adrFilePathFilterFn?: AdrFilePathFilterFn; - cache: PluginCacheManager; - config: Config; - catalogClient?: CatalogApi; - discovery: PluginEndpointDiscovery; - logger: LoggerService; - parser?: AdrParser; - reader: UrlReader; - tokenManager: TokenManager; - auth?: AuthService; -}; - -// @public -export type AdrParser = (ctx: AdrParserContext) => Promise; - -// @public -export type AdrParserContext = { - entity: Entity; - content: string; - path: string; -}; - -// @public -const adrPlugin: () => BackendFeature; -export default adrPlugin; - -// @public (undocumented) -export type AdrRouterOptions = { - reader: UrlReader; - cacheClient: CacheClient; - logger: LoggerService; -}; - -// @public -export const createMadrParser: (options?: MadrParserOptions) => AdrParser; - -// @public (undocumented) -export function createRouter( - options: AdrRouterOptions, -): Promise; - -// @public -export class DefaultAdrCollatorFactory implements DocumentCollatorFactory { - // (undocumented) - execute(): AsyncGenerator; - // (undocumented) - static fromConfig( - options: AdrCollatorFactoryOptions, - ): DefaultAdrCollatorFactory; - // (undocumented) - getCollator(): Promise; - // (undocumented) - readonly type: string; -} - -// @public -export type MadrParserOptions = { - locationTemplate?: string; - dateFormat?: string; -}; -``` diff --git a/plugins/adr-backend/catalog-info.yaml b/plugins/adr-backend/catalog-info.yaml deleted file mode 100644 index 9bd35f2722..0000000000 --- a/plugins/adr-backend/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr-backend - title: '@backstage/plugin-adr-backend' -spec: - lifecycle: experimental - type: backstage-backend-plugin - owner: kuangp diff --git a/plugins/adr-backend/knip-report.md b/plugins/adr-backend/knip-report.md deleted file mode 100644 index 2aaf4dcd0e..0000000000 --- a/plugins/adr-backend/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused dependencies (2) - -| Name | Location | Severity | -| :--------- | :----------- | :------- | -| node-fetch | package.json | error | -| yn | package.json | error | - diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json deleted file mode 100644 index 4974fe4d4b..0000000000 --- a/plugins/adr-backend/package.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "name": "@backstage/plugin-adr-backend", - "version": "0.4.14", - "backstage": { - "role": "backend-plugin", - "moved": "@backstage-community/plugin-adr-backend" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "types": "dist/index.d.ts" - }, - "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": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/backend-common": "workspace:^", - "@backstage/backend-plugin-api": "workspace:^", - "@backstage/catalog-client": "workspace:^", - "@backstage/catalog-model": "workspace:^", - "@backstage/config": "workspace:^", - "@backstage/errors": "workspace:^", - "@backstage/integration": "workspace:^", - "@backstage/plugin-adr-common": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "@types/express": "^4.17.6", - "express": "^4.17.1", - "express-promise-router": "^4.1.0", - "luxon": "^3.0.0", - "marked": "^12.0.0", - "node-fetch": "^2.6.5", - "yn": "^4.0.0" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@types/supertest": "^2.0.8", - "supertest": "^6.1.3" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr-backend instead." -} diff --git a/plugins/adr-backend/src/index.ts b/plugins/adr-backend/src/index.ts deleted file mode 100644 index a2a9788dcb..0000000000 --- a/plugins/adr-backend/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Architecture Decision Records backend plugin. - * - * @packageDocumentation - */ - -export * from './search'; -export * from './service'; -export { adrPlugin as default } from './plugin'; diff --git a/plugins/adr-backend/src/plugin.ts b/plugins/adr-backend/src/plugin.ts deleted file mode 100644 index bf5c69047f..0000000000 --- a/plugins/adr-backend/src/plugin.ts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { createRouter } from './service/router'; - -/** - * ADR backend plugin - * - * @public - */ -export const adrPlugin = createBackendPlugin({ - pluginId: 'adr', - register(env) { - env.registerInit({ - deps: { - logger: coreServices.logger, - reader: coreServices.urlReader, - cache: coreServices.cache, - httpRouter: coreServices.httpRouter, - }, - async init({ httpRouter, logger, reader, cache }) { - httpRouter.use( - await createRouter({ - logger, - reader, - cacheClient: cache, - }), - ); - }, - }); - }, -}); diff --git a/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts b/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts deleted file mode 100644 index 5e1c81220d..0000000000 --- a/plugins/adr-backend/src/search/DefaultAdrCollatorFactory.ts +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Readable } from 'stream'; -import { - CacheClient, - createLegacyAuthAdapters, - PluginCacheManager, - PluginEndpointDiscovery, - TokenManager, - UrlReader, -} from '@backstage/backend-common'; -import { - CATALOG_FILTER_EXISTS, - CatalogApi, - CatalogClient, -} from '@backstage/catalog-client'; -import { stringifyEntityRef } from '@backstage/catalog-model'; -import { Config } from '@backstage/config'; -import { NotModifiedError, stringifyError } from '@backstage/errors'; -import { - ScmIntegrationRegistry, - ScmIntegrations, -} from '@backstage/integration'; -import { - AdrDocument, - AdrFilePathFilterFn, - ANNOTATION_ADR_LOCATION, - getAdrLocationUrl, - madrFilePathFilter, -} from '@backstage/plugin-adr-common'; -import { DocumentCollatorFactory } from '@backstage/plugin-search-common'; - -import { createMadrParser } from './createMadrParser'; -import { AdrParser } from './types'; -import { AuthService, LoggerService } from '@backstage/backend-plugin-api'; - -/** - * Options to configure the AdrCollatorFactory - * @public - */ -export type AdrCollatorFactoryOptions = { - /** - * Function used to filter ADR file paths. - * Defaults to filtering paths following MADR filename format. - */ - adrFilePathFilterFn?: AdrFilePathFilterFn; - /** - * Plugin cache manager - */ - cache: PluginCacheManager; - /** - * App Config - */ - config: Config; - /** - * Catalog API client. Defaults to CatalogClient. - */ - catalogClient?: CatalogApi; - /** - * Plugin Endpoint Discovery client - */ - discovery: PluginEndpointDiscovery; - /** - * Logger - */ - logger: LoggerService; - /** - * ADR content parser. Defaults to built in MADR parser. - */ - parser?: AdrParser; - /** - * URL Reader - */ - reader: UrlReader; - /** - * Token Manager - */ - tokenManager: TokenManager; - /** - * Auth Service - */ - auth?: AuthService; -}; - -/** - * Default collator to index ADR documents for Backstage search. - * @public - */ -export class DefaultAdrCollatorFactory implements DocumentCollatorFactory { - public readonly type: string = 'adr'; - private readonly adrFilePathFilterFn: AdrFilePathFilterFn; - private readonly cacheClient: CacheClient; - private readonly catalogClient: CatalogApi; - private readonly logger: LoggerService; - private readonly parser: AdrParser; - private readonly reader: UrlReader; - private readonly auth: AuthService; - private readonly scmIntegrations: ScmIntegrationRegistry; - - private constructor(options: AdrCollatorFactoryOptions) { - this.adrFilePathFilterFn = - options.adrFilePathFilterFn ?? madrFilePathFilter; - this.cacheClient = options.cache.getClient(); - this.catalogClient = - options.catalogClient ?? - new CatalogClient({ discoveryApi: options.discovery }); - this.logger = options.logger.child({ documentType: this.type }); - this.parser = options.parser ?? createMadrParser(); - this.reader = options.reader; - this.scmIntegrations = ScmIntegrations.fromConfig(options.config); - - this.auth = createLegacyAuthAdapters(options).auth; - } - - static fromConfig(options: AdrCollatorFactoryOptions) { - return new DefaultAdrCollatorFactory(options); - } - - async getCollator() { - return Readable.from(this.execute()); - } - - async *execute(): AsyncGenerator { - const { token } = await this.auth.getPluginRequestToken({ - onBehalfOf: await this.auth.getOwnServiceCredentials(), - targetPluginId: 'catalog', - }); - - const entities = ( - await this.catalogClient.getEntities( - { - filter: { - [`metadata.annotations.${ANNOTATION_ADR_LOCATION}`]: - CATALOG_FILTER_EXISTS, - }, - fields: [ - 'kind', - 'metadata.annotations', - 'metadata.name', - 'metadata.namespace', - 'metadata.title', - ], - }, - { token }, - ) - ).items; - - for (const ent of entities) { - let adrsUrl: string; - try { - adrsUrl = getAdrLocationUrl(ent, this.scmIntegrations); - } catch (e: any) { - this.logger.error( - `Unable to get ADR location URL for ${stringifyEntityRef( - ent, - )}: ${stringifyError(e)}`, - ); - continue; - } - - const cacheItem = (await this.cacheClient.get(adrsUrl)) as { - adrFiles: { - path: string; - content: string; - }[]; - etag: string; - }; - - let adrFiles = cacheItem?.adrFiles; - try { - const tree = await this.reader.readTree(adrsUrl, { - etag: cacheItem?.etag, - filter: filePath => this.adrFilePathFilterFn(filePath), - }); - - adrFiles = await Promise.all( - ( - await tree.files() - ).map(async f => ({ - path: f.path, - content: (await f.content()).toString('utf8'), - })), - ); - - await this.cacheClient.set(adrsUrl, { adrFiles, etag: tree.etag }); - } catch (error: any) { - // Ignore error if we're able to use cached response - if (!cacheItem || error.name !== NotModifiedError.name) { - this.logger.error( - `Unable to fetch ADRs from ${adrsUrl}: ${stringifyError(error)}`, - ); - continue; - } - } - - for (const { content, path } of adrFiles) { - try { - const adrDoc = await this.parser({ - entity: ent, - path, - content, - }); - yield adrDoc; - } catch (e: any) { - this.logger.error( - `Unable to parse ADR ${path}: ${stringifyError(e)}`, - ); - } - } - - this.logger.info(`Indexed ${adrFiles.length} ADRs from ${adrsUrl}`); - } - } -} diff --git a/plugins/adr-backend/src/search/createMadrParser.ts b/plugins/adr-backend/src/search/createMadrParser.ts deleted file mode 100644 index 1bc3c852e9..0000000000 --- a/plugins/adr-backend/src/search/createMadrParser.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { stringifyEntityRef } from '@backstage/catalog-model'; -import { MADR_DATE_FORMAT } from '@backstage/plugin-adr-common'; - -import { AdrParser } from './types'; -import { madrParser } from './madrParser'; - -const applyArgsToFormat = ( - format: string, - args: Record, -): string => { - let formatted = format; - for (const [key, value] of Object.entries(args)) { - formatted = formatted.replace(`:${key}`, value); - } - return formatted.toLowerCase(); -}; - -const DEFAULT_LOCATION_TEMPLATE = - '/catalog/:namespace/:kind/:name/adrs?record=:record'; - -/** - * - * Options for the default MADR content parser - * @public - */ -export type MadrParserOptions = { - /** - * Location template for the route of the frontend plugin - * Defaults to '/catalog/:namespace/:kind/:name/adrs?record=:record' - */ - locationTemplate?: string; - /** - * luxon DateTime format string to parse ADR dates with. - * Defaults to 'yyyy-MM-dd' - */ - dateFormat?: string; -}; - -/** - * Default content parser for ADRs following the MADR template (https://adr.github.io/madr/) - * @public - */ -export const createMadrParser = ( - options: MadrParserOptions = {}, -): AdrParser => { - const locationTemplate = - options.locationTemplate ?? DEFAULT_LOCATION_TEMPLATE; - const dateFormat = options.dateFormat ?? MADR_DATE_FORMAT; - - return async ({ entity, content, path }) => { - const madr = madrParser(content, dateFormat); - return { - title: madr.title ?? path.replace(/\.md$/, ''), - text: content, - status: madr.status, - date: madr.date, - entityRef: stringifyEntityRef(entity), - entityTitle: entity.metadata.title, - location: applyArgsToFormat(locationTemplate, { - namespace: entity.metadata.namespace || 'default', - kind: entity.kind, - name: entity.metadata.name, - record: path, - }), - }; - }; -}; diff --git a/plugins/adr-backend/src/search/index.ts b/plugins/adr-backend/src/search/index.ts deleted file mode 100644 index 33f14631ec..0000000000 --- a/plugins/adr-backend/src/search/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './DefaultAdrCollatorFactory'; -export * from './createMadrParser'; -export * from './types'; diff --git a/plugins/adr-backend/src/search/madrParser.ts b/plugins/adr-backend/src/search/madrParser.ts deleted file mode 100644 index bb466d13c3..0000000000 --- a/plugins/adr-backend/src/search/madrParser.ts +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { DateTime } from 'luxon'; -import { marked, Tokens, TokensList } from 'marked'; -import { - MADR_DATE_FORMAT, - parseMadrWithFrontmatter, -} from '@backstage/plugin-adr-common'; - -const getTitle = (tokens: TokensList): string | undefined => { - return ( - tokens.find(t => t.type === 'heading' && t.depth === 1) as Tokens.Heading - )?.text; -}; - -const getStatusForV2Format = (tokens: TokensList): string | undefined => - (tokens.find(t => t.type === 'list') as Tokens.List)?.items - ?.find(t => /^status:/i.test(t.text)) - ?.text.replace(/^status:/i, '') - .trim() - .toLocaleLowerCase('en-US'); - -const getDateForV2Format = (tokens: TokensList): string | undefined => { - const listTokens = (tokens.find(t => t.type === 'list') as Tokens.List) - ?.items; - const adrDateTime = listTokens - ?.find(t => /^date:/i.test(t.text)) - ?.text.replace(/^date:/i, '') - .trim(); - return adrDateTime; -}; - -const getStatus = ( - tokens: TokensList, - frontMatterStatus?: string, -): string | undefined => { - return frontMatterStatus ?? getStatusForV2Format(tokens); -}; -const getDate = ( - tokens: TokensList, - dateFormat: string, - frontMatterDate?: string, -): string | undefined => { - const dateString = frontMatterDate ?? getDateForV2Format(tokens); - if (!dateString) { - return undefined; - } - const date = DateTime.fromFormat(dateString, dateFormat); - return date?.isValid ? date.toFormat(MADR_DATE_FORMAT) : undefined; -}; - -export const madrParser = (content: string, dateFormat = MADR_DATE_FORMAT) => { - const preparsed = parseMadrWithFrontmatter(content); - const tokens = marked.lexer(preparsed.content); - if (!tokens.length) { - throw new Error('ADR has no content'); - } - - return { - title: getTitle(tokens), - status: getStatus(tokens, preparsed.status), - date: getDate(tokens, dateFormat, preparsed.date), - }; -}; diff --git a/plugins/adr-backend/src/search/types.ts b/plugins/adr-backend/src/search/types.ts deleted file mode 100644 index 8ac47d5c8b..0000000000 --- a/plugins/adr-backend/src/search/types.ts +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; -import { AdrDocument } from '@backstage/plugin-adr-common'; - -/** - * Context passed to a AdrParser. - * @public - */ -export type AdrParserContext = { - /** - * The entity associated with the ADR. - */ - entity: Entity; - /** - * The ADR content string. - */ - content: string; - /** - * The ADR file path. - */ - path: string; -}; - -/** - * ADR parser function type. - * @public - */ -export type AdrParser = (ctx: AdrParserContext) => Promise; diff --git a/plugins/adr-backend/src/service/index.ts b/plugins/adr-backend/src/service/index.ts deleted file mode 100644 index 3736acb188..0000000000 --- a/plugins/adr-backend/src/service/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { createRouter } from './router'; -export type { AdrRouterOptions } from './router'; diff --git a/plugins/adr-backend/src/service/router.test.ts b/plugins/adr-backend/src/service/router.test.ts deleted file mode 100644 index f79b3e8edb..0000000000 --- a/plugins/adr-backend/src/service/router.test.ts +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - CacheClient, - ReadTreeResponse, - ReadTreeResponseFile, - ReadUrlResponse, - UrlReader, -} from '@backstage/backend-common'; -import express from 'express'; -import request from 'supertest'; -import { createRouter } from './router'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -const listEndpointName = '/list'; -const fileEndpointName = '/file'; - -const makeBufferFromString = (string: string) => async () => - Buffer.from(string); - -const testingUrlFakeFileTree: ReadTreeResponseFile[] = [ - { - path: 'folder/testFile001.txt', - content: makeBufferFromString('folder/testFile001.txt content'), - }, - { - path: 'testFile001.txt', - content: makeBufferFromString('testFile002.txt content'), - }, - { - path: 'testFile002.txt', - content: makeBufferFromString('testFile001.txt content'), - }, -]; - -const makeFileContent = async (fileContent: string) => { - const result: ReadUrlResponse = { - buffer: makeBufferFromString(fileContent), - }; - return result; -}; - -const testFileOneContent = 'testFileOne content'; -const testFileTwoContent = 'testFileTwo content'; -const genericFileContent = 'file content'; - -const mockUrlReader: UrlReader = { - readUrl(url: string) { - switch (url) { - case 'testFileOne': - return makeFileContent(testFileOneContent); - case 'testFileTwo': - return makeFileContent(testFileTwoContent); - default: - return makeFileContent(genericFileContent); - } - }, - readTree() { - const result: ReadTreeResponse = { - files: async () => testingUrlFakeFileTree, - archive() { - throw new Error('Function not implemented.'); - }, - dir() { - throw new Error('Function not implemented.'); - }, - etag: '', - }; - - const resultPromise = async () => result; - return resultPromise(); - }, - search() { - throw new Error('search not implemented.'); - }, -}; - -class MockCacheClient implements CacheClient { - private itemRegistry: { [key: string]: any }; - - constructor() { - this.itemRegistry = {}; - } - - async get(key: string) { - return this.itemRegistry[key]; - } - - async set(key: string, value: any) { - this.itemRegistry[key] = value; - } - - async delete(key: string) { - delete this.itemRegistry[key]; - } - - withOptions = () => this; -} - -describe('createRouter', () => { - let app: express.Express; - - beforeEach(async () => { - jest.resetAllMocks(); - - const router = await createRouter({ - reader: mockUrlReader, - cacheClient: new MockCacheClient(), - logger: { - error: (message: any) => message, - } as LoggerService, - }); - app = express().use(router); - }); - - describe(`GET ${listEndpointName}`, () => { - it('returns bad request (400) when no url is provided', async () => { - const urlNotSpecifiedRequest = await request(app).get(listEndpointName); - const urlNotSpecifiedStatus = urlNotSpecifiedRequest.status; - const urlNotSpecifiedMessage = urlNotSpecifiedRequest.body.message; - - const urlNotFilledRequest = await request(app).get( - `${listEndpointName}?url=`, - ); - const urlNotFilledStatus = urlNotFilledRequest.status; - const urlNotFilledMessage = urlNotFilledRequest.body.message; - - const expectedStatusCode = 400; - const expectedErrorMessage = 'No URL provided'; - - expect(urlNotSpecifiedStatus).toBe(expectedStatusCode); - expect(urlNotSpecifiedMessage).toBe(expectedErrorMessage); - - expect(urlNotFilledStatus).toBe(expectedStatusCode); - expect(urlNotFilledMessage).toBe(expectedErrorMessage); - }); - - it('returns the correct listing when reading a url', async () => { - const result = await request(app).get(`${listEndpointName}?url=testing`); - const { status, body, error } = result; - - const expectedStatusCode = 200; - const expectedBody = { - data: [ - { - type: 'file', - name: 'testFile002.txt', - path: 'testFile002.txt', - }, - { - type: 'file', - name: 'testFile001.txt', - path: 'testFile001.txt', - }, - { - type: 'file', - name: 'testFile001.txt', - path: 'folder/testFile001.txt', - }, - ], - }; - - expect(error).toBeFalsy(); - expect(status).toBe(expectedStatusCode); - expect(body).toEqual(expectedBody); - }); - }); - - describe(`GET ${fileEndpointName}`, () => { - it('returns bad request (400) when no url is provided', async () => { - const urlNotSpecifiedRequest = await request(app).get(fileEndpointName); - const urlNotSpecifiedStatus = urlNotSpecifiedRequest.status; - const urlNotSpecifiedMessage = urlNotSpecifiedRequest.body.message; - - const urlNotFilledRequest = await request(app).get( - `${fileEndpointName}?url=`, - ); - const urlNotFilledStatus = urlNotFilledRequest.status; - const urlNotFilledMessage = urlNotFilledRequest.body.message; - - const expectedStatusCode = 400; - const expectedErrorMessage = 'No URL provided'; - - expect(urlNotSpecifiedStatus).toBe(expectedStatusCode); - expect(urlNotSpecifiedMessage).toBe(expectedErrorMessage); - - expect(urlNotFilledStatus).toBe(expectedStatusCode); - expect(urlNotFilledMessage).toBe(expectedErrorMessage); - }); - - it('returns the correct file contents when reading a url', async () => { - const fileOneResponse = await request(app).get( - `${fileEndpointName}?url=testFileOne`, - ); - const fileOneStatus = fileOneResponse.status; - const fileOneBody = fileOneResponse.body; - const fileOneError = fileOneResponse.error; - - const fileTwoResponse = await request(app).get( - `${fileEndpointName}?url=testFileTwo`, - ); - const fileTwoStatus = fileTwoResponse.status; - const fileTwoBody = fileTwoResponse.body; - const fileTwoError = fileTwoResponse.error; - - const expectedStatusCode = 200; - - expect(fileOneError).toBeFalsy(); - expect(fileOneStatus).toBe(expectedStatusCode); - expect(fileOneBody.data).toBe(testFileOneContent); - - expect(fileTwoError).toBeFalsy(); - expect(fileTwoStatus).toBe(expectedStatusCode); - expect(fileTwoBody.data).toBe(testFileTwoContent); - }); - }); -}); diff --git a/plugins/adr-backend/src/service/router.ts b/plugins/adr-backend/src/service/router.ts deleted file mode 100644 index ab0a8afbcb..0000000000 --- a/plugins/adr-backend/src/service/router.ts +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { CacheClient, UrlReader } from '@backstage/backend-common'; -import { NotModifiedError, stringifyError } from '@backstage/errors'; -import express from 'express'; -import Router from 'express-promise-router'; -import { madrParser } from '../search/madrParser'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -/** @public */ -export type AdrRouterOptions = { - reader: UrlReader; - cacheClient: CacheClient; - logger: LoggerService; -}; - -/** @public */ -export async function createRouter( - options: AdrRouterOptions, -): Promise { - const { reader, cacheClient, logger } = options; - - const router = Router(); - router.use(express.json()); - - router.get('/list', async (req, res) => { - const urlToProcess = req.query.url as string; - if (!urlToProcess) { - res.statusCode = 400; - res.json({ message: 'No URL provided' }); - return; - } - - const cachedTree = (await cacheClient.get(urlToProcess)) as { - data: { - type: string; - name: string; - path: string; - }[]; - etag: string; - }; - const cachedData = cachedTree?.data; - - try { - const treeGetResponse = await reader.readTree(urlToProcess, { - etag: cachedTree?.etag, - }); - const files = await treeGetResponse.files(); - const data = await Promise.all( - files - .map(async file => { - const fileContent = await file.content(); - const adrInfo = madrParser(fileContent.toString()); - return { - type: 'file', - name: file.path.substring(file.path.lastIndexOf('/') + 1), - path: file.path, - ...adrInfo, - }; - }) - .reverse(), - ); - - await cacheClient.set(urlToProcess, { - data, - etag: treeGetResponse.etag, - }); - - res.json({ data }); - } catch (error: any) { - if (cachedData && error.name === NotModifiedError.name) { - res.json({ data: cachedData }); - return; - } - - const message = stringifyError(error); - logger.error(`Unable to fetch ADRs from ${urlToProcess}: ${message}`); - res.statusCode = 500; - res.json({ message }); - } - }); - - router.get('/file', async (req, res) => { - const urlToProcess = req.query.url as string; - if (!urlToProcess) { - res.statusCode = 400; - res.json({ message: 'No URL provided' }); - return; - } - - const cachedFileContent = (await cacheClient.get(urlToProcess)) as { - data: string; - etag: string; - }; - - try { - const fileGetResponse = await reader.readUrl(urlToProcess, { - etag: cachedFileContent?.etag, - }); - const fileBuffer = await fileGetResponse.buffer(); - const data = fileBuffer.toString(); - - await cacheClient.set(urlToProcess, { - data, - etag: fileGetResponse.etag, - }); - - res.json({ data }); - } catch (error) { - if (cachedFileContent && error.name === NotModifiedError.name) { - res.json({ data: cachedFileContent.data }); - return; - } - - const message = stringifyError(error); - logger.error(`Unable to fetch ADRs from ${urlToProcess}: ${message}`); - res.statusCode = 500; - res.json({ message }); - } - }); - - return router; -} diff --git a/plugins/adr-common/.eslintrc.js b/plugins/adr-common/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/adr-common/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md deleted file mode 100644 index 61a608b1d0..0000000000 --- a/plugins/adr-common/CHANGELOG.md +++ /dev/null @@ -1,636 +0,0 @@ -# @backstage/plugin-adr-common - -## 0.2.22 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.10.0 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-search-common@1.2.11 - -## 0.2.22-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.10.0-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-search-common@1.2.11 - -## 0.2.21 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- Updated dependencies - - @backstage/integration@1.9.1 - - @backstage/plugin-search-common@1.2.11 - - @backstage/catalog-model@1.4.5 - -## 0.2.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.1-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.2.21-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.1-next.1 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.2.21-next.0 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- Updated dependencies - - @backstage/plugin-search-common@1.2.11-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/integration@1.9.1-next.0 - -## 0.2.20 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.4 - - @backstage/integration@1.9.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.20-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.9.0-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/integration@1.9.0-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.19 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.3 - - @backstage/integration@1.8.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.2.18 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.9 - -## 0.2.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.8.0-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.17 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.2 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.8 - -## 0.2.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.2-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.7 - -## 0.2.16 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-common@1.2.7 - -## 0.2.16-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.3-next.0 - - @backstage/integration@1.7.1-next.1 - - @backstage/plugin-search-common@1.2.7-next.0 - -## 0.2.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.1-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/plugin-search-common@1.2.6 - -## 0.2.15 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2 - - @backstage/integration@1.7.0 - - @backstage/plugin-search-common@1.2.6 - -## 0.2.15-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/integration@1.7.0-next.3 - - @backstage/plugin-search-common@1.2.6-next.2 - -## 0.2.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/plugin-search-common@1.2.6-next.1 - -## 0.2.15-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/plugin-search-common@1.2.6-next.0 - -## 0.2.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.7.0-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.12 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.6.0 - - @backstage/catalog-model@1.4.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.11 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/catalog-model@1.4.1 - - @backstage/integration@1.5.1 - - @backstage/plugin-search-common@1.2.5 - -## 0.2.11-next.1 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.2.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration@1.5.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - -## 0.2.10 - -### Patch Changes - -- 58524588448c: Add utility function for parsing MADR front matter -- Updated dependencies - - @backstage/integration@1.5.0 - - @backstage/catalog-model@1.4.0 - - @backstage/plugin-search-common@1.2.4 - -## 0.2.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/integration@1.5.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.2.10-next.0 - -### Patch Changes - -- 58524588448c: Add utility function for parsing MADR front matter -- Updated dependencies - - @backstage/integration@1.5.0-next.0 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.2.9 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.5 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.9-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.5-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.8 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/catalog-model@1.3.0 - - @backstage/integration@1.4.4 - - @backstage/plugin-search-common@1.2.3 - -## 0.2.8-next.1 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/integration@1.4.4-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.2.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.4-next.0 - - @backstage/catalog-model@1.2.1 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.2.7 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.1 - - @backstage/integration@1.4.3 - - @backstage/plugin-search-common@1.2.2 - -## 0.2.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.3-next.0 - - @backstage/catalog-model@1.2.1-next.1 - - @backstage/plugin-search-common@1.2.2-next.0 - -## 0.2.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.6-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/integration@1.4.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.2.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/integration@1.4.2-next.0 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/integration@1.4.1 - - @backstage/plugin-search-common@1.2.0 - -## 0.2.4 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1 - - @backstage/plugin-search-common@1.2.0 - - @backstage/catalog-model@1.1.4 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - - @backstage/plugin-search-common@1.2.0-next.3 - -## 0.2.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/integration@1.4.1-next.1 - -## 0.2.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/plugin-search-common@1.1.2-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.1-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/plugin-search-common@1.1.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.0 - - @backstage/catalog-model@1.1.3 - - @backstage/plugin-search-common@1.1.1 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.4.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-search-common@1.1.0 - - @backstage/integration@1.3.2 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.1.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/integration@1.3.2-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@1.1.0-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/integration@1.3.2-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/integration@1.3.2-next.0 - - @backstage/plugin-search-common@1.0.2-next.0 - -## 0.2.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.1 - - @backstage/catalog-model@1.1.1 - - @backstage/plugin-search-common@1.0.1 - -## 0.2.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/integration@1.3.1-next.2 - -## 0.2.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.1-next.0 - - @backstage/plugin-search-common@1.0.1-next.0 - -## 0.2.0 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.0 - -## 0.2.0-next.1 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.3.0-next.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0 - - @backstage/plugin-search-common@1.0.0 - - @backstage/integration@1.2.2 - -## 0.1.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/integration@1.2.2-next.1 - - @backstage/plugin-search-common@0.3.6-next.0 - -## 0.1.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/integration@1.2.2-next.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@0.3.5 - - @backstage/integration@1.2.1 - - @backstage/catalog-model@1.0.3 - -## 0.1.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.1-next.1 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-search-common@0.3.5-next.0 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.1-next.0 - -## 0.1.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/integration@1.2.0 - - @backstage/plugin-search-common@0.3.4 - - @backstage/catalog-model@1.0.2 - -## 0.1.0-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-common@0.3.4-next.0 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/integration@1.2.0-next.1 - -## 0.1.0-next.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin diff --git a/plugins/adr-common/README.md b/plugins/adr-common/README.md deleted file mode 100644 index 7c074e84b8..0000000000 --- a/plugins/adr-common/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -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. diff --git a/plugins/adr-common/api-report.md b/plugins/adr-common/api-report.md deleted file mode 100644 index f12a086359..0000000000 --- a/plugins/adr-common/api-report.md +++ /dev/null @@ -1,50 +0,0 @@ -## API Report File for "@backstage/plugin-adr-common" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { Entity } from '@backstage/catalog-model'; -import { IndexableDocument } from '@backstage/plugin-search-common'; -import { ScmIntegrationRegistry } from '@backstage/integration'; - -// @public -export interface AdrDocument extends IndexableDocument { - date?: string; - entityRef: string; - entityTitle?: string; - status?: string; -} - -// @public -export type AdrFilePathFilterFn = (path: string) => boolean; - -// @public -export const ANNOTATION_ADR_LOCATION = 'backstage.io/adr-location'; - -// @public -export const getAdrLocationUrl: ( - entity: Entity, - scmIntegration: ScmIntegrationRegistry, - adrFilePath?: String, -) => string; - -// @public -export const isAdrAvailable: (entity: Entity) => boolean; - -// @public -export const MADR_DATE_FORMAT = 'yyyy-MM-dd'; - -// @public -export const madrFilePathFilter: AdrFilePathFilterFn; - -// @public -export interface ParsedMadr { - attributes: Record; - content: string; - date?: string; - status?: string; -} - -// @public -export const parseMadrWithFrontmatter: (content: string) => ParsedMadr; -``` diff --git a/plugins/adr-common/catalog-info.yaml b/plugins/adr-common/catalog-info.yaml deleted file mode 100644 index defcbe9fdb..0000000000 --- a/plugins/adr-common/catalog-info.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr-common - title: '@backstage/plugin-adr-common' - description: Common functionalities for the adr plugin -spec: - lifecycle: experimental - type: backstage-common-library - owner: kuangp diff --git a/plugins/adr-common/knip-report.md b/plugins/adr-common/knip-report.md deleted file mode 100644 index 2661c35327..0000000000 --- a/plugins/adr-common/knip-report.md +++ /dev/null @@ -1,2 +0,0 @@ -# Knip report - diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json deleted file mode 100644 index 87abce09ca..0000000000 --- a/plugins/adr-common/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "@backstage/plugin-adr-common", - "version": "0.2.22", - "description": "Common functionalities for the adr plugin", - "backstage": { - "role": "common-library", - "moved": "@backstage-community/plugin-adr-common" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "module": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/adr-common" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/integration": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "front-matter": "^4.0.2", - "luxon": "^3.0.0" - }, - "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." -} diff --git a/plugins/adr-common/src/index.ts b/plugins/adr-common/src/index.ts deleted file mode 100644 index 85d61cd270..0000000000 --- a/plugins/adr-common/src/index.ts +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * Common types and functionalities for the ADR plugin. - * @packageDocumentation - */ -import { Entity, getEntitySourceLocation } from '@backstage/catalog-model'; -import { IndexableDocument } from '@backstage/plugin-search-common'; -import { ScmIntegrationRegistry } from '@backstage/integration'; -import frontMatter from 'front-matter'; -import { DateTime } from 'luxon'; - -/** - * ADR plugin annotation. - * @public - */ -export const ANNOTATION_ADR_LOCATION = 'backstage.io/adr-location'; - -/** - * Standard luxon DateTime format string for MADR dates. - * @public - */ -export const MADR_DATE_FORMAT = 'yyyy-MM-dd'; - -/** - * Utility function to get the value of an entity ADR annotation. - * @public - */ -const getAdrLocationDir = (entity: Entity) => - entity.metadata.annotations?.[ANNOTATION_ADR_LOCATION]?.trim(); - -/** - * Utility function to determine if the given entity has ADRs. - * @public - */ -export const isAdrAvailable = (entity: Entity) => - Boolean(getAdrLocationDir(entity)); - -/** - * Utility function to extract the ADR location URL from an entity based off - * its ADR annotation and relative to the entity source location. - * @public - */ -export const getAdrLocationUrl = ( - entity: Entity, - scmIntegration: ScmIntegrationRegistry, - adrFilePath?: String, -) => { - if (!isAdrAvailable(entity)) { - throw new Error(`Missing ADR annotation: ${ANNOTATION_ADR_LOCATION}`); - } - - let url = getAdrLocationDir(entity)!.replace(/\/$/, ''); - - if (adrFilePath) { - url = `${url}/${adrFilePath}`; - } - - return scmIntegration.resolveUrl({ - url, - base: getEntitySourceLocation(entity).target, - }); -}; - -/** - * File path filter function type for ADR filenames - * @public - */ -export type AdrFilePathFilterFn = (path: string) => boolean; - -/** - * File path filter for MADR filename formats - * @public - */ -export const madrFilePathFilter: AdrFilePathFilterFn = (path: string) => - /^(?:.*\/)?\d{4}-.+\.md$/.test(path); - -/** - * ADR indexable document interface - * @public - */ -export interface AdrDocument extends IndexableDocument { - /** - * Ref of the entity associated with this ADR - */ - entityRef: string; - /** - * Title of the entity associated with this ADR - */ - entityTitle?: string; - /** - * ADR status label - */ - status?: string; - /** - * ADR date - */ - date?: string; -} - -/** - * Parsed MADR document with front matter (if present) parsed and extracted from the main markdown content. - * @public - */ -export interface ParsedMadr { - /** - * Main body of ADR content (with any front matter removed) - */ - content: string; - /** - * ADR status - */ - status?: string; - /** - * ADR date - */ - date?: string; - /** - * All attributes parsed from front matter - */ - attributes: Record; -} - -/** - * Utility function to parse raw markdown content for an ADR and extract any metadata found as "front matter" at the top of the Markdown document. - * @param content - Raw markdown content which may (optionally) include front matter - * @public - */ -export const parseMadrWithFrontmatter = (content: string): ParsedMadr => { - const parsed = frontMatter>(content); - const status = parsed.attributes.status; - const date = parsed.attributes.date; - const luxdate = DateTime.fromJSDate(new Date(`${date}`)); - const formattedDate = luxdate.toISODate(); - return { - content: parsed.body, - status: status ? String(status) : undefined, - date: date ? String(formattedDate) : undefined, - attributes: parsed.attributes, - }; -}; diff --git a/plugins/adr/.eslintrc.js b/plugins/adr/.eslintrc.js deleted file mode 100644 index e487f765b2..0000000000 --- a/plugins/adr/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, -}); diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md deleted file mode 100644 index 13836e5e64..0000000000 --- a/plugins/adr/CHANGELOG.md +++ /dev/null @@ -1,1609 +0,0 @@ -# @backstage/plugin-adr - -## 0.6.17 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-search-react@1.7.10 - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/core-plugin-api@1.9.2 - - @backstage/frontend-plugin-api@0.6.4 - - @backstage/integration-react@1.1.26 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.22 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.17-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.4-next.1 - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/integration-react@1.1.26-next.0 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.1 - - @backstage/plugin-search-common@1.2.11 - - @backstage/plugin-search-react@1.7.10-next.1 - -## 0.6.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/frontend-plugin-api@0.6.4-next.0 - - @backstage/integration-react@1.1.26-next.0 - - @backstage/plugin-adr-common@0.2.22-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.0 - - @backstage/plugin-search-common@1.2.11 - - @backstage/plugin-search-react@1.7.10-next.0 - -## 0.6.16 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/plugin-search-react@1.7.9 - - @backstage/frontend-plugin-api@0.6.3 - - @backstage/integration-react@1.1.25 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.15 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/plugin-search-react@1.7.8 - - @backstage/frontend-plugin-api@0.6.2 - - @backstage/integration-react@1.1.25 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - - @backstage/plugin-adr-common@0.2.21 - - @backstage/plugin-search-common@1.2.11 - -## 0.6.14 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- 669efc6: Remove unused package dependencies -- 38b92a0: Added ESLint rule `no-top-level-material-ui-4-imports` in the ADR plugin to migrate the Material UI imports. -- Updated dependencies - - @backstage/plugin-adr-common@0.2.21 - - @backstage/core-components@0.14.1 - - @backstage/integration-react@1.1.25 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/plugin-search-common@1.2.11 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/frontend-plugin-api@0.6.1 - - @backstage/plugin-search-react@1.7.7 - -## 0.6.14-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/integration-react@1.1.25-next.2 - - @backstage/plugin-adr-common@0.2.21-next.2 - - @backstage/frontend-plugin-api@0.6.1-next.2 - - @backstage/plugin-search-react@1.7.7-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.6.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/integration-react@1.1.25-next.1 - - @backstage/frontend-plugin-api@0.6.1-next.1 - - @backstage/plugin-search-react@1.7.7-next.1 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/plugin-adr-common@0.2.21-next.1 - - @backstage/plugin-search-common@1.2.11-next.1 - -## 0.6.14-next.0 - -### Patch Changes - -- 5335634: Fixed Azure DevOps ADR file path reading -- 669efc6: Remove unused package dependencies -- Updated dependencies - - @backstage/plugin-adr-common@0.2.21-next.0 - - @backstage/core-components@0.14.1-next.0 - - @backstage/integration-react@1.1.25-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/plugin-search-common@1.2.11-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - - @backstage/plugin-search-react@1.7.7-next.0 - - @backstage/frontend-plugin-api@0.6.1-next.0 - -## 0.6.13 - -### Patch Changes - -- 0b03962: Updated README -- 987f565: Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.0 - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/core-plugin-api@1.9.0 - - @backstage/plugin-search-react@1.7.6 - - @backstage/integration-react@1.1.24 - - @backstage/plugin-adr-common@0.2.20 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/frontend-plugin-api@0.6.0-next.3 - - @backstage/integration-react@1.1.24-next.2 - - @backstage/plugin-adr-common@0.2.20-next.1 - - @backstage/plugin-search-common@1.2.10 - - @backstage/plugin-search-react@1.7.6-next.3 - -## 0.6.13-next.2 - -### Patch Changes - -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/frontend-plugin-api@0.6.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/plugin-search-react@1.7.6-next.2 - - @backstage/integration-react@1.1.24-next.1 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.1 - -### Patch Changes - -- 987f565: Fix alignment of text in `AdrSearchResultListItem`. Update size and font to match other `SearchResultListItem`. -- Updated dependencies - - @backstage/frontend-plugin-api@0.6.0-next.1 - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - - @backstage/plugin-search-react@1.7.6-next.1 - - @backstage/integration-react@1.1.24-next.0 - - @backstage/plugin-adr-common@0.2.20-next.0 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.13-next.0 - -### Patch Changes - -- 0b03962: Updated README -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/frontend-plugin-api@0.5.1-next.0 - - @backstage/core-components@0.13.10 - - @backstage/plugin-search-react@1.7.6-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - - @backstage/integration-react@1.1.23 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.12 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/frontend-plugin-api@0.5.0 - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/plugin-search-react@1.7.5 - - @backstage/integration-react@1.1.23 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.19 - - @backstage/plugin-search-common@1.2.10 - -## 0.6.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.1-next.2 - - @backstage/plugin-catalog-react@1.9.3-next.2 - - @backstage/plugin-search-react@1.7.5-next.2 - - @backstage/integration-react@1.1.23-next.0 - -## 0.6.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/frontend-plugin-api@0.4.1-next.1 - - @backstage/integration-react@1.1.23-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/plugin-search-react@1.7.5-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.12-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/frontend-plugin-api@0.4.1-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/integration-react@1.1.22 - - @backstage/plugin-search-react@1.7.5-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.11 - -### Patch Changes - -- 5814122: Updated `/alpha` exports to fit new naming patterns. -- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. -- fb8f3bd: Updated alpha translation message keys to use nested format and camel case. -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/frontend-plugin-api@0.4.0 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/plugin-search-react@1.7.4 - - @backstage/integration-react@1.1.22 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18 - - @backstage/plugin-search-common@1.2.9 - -## 0.6.11-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/frontend-plugin-api@0.4.0-next.3 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - - @backstage/plugin-search-common@1.2.8 - - @backstage/plugin-search-react@1.7.4-next.3 - -## 0.6.11-next.2 - -### Patch Changes - -- 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed. -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.0-next.2 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/plugin-search-react@1.7.4-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.11-next.1 - -### Patch Changes - -- fb8f3bdbc2: Updated alpha translation message keys to use nested format and camel case. -- Updated dependencies - - @backstage/frontend-plugin-api@0.4.0-next.1 - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/plugin-search-react@1.7.4-next.1 - - @backstage/integration-react@1.1.22-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - - @backstage/plugin-adr-common@0.2.18-next.1 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/plugin-search-react@1.7.4-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/frontend-plugin-api@0.3.1-next.0 - - @backstage/integration-react@1.1.22-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.18-next.0 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.9 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/frontend-plugin-api@0.3.0 - - @backstage/integration-react@1.1.21 - - @backstage/core-plugin-api@1.8.0 - - @backstage/plugin-search-react@1.7.2 - - @backstage/theme@0.4.4 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.17 - - @backstage/plugin-search-common@1.2.8 - -## 0.6.9-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/frontend-plugin-api@0.3.0-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - - @backstage/integration-react@1.1.21-next.1 - - @backstage/plugin-search-react@1.7.2-next.2 - -## 0.6.9-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/frontend-plugin-api@0.3.0-next.1 - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/plugin-search-react@1.7.2-next.1 - - @backstage/integration-react@1.1.21-next.1 - - @backstage/plugin-adr-common@0.2.17-next.0 - - @backstage/core-components@0.13.8-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.9-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/frontend-plugin-api@0.3.0-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/integration-react@1.1.21-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/plugin-search-react@1.7.2-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.8 - -### Patch Changes - -- 499e34656e: Fix icon alignment in `AdrSearchResultListItem` -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- 1204e7628e: Create an experimental `AdrSearchResultItemExtension` for declarative integration with Backstage; it can be accessed via the `/alpha` import. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/frontend-plugin-api@0.2.0 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/integration-react@1.1.20 - - @backstage/catalog-model@1.4.3 - - @backstage/plugin-search-react@1.7.1 - - @backstage/theme@0.4.3 - - @backstage/plugin-adr-common@0.2.16 - - @backstage/plugin-search-common@1.2.7 - -## 0.6.8-next.2 - -### Patch Changes - -- 499e34656e: Fix icon alignment in `AdrSearchResultListItem` -- Updated dependencies - - @backstage/frontend-plugin-api@0.2.0-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-search-react@1.7.1-next.2 - - @backstage/theme@0.4.3-next.0 - - @backstage/plugin-adr-common@0.2.16-next.1 - - @backstage/plugin-search-common@1.2.7-next.0 - -## 0.6.8-next.1 - -### Patch Changes - -- 1204e7628e: Create an experimental `AdrSearchResultItemExtension` for declarative integration with Backstage; it can be accessed via the `/alpha` import. -- Updated dependencies - - @backstage/frontend-plugin-api@0.1.1-next.1 - - @backstage/core-components@0.13.6-next.1 - - @backstage/plugin-search-react@1.7.1-next.1 - - @backstage/integration-react@1.1.20-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/plugin-search-common@1.2.6 - -## 0.6.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/integration-react@1.1.20-next.0 - - @backstage/plugin-adr-common@0.2.16-next.0 - - @backstage/plugin-search-react@1.7.1-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - - @backstage/plugin-search-common@1.2.6 - -## 0.6.7 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- aa844e704a32: support for i18n feature -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/integration-react@1.1.19 - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/plugin-adr-common@0.2.15 - - @backstage/plugin-search-common@1.2.6 - - @backstage/plugin-search-react@1.7.0 - - @backstage/theme@0.4.2 - -## 0.6.7-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- aa844e704a32: support for i18n feature -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/integration-react@1.1.19-next.3 - - @backstage/plugin-adr-common@0.2.15-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/plugin-search-common@1.2.6-next.2 - - @backstage/plugin-search-react@1.7.0-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.6.7-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/integration-react@1.1.19-next.2 - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/plugin-search-react@1.7.0-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.15-next.2 - - @backstage/plugin-search-common@1.2.6-next.1 - -## 0.6.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/plugin-search-react@1.7.0-next.1 - - @backstage/integration-react@1.1.19-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/plugin-adr-common@0.2.15-next.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-search-common@1.2.6-next.0 - -## 0.6.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/integration-react@1.1.18-next.0 - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.14-next.0 - - @backstage/plugin-catalog-react@1.8.3-next.0 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.5-next.0 - -## 0.6.4 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/integration-react@1.1.16 - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-search-react@1.6.4 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.12 - - @backstage/plugin-search-common@1.2.5 - -## 0.6.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - - @backstage/integration-react@1.1.16-next.1 - -## 0.6.4-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/integration-react@1.1.16-next.1 - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.4-next.0 - -## 0.6.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/plugin-search-react@1.6.4-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/integration-react@1.1.16-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/plugin-search-common@1.2.5 - -## 0.6.3 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-adr-common@0.2.11 - - @backstage/catalog-model@1.4.1 - - @backstage/integration-react@1.1.15 - - @backstage/plugin-search-common@1.2.5 - - @backstage/plugin-search-react@1.6.3 - -## 0.6.3-next.2 - -### Patch Changes - -- 2b4513abb784: fixed error with date parsing. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/plugin-adr-common@0.2.11-next.1 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/integration-react@1.1.15-next.2 - - @backstage/plugin-search-common@1.2.5-next.0 - - @backstage/plugin-search-react@1.6.3-next.2 - -## 0.6.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/integration-react@1.1.15-next.1 - - @backstage/plugin-catalog-react@1.7.1-next.1 - - @backstage/plugin-search-react@1.6.3-next.1 - -## 0.6.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/integration-react@1.1.15-next.0 - - @backstage/theme@0.4.0 - - @backstage/plugin-adr-common@0.2.11-next.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - - @backstage/plugin-search-common@1.2.5-next.0 - - @backstage/plugin-search-react@1.6.3-next.0 - -## 0.6.2 - -### Patch Changes - -- 58524588448c: Render table of front matter metadata when displaying MADR v3 formatted ADR -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/plugin-search-react@1.6.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - - @backstage/plugin-adr-common@0.2.10 - - @backstage/integration-react@1.1.14 - - @backstage/plugin-search-common@1.2.4 - -## 0.6.2-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-search-react@1.6.2-next.3 - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/integration-react@1.1.14-next.3 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-adr-common@0.2.10-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.6.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/integration-react@1.1.14-next.2 - - @backstage/plugin-search-react@1.6.1-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.6.1-next.1 - -### Patch Changes - -- 58524588448c: Render table of front matter metadata when displaying MADR v3 formatted ADR -- Updated dependencies - - @backstage/plugin-search-react@1.6.1-next.1 - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/plugin-adr-common@0.2.10-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/integration-react@1.1.14-next.1 - - @backstage/theme@0.4.0-next.0 - - @backstage/plugin-search-common@1.2.4-next.0 - -## 0.6.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/integration-react@1.1.14-next.0 - - @backstage/plugin-search-react@1.6.1-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.6.0 - -### Minor Changes - -- b12cd5dc221: render SupportButton only if config is set - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/plugin-search-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/integration-react@1.1.13 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-adr-common@0.2.9 - - @backstage/plugin-search-common@1.2.3 - -## 0.5.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/plugin-search-react@1.6.0-next.2 - - @backstage/integration-react@1.1.13-next.2 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.5.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - - @backstage/plugin-search-react@1.6.0-next.1 - - @backstage/integration-react@1.1.13-next.1 - -## 0.5.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/plugin-search-react@1.6.0-next.0 - - @backstage/integration-react@1.1.13-next.0 - - @backstage/plugin-adr-common@0.2.9-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - - @backstage/plugin-search-common@1.2.3 - -## 0.5.0 - -### Minor Changes - -- a2218363301: Use `fetchApi` instead of raw `fetch` in order to pass auth header if necessary. - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- 7d75f6d9b8f: chore: Improve API Reference documentation -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/plugin-search-react@1.5.2 - - @backstage/plugin-adr-common@0.2.8 - - @backstage/integration-react@1.1.12 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/plugin-search-common@1.2.3 - -## 0.4.2-next.3 - -### Patch Changes - -- 77aa3a4d47e: use path attribute to fetch files instead of name and update the UI to navigate over subdirectories -- Updated dependencies - - @backstage/plugin-adr-common@0.2.8-next.1 - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/integration-react@1.1.12-next.3 - - @backstage/theme@0.2.19-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - - @backstage/plugin-search-react@1.5.2-next.3 - -## 0.4.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/integration-react@1.1.12-next.2 - - @backstage/theme@0.2.19-next.0 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - - @backstage/plugin-search-react@1.5.2-next.2 - -## 0.4.2-next.1 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/integration-react@1.1.12-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/plugin-search-react@1.5.2-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - - @backstage/plugin-adr-common@0.2.8-next.0 - - @backstage/plugin-search-common@1.2.3-next.0 - -## 0.4.2-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/plugin-search-react@1.5.2-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/integration-react@1.1.12-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.4.1 - -### Patch Changes - -- d293f4aaf83: Updated readme instructions -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/plugin-search-react@1.5.1 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/integration-react@1.1.11 - - @backstage/theme@0.2.18 - - @backstage/plugin-adr-common@0.2.7 - - @backstage/plugin-search-common@1.2.2 - -## 0.4.1-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/plugin-search-react@1.5.1-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - - @backstage/integration-react@1.1.11-next.2 - -## 0.4.1-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/integration-react@1.1.11-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - - @backstage/plugin-adr-common@0.2.7-next.1 - - @backstage/plugin-search-common@1.2.2-next.0 - - @backstage/plugin-search-react@1.5.1-next.1 - -## 0.4.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/integration-react@1.1.11-next.0 - - @backstage/theme@0.2.17 - - @backstage/plugin-adr-common@0.2.7-next.0 - - @backstage/plugin-search-common@1.2.1 - - @backstage/plugin-search-react@1.5.1-next.0 - -## 0.4.0 - -### Minor Changes - -- 0a32911d8a: Display title, status and date in ADR navigation, sourced from ADR content and reverse order. -- ec34b535c0: The `AdrSearchResultListItem` component is now a search result extension. This means that when rendered as a child of components that render search extensions, the `result`, `rank`, and `highlight` properties are optional. See the [documentation](https://backstage.io/docs/features/search/how-to-guides#how-to-render-search-results-using-extensions) for more details. - -### Patch Changes - -- ec34b535c0: Support displaying an icon on `AdrSearchResultListItem` -- 496cf6aff0: Render the common `` component when the `backstage.io/adr-location` annotation is missing from the component -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - - @backstage/plugin-search-react@1.5.0 - - @backstage/integration-react@1.1.10 - - @backstage/plugin-adr-common@0.2.6 - - @backstage/plugin-search-common@1.2.1 - -## 0.4.0-next.2 - -### Minor Changes - -- ec34b535c0: The `AdrSearchResultListItem` component is now a search result extension. This means that when rendered as a child of components that render search extensions, the `result`, `rank`, and `highlight` properties are optional. See the [documentation](https://backstage.io/docs/features/search/how-to-guides#how-to-render-search-results-using-extensions) for more details. - -### Patch Changes - -- ec34b535c0: Support displaying an icon on `AdrSearchResultListItem` -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/plugin-search-react@1.5.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.10-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.6-next.1 - - @backstage/plugin-catalog-react@1.3.0-next.2 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.1-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-search-react@1.5.0-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.10-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.6-next.0 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.1-next.0 - -### Patch Changes - -- 496cf6aff0: Render the common `` component when the `backstage.io/adr-location` annotation is missing from the component -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/plugin-adr-common@0.2.6-next.0 - - @backstage/integration-react@1.1.9 - -## 0.3.0 - -### Minor Changes - -- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - - **BREAKING** The ADR plugin now requires the `@backstage/plugin-adr-backend` plugin to be installed by using the `createRouter` method to add into your `backend`. You read more in the [install instructions](https://github.com/backstage/backstage/blob/master/plugins/adr-backend/README.md#install) - -### Patch Changes - -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- 80ce4e8c29: Small updates to some components to ensure theme typography properties are inherited correctly. -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/plugin-search-react@1.4.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/integration-react@1.1.9 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5 - - @backstage/plugin-search-common@1.2.1 - -## 0.3.0-next.2 - -### Minor Changes - -- e4469d0ec1: The ADR plugin can now work with sites other than GitHub. Expanded the ADR backend plugin to provide endpoints to facilitate this. - - **BREAKING** The ADR plugin now uses UrlReaders. You will have to [configure integrations](https://backstage.io/docs/integrations/index#configuration) for all sites you want to get ADRs from. If you would like to create your own implementation that has different behavior, you can override the AdrApi [just like you can with other apis.](https://backstage.io/docs/api/utility-apis#app-apis) The previously used Octokit implementation has been completely removed. - -### Patch Changes - -- 21ffbdd5ee: Clarify that default ADR parsers support MADR specification v2.x -- Updated dependencies - - @backstage/plugin-search-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/integration-react@1.1.9-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - -## 0.2.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/integration-react@1.1.9-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.1 - - @backstage/plugin-search-common@1.2.1-next.0 - - @backstage/plugin-search-react@1.3.2-next.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/integration-react@1.1.9-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.5-next.0 - - @backstage/plugin-search-common@1.2.0 - - @backstage/plugin-search-react@1.3.2-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/integration-react@1.1.8 - - @backstage/plugin-catalog-react@1.2.3 - - @backstage/plugin-search-react@1.3.1 - -## 0.2.4 - -### Patch Changes - -- a19cffbeed: Update search links to only have header as linkable text -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/plugin-search-react@1.3.0 - - @backstage/core-components@0.12.1 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/integration-react@1.1.7 - - @backstage/plugin-search-common@1.2.0 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4 - -## 0.2.4-next.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/plugin-search-react@1.3.0-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.4 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.3 - - @backstage/plugin-search-common@1.2.0-next.3 - -## 0.2.4-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.3 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.3 - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/plugin-search-react@1.3.0-next.3 - -## 0.2.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/plugin-search-react@1.3.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/plugin-search-common@1.2.0-next.2 - - @backstage/integration-react@1.1.7-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.2 - -## 0.2.4-next.1 - -### Patch Changes - -- a19cffbeed: Update search links to only have header as linkable text -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/plugin-search-react@1.2.2-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/integration-react@1.1.7-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.1 - - @backstage/plugin-search-common@1.1.2-next.1 - -## 0.2.4-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/integration-react@1.1.7-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.4-next.0 - - @backstage/plugin-search-common@1.1.2-next.0 - - @backstage/plugin-search-react@1.2.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/integration-react@1.1.6 - - @backstage/plugin-search-react@1.2.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.3 - - @backstage/plugin-search-common@1.1.1 - -## 0.2.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/integration-react@1.1.6-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/plugin-catalog-react@1.2.1-next.1 - - @backstage/plugin-search-common@1.1.1-next.0 - - @backstage/plugin-search-react@1.2.1-next.1 - -## 0.2.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/integration-react@1.1.6-next.0 - - @backstage/plugin-search-react@1.2.1-next.0 - - @backstage/plugin-adr-common@0.2.3-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-search-common@1.1.1-next.0 - -## 0.2.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/plugin-search-react@1.2.0 - - @backstage/plugin-search-common@1.1.0 - - @backstage/plugin-adr-common@0.2.2 - - @backstage/integration-react@1.1.5 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.2.2-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/plugin-search-common@1.1.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/integration-react@1.1.5-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.2-next.2 - - @backstage/plugin-search-react@1.2.0-next.2 - -## 0.2.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/plugin-search-react@1.2.0-next.1 - - @backstage/plugin-search-common@1.1.0-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/integration-react@1.1.5-next.1 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.2.2-next.1 - -## 0.2.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/plugin-adr-common@0.2.2-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/integration-react@1.1.5-next.0 - - @backstage/plugin-search-react@1.1.1-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-search-common@1.0.2-next.0 - -## 0.2.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- eadf56bbbf: Bump `git-url-parse` version to `^13.0.0` -- 7d47def9c4: Removed dependency on `@types/jest`. -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- c8bb0ff8ce: Minor cleanup of the public API surface to reduce the number of warnings -- b489de83b1: Fix parsing of ADR location which includes a trailing slash -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/plugin-search-react@1.1.0 - - @backstage/catalog-model@1.1.1 - - @backstage/integration-react@1.1.4 - - @backstage/plugin-adr-common@0.2.1 - - @backstage/plugin-search-common@1.0.1 - -## 0.2.1-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - - @backstage/integration-react@1.1.4-next.2 - - @backstage/plugin-adr-common@0.2.1-next.1 - -## 0.2.1-next.2 - -### Patch Changes - -- eadf56bbbf: Bump `git-url-parse` version to `^13.0.0` -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - - @backstage/integration-react@1.1.4-next.1 - - @backstage/plugin-search-react@1.1.0-next.2 - -## 0.2.1-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- b489de83b1: Fix parsing of ADR location which includes a trailing slash -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - - @backstage/plugin-search-react@1.0.2-next.1 - -## 0.2.1-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- c8bb0ff8ce: Minor cleanup of the public API surface to reduce the number of warnings -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/integration-react@1.1.4-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - - @backstage/plugin-search-react@1.0.2-next.0 - - @backstage/plugin-adr-common@0.2.1-next.0 - - @backstage/plugin-search-common@1.0.1-next.0 - -## 0.2.0 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.0 - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - - @backstage/integration-react@1.1.3 - - @backstage/plugin-search-react@1.0.1 - -## 0.2.0-next.2 - -### Minor Changes - -- bfc7c50a09: Display associated entity as a chip in `AdrSearchResultListItem` - - BREAKING: `AdrDocument` now includes a `entityRef` property, if you have a custom `AdrParser` you will have to supply this property in your returned documents - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-adr-common@0.2.0-next.1 - -## 0.1.3-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - - @backstage/integration-react@1.1.3-next.1 - - @backstage/plugin-search-react@1.0.1-next.1 - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/integration-react@1.1.3-next.0 - - @backstage/plugin-adr-common@0.1.3-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - - @backstage/plugin-search-react@1.0.1-next.0 - -## 0.1.2 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- 511f49ee43: Updated dependency `octokit` to `^2.0.0`. -- e2d7b76f43: Upgrade git-url-parse to 12.0.0. - - Motivation for upgrade is transitively upgrading parse-url which is vulnerable - to several CVEs detected by Snyk. - - - SNYK-JS-PARSEURL-2935944 - - SNYK-JS-PARSEURL-2935947 - - SNYK-JS-PARSEURL-2936249 - -- 7d47e7e512: Track discover event and result rank for `AdrSearchResultListItem` -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/plugin-search-react@1.0.0 - - @backstage/plugin-search-common@1.0.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/integration-react@1.1.2 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-adr-common@0.1.2 - -## 0.1.2-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 511f49ee43: Updated dependency `octokit` to `^2.0.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/integration-react@1.1.2-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - - @backstage/plugin-search-react@0.2.2-next.3 - -## 0.1.2-next.2 - -### Patch Changes - -- e2d7b76f43: Upgrade git-url-parse to 12.0.0. - - Motivation for upgrade is transitively upgrading parse-url which is vulnerable - to several CVEs detected by Snyk. - - - SNYK-JS-PARSEURL-2935944 - - SNYK-JS-PARSEURL-2935947 - - SNYK-JS-PARSEURL-2936249 - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/plugin-search-react@0.2.2-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - - @backstage/integration-react@1.1.2-next.2 - -## 0.1.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/integration-react@1.1.2-next.1 - - @backstage/plugin-adr-common@0.1.2-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.1 - - @backstage/plugin-search-common@0.3.6-next.0 - - @backstage/plugin-search-react@0.2.2-next.1 - -## 0.1.2-next.0 - -### Patch Changes - -- 7d47e7e512: Track discover event and result rank for `AdrSearchResultListItem` -- Updated dependencies - - @backstage/core-components@0.9.6-next.0 - - @backstage/plugin-adr-common@0.1.2-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - - @backstage/integration-react@1.1.2-next.0 - - @backstage/plugin-search-react@0.2.2-next.0 - -## 0.1.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- a6458a120b: Adding term highlighting support to `AdrSearchResultListItem` -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/plugin-search-common@0.3.5 - - @backstage/plugin-search-react@0.2.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/integration-react@1.1.1 - - @backstage/plugin-adr-common@0.1.1 - -## 0.1.1-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/integration-react@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.1.1-next.1 - - @backstage/plugin-search-react@0.2.1-next.0 - - @backstage/plugin-search-common@0.3.5-next.0 - - @backstage/plugin-adr-common@0.1.1-next.1 - -## 0.1.1-next.0 - -### Patch Changes - -- a6458a120b: Adding term highlighting support to `AdrSearchResultListItem` -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - - @backstage/integration-react@1.1.1-next.0 - - @backstage/plugin-adr-common@0.1.1-next.0 - -## 0.1.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/plugin-adr-common@0.1.0 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/integration-react@1.1.0 - -## 0.1.0-next.0 - -### Minor Changes - -- e73075a301: Implement ADR plugin - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/plugin-adr-common@0.1.0-next.0 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - - @backstage/integration-react@1.1.0-next.1 diff --git a/plugins/adr/README.md b/plugins/adr/README.md deleted file mode 100644 index aa3e89ce1f..0000000000 --- a/plugins/adr/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -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. diff --git a/plugins/adr/api-report-alpha.md b/plugins/adr/api-report-alpha.md deleted file mode 100644 index bfa27a6d4f..0000000000 --- a/plugins/adr/api-report-alpha.md +++ /dev/null @@ -1,31 +0,0 @@ -## API Report File for "@backstage/plugin-adr" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackstagePlugin } from '@backstage/frontend-plugin-api'; -import { ExtensionDefinition } from '@backstage/frontend-plugin-api'; -import { TranslationRef } from '@backstage/core-plugin-api/alpha'; - -// @alpha (undocumented) -export const adrSearchResultListItemExtension: ExtensionDefinition<{ - lineClamp: number; - noTrack: boolean; -}>; - -// @alpha (undocumented) -export const adrTranslationRef: TranslationRef< - 'adr', - { - readonly contentHeaderTitle: 'Architecture Decision Records'; - readonly failedToFetch: 'Failed to fetch ADRs'; - readonly notFound: 'No ADRs found'; - } ->; - -// @alpha (undocumented) -const _default: BackstagePlugin<{}, {}>; -export default _default; - -// (No @packageDocumentation comment for this package) -``` diff --git a/plugins/adr/api-report.md b/plugins/adr/api-report.md deleted file mode 100644 index 9ce5834574..0000000000 --- a/plugins/adr/api-report.md +++ /dev/null @@ -1,117 +0,0 @@ -## API Report File for "@backstage/plugin-adr" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { AdrFilePathFilterFn } from '@backstage/plugin-adr-common'; -import { ApiRef } from '@backstage/core-plugin-api'; -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { DiscoveryApi } from '@backstage/core-plugin-api'; -import { FetchApi } from '@backstage/core-plugin-api'; -import { isAdrAvailable } from '@backstage/plugin-adr-common'; -import { JSX as JSX_2 } from 'react'; -import { default as React_2 } from 'react'; -import { ReactNode } from 'react'; -import { ResultHighlight } from '@backstage/plugin-search-common'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public -export interface AdrApi { - listAdrs(url: string): Promise; - readAdr(url: string): Promise; -} - -// @public -export const adrApiRef: ApiRef; - -// @public -export class AdrClient implements AdrApi { - constructor(options: AdrClientOptions); - // (undocumented) - listAdrs(url: string): Promise; - // (undocumented) - readAdr(url: string): Promise; -} - -// @public -export interface AdrClientOptions { - // (undocumented) - discoveryApi: DiscoveryApi; - // (undocumented) - fetchApi: FetchApi; -} - -// @public -export type AdrContentDecorator = (adrInfo: { - baseUrl: string; - content: string; -}) => { - content: string; -}; - -// @public -export type AdrFileInfo = { - type: string; - path: string; - name: string; - title?: string; - status?: string; - date?: string; -}; - -// @public -export type AdrListResult = { - data: AdrFileInfo[]; -}; - -// @public -export const adrPlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public -export const AdrReader: { - (props: { - adr: string; - decorators?: AdrContentDecorator[]; - }): React_2.JSX.Element; - decorators: Readonly<{ - createRewriteRelativeLinksDecorator(): AdrContentDecorator; - createRewriteRelativeEmbedsDecorator(): AdrContentDecorator; - createFrontMatterFormatterDecorator(): AdrContentDecorator; - }>; -}; - -// @public -export type AdrReadResult = { - data: string; -}; - -// @public -export const AdrSearchResultListItem: ( - props: AdrSearchResultListItemProps, -) => JSX.Element | null; - -// @public (undocumented) -export type AdrSearchResultListItemProps = { - lineClamp?: number; - highlight?: ResultHighlight; - icon?: ReactNode; - rank?: number; - result?: AdrDocument; -}; - -// @public -export const EntityAdrContent: (props: { - contentDecorators?: AdrContentDecorator[] | undefined; - filePathFilterFn?: AdrFilePathFilterFn | undefined; -}) => JSX_2.Element; - -export { isAdrAvailable }; -``` diff --git a/plugins/adr/catalog-info.yaml b/plugins/adr/catalog-info.yaml deleted file mode 100644 index 61fb6116d6..0000000000 --- a/plugins/adr/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-adr - title: '@backstage/plugin-adr' -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: kuangp diff --git a/plugins/adr/docs/adr-tab.png b/plugins/adr/docs/adr-tab.png deleted file mode 100644 index d9dd728221..0000000000 Binary files a/plugins/adr/docs/adr-tab.png and /dev/null differ diff --git a/plugins/adr/examples/component/catalog-info.yaml b/plugins/adr/examples/component/catalog-info.yaml deleted file mode 100644 index 580110243f..0000000000 --- a/plugins/adr/examples/component/catalog-info.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: component-with-adrs - title: Component With ADRs - description: A Service with ADRs registerd - annotations: - backstage.io/adr-location: https://github.com/adr/madr/tree/develop/docs/decisions -spec: - type: service - lifecycle: experimental - owner: user:guest diff --git a/plugins/adr/knip-report.md b/plugins/adr/knip-report.md deleted file mode 100644 index ba9c1dddc5..0000000000 --- a/plugins/adr/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused devDependencies (2) - -| Name | Location | Severity | -| :--------------------- | :----------- | :------- | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/adr/package.json b/plugins/adr/package.json deleted file mode 100644 index bdf54391e8..0000000000 --- a/plugins/adr/package.json +++ /dev/null @@ -1,76 +0,0 @@ -{ - "name": "@backstage/plugin-adr", - "version": "0.6.17", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-adr" - }, - "publishConfig": { - "access": "public" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/adr" - }, - "license": "Apache-2.0", - "sideEffects": false, - "exports": { - ".": "./src/index.ts", - "./alpha": "./src/alpha.tsx", - "./package.json": "./package.json" - }, - "main": "src/index.ts", - "types": "src/index.ts", - "typesVersions": { - "*": { - "alpha": [ - "src/alpha.tsx" - ], - "package.json": [ - "package.json" - ] - } - }, - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/frontend-plugin-api": "workspace:^", - "@backstage/integration-react": "workspace:^", - "@backstage/plugin-adr-common": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/plugin-search-common": "workspace:^", - "@backstage/plugin-search-react": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "lodash": "^4.17.21", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-adr instead." -} diff --git a/plugins/adr/src/alpha.tsx b/plugins/adr/src/alpha.tsx deleted file mode 100644 index 4abba11fcf..0000000000 --- a/plugins/adr/src/alpha.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import { - createPlugin, - createSchemaFromZod, -} from '@backstage/frontend-plugin-api'; -import { createSearchResultListItemExtension } from '@backstage/plugin-search-react/alpha'; -import { AdrDocument } from '@backstage/plugin-adr-common'; - -export * from './translations'; - -function isAdrDocument(result: any): result is AdrDocument { - return result.entityRef; -} - -/** @alpha */ -export const adrSearchResultListItemExtension = - createSearchResultListItemExtension({ - configSchema: createSchemaFromZod(z => - z.object({ - // TODO: Define how the icon can be configurable - noTrack: z.boolean().default(false), - lineClamp: z.number().default(5), - }), - ), - predicate: result => result.type === 'adr', - component: async ({ config }) => { - const { AdrSearchResultListItem } = await import( - './search/AdrSearchResultListItem' - ); - return ({ result, ...rest }) => - isAdrDocument(result) ? ( - - ) : null; - }, - }); - -/** @alpha */ -export default createPlugin({ - id: 'adr', - extensions: [adrSearchResultListItemExtension], -}); diff --git a/plugins/adr/src/api/AdrClient.ts b/plugins/adr/src/api/AdrClient.ts deleted file mode 100644 index 9b85e8680d..0000000000 --- a/plugins/adr/src/api/AdrClient.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { DiscoveryApi, FetchApi } from '@backstage/core-plugin-api'; -import { AdrApi, AdrListResult, AdrReadResult } from './types'; - -/** - * Options for creating an AdrClient. - * - * @public - */ -export interface AdrClientOptions { - discoveryApi: DiscoveryApi; - fetchApi: FetchApi; -} - -const readEndpoint = 'file'; -const listEndpoint = 'list'; - -/** - * An implementation of the AdrApi that communicates with the ADR backend plugin. - * - * @public - */ -export class AdrClient implements AdrApi { - private readonly discoveryApi: DiscoveryApi; - private readonly fetchApi: FetchApi; - - constructor(options: AdrClientOptions) { - this.discoveryApi = options.discoveryApi; - this.fetchApi = options.fetchApi; - } - - private async fetchAdrApi(endpoint: string, fileUrl: string): Promise { - const baseUrl = await this.discoveryApi.getBaseUrl('adr'); - const targetUrl = `${baseUrl}/${endpoint}?url=${encodeURIComponent( - fileUrl, - )}`; - - const result = await this.fetchApi.fetch(targetUrl); - const data = await result.json(); - - if (!result.ok) { - throw new Error(`${data.message}`); - } - return data; - } - - async listAdrs(url: string): Promise { - return this.fetchAdrApi(listEndpoint, url); - } - - async readAdr(url: string): Promise { - return this.fetchAdrApi(readEndpoint, url); - } -} diff --git a/plugins/adr/src/api/index.ts b/plugins/adr/src/api/index.ts deleted file mode 100644 index 095da3519d..0000000000 --- a/plugins/adr/src/api/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { AdrClient } from './AdrClient'; -export type { AdrClientOptions } from './AdrClient'; -export { adrApiRef } from './types'; -export type { - AdrApi, - AdrFileInfo, - AdrListResult, - AdrReadResult, -} from './types'; diff --git a/plugins/adr/src/api/types.ts b/plugins/adr/src/api/types.ts deleted file mode 100644 index 0af35cc6df..0000000000 --- a/plugins/adr/src/api/types.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createApiRef } from '@backstage/core-plugin-api'; - -/** - * Contains information about an ADR file. - * - * @public - */ -export type AdrFileInfo = { - /** The file type. */ - type: string; - - /** The relative path of the ADR file. */ - path: string; - - /** The name of the ADR file. */ - name: string; - - /** The title of the ADR. */ - title?: string; - - /** The status of the ADR. */ - status?: string; - - /** The date of the ADR. */ - date?: string; -}; - -/** - * The result of listing ADRs. - * - * @public - */ -export type AdrListResult = { - data: AdrFileInfo[]; -}; - -/** - * The result of reading an ADR. - * - * @public - */ -export type AdrReadResult = { - /** The contents of the read ADR file. */ - data: string; -}; - -/** - * The API used by the adr plugin to list and read ADRs. - * - * @public - */ -export interface AdrApi { - /** Lists the ADRs at the provided url. */ - listAdrs(url: string): Promise; - - /** Reads the contents of the ADR at the provided url. */ - readAdr(url: string): Promise; -} - -/** - * ApiRef for the AdrApi. - * - * @public - */ -export const adrApiRef = createApiRef({ - id: 'plugin.adr.api', -}); diff --git a/plugins/adr/src/components/AdrReader/AdrReader.tsx b/plugins/adr/src/components/AdrReader/AdrReader.tsx deleted file mode 100644 index a30cc38f19..0000000000 --- a/plugins/adr/src/components/AdrReader/AdrReader.tsx +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React, { useMemo } from 'react'; -import { - InfoCard, - MarkdownContent, - Progress, - WarningPanel, -} from '@backstage/core-components'; -import { useApi } from '@backstage/core-plugin-api'; -import { scmIntegrationsApiRef } from '@backstage/integration-react'; -import { getAdrLocationUrl } from '@backstage/plugin-adr-common'; -import { useEntity } from '@backstage/plugin-catalog-react'; - -import { adrDecoratorFactories } from './decorators'; -import { AdrContentDecorator } from './types'; -import { adrApiRef } from '../../api'; -import useAsync from 'react-use/esm/useAsync'; - -/** - * Component to fetch and render an ADR. - * - * @public - */ -export const AdrReader = (props: { - adr: string; - decorators?: AdrContentDecorator[]; -}) => { - const { adr, decorators } = props; - const { entity } = useEntity(); - const scmIntegrations = useApi(scmIntegrationsApiRef); - const adrApi = useApi(adrApiRef); - const adrLocationUrl = getAdrLocationUrl(entity, scmIntegrations); - const adrFileLocationUrl = getAdrLocationUrl(entity, scmIntegrations, adr); - - const { value, loading, error } = useAsync( - async () => adrApi.readAdr(adrFileLocationUrl), - [adrFileLocationUrl], - ); - - const adrContent = useMemo(() => { - if (!value?.data) { - return ''; - } - const adrDecorators = decorators ?? [ - adrDecoratorFactories.createRewriteRelativeLinksDecorator(), - adrDecoratorFactories.createRewriteRelativeEmbedsDecorator(), - adrDecoratorFactories.createFrontMatterFormatterDecorator(), - ]; - - return adrDecorators.reduce( - (content, decorator) => - decorator({ baseUrl: adrLocationUrl, content }).content, - value.data, - ); - }, [adrLocationUrl, decorators, value]); - - return ( - - {loading && } - - {!loading && error && ( - - )} - - {!loading && !error && value?.data && ( - - )} - - ); -}; - -AdrReader.decorators = adrDecoratorFactories; diff --git a/plugins/adr/src/components/AdrReader/decorators.ts b/plugins/adr/src/components/AdrReader/decorators.ts deleted file mode 100644 index 980eab5179..0000000000 --- a/plugins/adr/src/components/AdrReader/decorators.ts +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { parseMadrWithFrontmatter } from '@backstage/plugin-adr-common'; -import { AdrContentDecorator } from './types'; - -/** - * - * Factory for creating default ADR content decorators. The adrDecoratorFactories - * symbol is not directly exported, but through the AdrReader.decorators field. - * @public - */ -export const adrDecoratorFactories = Object.freeze({ - /** - * Rewrites relative Markdown links as absolute links. - */ - createRewriteRelativeLinksDecorator(): AdrContentDecorator { - return ({ baseUrl, content }) => ({ - content: content.replace( - /\[([^\[\]]*)\]\((?!https?:\/\/)(.*?)(\.md)\)/gim, - `[$1](${baseUrl}/$2$3)`, - ), - }); - }, - /** - * Rewrites relative Markdown embeds using absolute URLs. - */ - createRewriteRelativeEmbedsDecorator(): AdrContentDecorator { - return ({ baseUrl, content }) => ({ - content: content.replace( - /!\[([^\[\]]*)\]\((?!https?:\/\/)(.*?)(\.png|\.jpg|\.jpeg|\.gif|\.webp)(.*)\)/gim, - `![$1](${baseUrl}/$2$3$4)`, - ), - }); - }, - /** - * Formats YAML front-matter into a table format (if any exists in the markdown document) - */ - createFrontMatterFormatterDecorator(): AdrContentDecorator { - return ({ content }) => { - const parsedFrontmatter = parseMadrWithFrontmatter(content); - let table = ''; - const attrs = parsedFrontmatter.attributes; - if (Object.keys(attrs).length > 0) { - const stripNewLines = (val: unknown) => - String(val).replaceAll('\n', '
'); - const row = (vals: string[]) => `|${vals.join('|')}|\n`; - table = `${row(Object.keys(attrs))}`; - table += `${row(Object.keys(attrs).map(() => '---'))}`; - table += `${row(Object.values(attrs).map(stripNewLines))}\n\n`; - } - return { content: table + parsedFrontmatter.content }; - }; - }, -}); diff --git a/plugins/adr/src/components/AdrReader/index.ts b/plugins/adr/src/components/AdrReader/index.ts deleted file mode 100644 index 8482351016..0000000000 --- a/plugins/adr/src/components/AdrReader/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export * from './AdrReader'; -export * from './types'; diff --git a/plugins/adr/src/components/AdrReader/types.ts b/plugins/adr/src/components/AdrReader/types.ts deleted file mode 100644 index f12906c00b..0000000000 --- a/plugins/adr/src/components/AdrReader/types.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * ADR content decorator function type. Decorators are responsible for - * performing any necessary transformations on the ADR content before rendering. - * @public - */ -export type AdrContentDecorator = (adrInfo: { - baseUrl: string; - content: string; -}) => { content: string }; diff --git a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx deleted file mode 100644 index a6adedb8ec..0000000000 --- a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React, { useEffect, useState } from 'react'; -import { Link, useSearchParams } from 'react-router-dom'; -import useAsync from 'react-use/esm/useAsync'; - -import groupBy from 'lodash/groupBy'; - -import { - Content, - ContentHeader, - InfoCard, - Progress, - SupportButton, - WarningPanel, -} from '@backstage/core-components'; -import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api'; -import { scmIntegrationsApiRef } from '@backstage/integration-react'; -import { - AdrFilePathFilterFn, - ANNOTATION_ADR_LOCATION, - getAdrLocationUrl, - isAdrAvailable, - madrFilePathFilter, -} from '@backstage/plugin-adr-common'; -import { - useEntity, - MissingAnnotationEmptyState, -} from '@backstage/plugin-catalog-react'; -import Box from '@material-ui/core/Box'; -import Chip from '@material-ui/core/Chip'; -import Collapse from '@material-ui/core/Collapse'; -import Grid from '@material-ui/core/Grid'; -import List from '@material-ui/core/List'; -import ListItem from '@material-ui/core/ListItem'; -import ListItemIcon from '@material-ui/core/ListItemIcon'; -import ListItemText from '@material-ui/core/ListItemText'; -import Typography from '@material-ui/core/Typography'; -import { makeStyles, Theme } from '@material-ui/core/styles'; -import ExpandLess from '@material-ui/icons/ExpandLess'; -import ExpandMore from '@material-ui/icons/ExpandMore'; -import FolderIcon from '@material-ui/icons/Folder'; - -import { adrApiRef, AdrFileInfo } from '../../api'; -import { rootRouteRef } from '../../routes'; -import { AdrContentDecorator, AdrReader } from '../AdrReader'; -import { useTranslationRef } from '@backstage/core-plugin-api/alpha'; -import { adrTranslationRef } from '../../translations'; - -const useStyles = makeStyles((theme: Theme) => ({ - adrMenu: { - backgroundColor: theme.palette.background.paper, - }, - adrContainerTitle: { - color: theme.palette.grey[700], - marginBottom: theme.spacing(1), - }, - adrBox: { - display: 'flex', - justifyContent: 'space-between', - marginTop: '10px', - }, -})); - -const AdrListContainer = (props: { - adrs: AdrFileInfo[]; - selectedAdr: string; - title: string; -}) => { - const { adrs, selectedAdr, title } = props; - const classes = useStyles(); - const rootLink = useRouteRef(rootRouteRef); - const [open, setOpen] = React.useState(true); - - const getChipColor = (status: string) => { - switch (status) { - case 'accepted': - return 'primary'; - case 'rejected': - case 'deprecated': - return 'secondary'; - default: - return 'default'; - } - }; - - const handleClick = () => { - setOpen(!open); - }; - - return ( - <> - {title && ( - - - - - - {open ? : } - - )} - - - {adrs.map((adr, idx) => ( - - - {adr.date} - {adr.status && ( - - )} - - } - /> - - ))} - - - - ); -}; - -/** - * Component for browsing ADRs on an entity page. - * @public - */ -export const EntityAdrContent = (props: { - contentDecorators?: AdrContentDecorator[]; - filePathFilterFn?: AdrFilePathFilterFn; -}) => { - const { contentDecorators, filePathFilterFn } = props; - const classes = useStyles(); - const { entity } = useEntity(); - const [adrList, setAdrList] = useState([]); - const [searchParams, setSearchParams] = useSearchParams(); - const scmIntegrations = useApi(scmIntegrationsApiRef); - const adrApi = useApi(adrApiRef); - const entityHasAdrs = isAdrAvailable(entity); - const { t } = useTranslationRef(adrTranslationRef); - - const config = useApi(configApiRef); - const appSupportConfigured = config?.getOptionalConfig('app.support'); - - const { value, loading, error } = useAsync(async () => { - const url = getAdrLocationUrl(entity, scmIntegrations); - return adrApi.listAdrs(url); - }, [entity, scmIntegrations]); - - const selectedAdr = - adrList.find(adr => adr.path === searchParams.get('record'))?.path ?? ''; - - const adrSubDirectoryFunc = (adr: AdrFileInfo) => { - return adr.path.split('/').slice(0, -1).join('/'); - }; - - useEffect(() => { - if (adrList.length && !selectedAdr) { - searchParams.set('record', adrList[0].path); - setSearchParams(searchParams, { replace: true }); - } - }); - - useEffect(() => { - if (!value?.data) { - return; - } - - const adrs: AdrFileInfo[] = value.data.filter( - (item: AdrFileInfo) => - item.type === 'file' && - (filePathFilterFn - ? filePathFilterFn(item.path) - : madrFilePathFilter(item.path)), - ); - - setAdrList(adrs); - }, [filePathFilterFn, value]); - - const adrListGrouped = Object.entries( - groupBy(adrList, adrSubDirectoryFunc), - ).sort(); - - return ( - - - {appSupportConfigured && } - - - {!entityHasAdrs && ( - - )} - - {loading && } - - {entityHasAdrs && !loading && error && ( - - )} - - {entityHasAdrs && - !loading && - !error && - (adrList.length ? ( - - - - - {adrListGrouped.map(([title, adrs], idx) => ( - - ))} - - - - - - - - ) : ( - {t('notFound')} - ))} - - ); -}; diff --git a/plugins/adr/src/components/EntityAdrContent/index.ts b/plugins/adr/src/components/EntityAdrContent/index.ts deleted file mode 100644 index 4552d4e87d..0000000000 --- a/plugins/adr/src/components/EntityAdrContent/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export { EntityAdrContent } from './EntityAdrContent'; diff --git a/plugins/adr/src/index.ts b/plugins/adr/src/index.ts deleted file mode 100644 index f405621c4a..0000000000 --- a/plugins/adr/src/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Architecture Decision Records frontend plugin. - * - * @packageDocumentation - */ - -export { adrApiRef, AdrClient } from './api'; -export type { - AdrApi, - AdrClientOptions, - AdrFileInfo, - AdrListResult, - AdrReadResult, -} from './api'; -export { isAdrAvailable } from '@backstage/plugin-adr-common'; -export * from './components/AdrReader'; -export { adrPlugin, AdrSearchResultListItem, EntityAdrContent } from './plugin'; -export type { AdrSearchResultListItemProps } from './search'; diff --git a/plugins/adr/src/plugin.test.ts b/plugins/adr/src/plugin.test.ts deleted file mode 100644 index e311bf98e6..0000000000 --- a/plugins/adr/src/plugin.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { adrPlugin } from './plugin'; - -describe('adr', () => { - it('should export plugin', () => { - expect(adrPlugin).toBeDefined(); - }); -}); diff --git a/plugins/adr/src/plugin.ts b/plugins/adr/src/plugin.ts deleted file mode 100644 index d173ef5d78..0000000000 --- a/plugins/adr/src/plugin.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { adrApiRef, AdrClient } from './api'; -import { - createApiFactory, - createPlugin, - createRoutableExtension, - discoveryApiRef, - fetchApiRef, -} from '@backstage/core-plugin-api'; -import { createSearchResultListItemExtension } from '@backstage/plugin-search-react'; -import { rootRouteRef } from './routes'; -import { AdrSearchResultListItemProps } from './search'; - -/** - * The Backstage plugin that holds ADR specific components - * @public - */ -export const adrPlugin = createPlugin({ - id: 'adr', - apis: [ - createApiFactory({ - api: adrApiRef, - deps: { - discoveryApi: discoveryApiRef, - fetchApi: fetchApiRef, - }, - factory({ discoveryApi, fetchApi }) { - return new AdrClient({ discoveryApi, fetchApi }); - }, - }), - ], - routes: { - root: rootRouteRef, - }, -}); - -/** - * An extension for browsing ADRs on an entity page. - * @public - */ -export const EntityAdrContent = adrPlugin.provide( - createRoutableExtension({ - name: 'EntityAdrContent', - component: () => - import('./components/EntityAdrContent').then(m => m.EntityAdrContent), - mountPoint: rootRouteRef, - }), -); - -/** - * React extension used to render results on Search page or modal - * - * @public - */ -export const AdrSearchResultListItem: ( - props: AdrSearchResultListItemProps, -) => JSX.Element | null = adrPlugin.provide( - createSearchResultListItemExtension({ - name: 'AdrSearchResultListItem', - component: () => - import('./search/AdrSearchResultListItem').then( - m => m.AdrSearchResultListItem, - ), - predicate: result => result.type === 'adr', - }), -); diff --git a/plugins/adr/src/routes.ts b/plugins/adr/src/routes.ts deleted file mode 100644 index 0ec5c71294..0000000000 --- a/plugins/adr/src/routes.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { createRouteRef } from '@backstage/core-plugin-api'; - -/** - * Root route ref for the ADR plugin - * @public - */ -export const rootRouteRef = createRouteRef({ - id: 'adr', -}); diff --git a/plugins/adr/src/search/AdrSearchResultListItem.tsx b/plugins/adr/src/search/AdrSearchResultListItem.tsx deleted file mode 100644 index 5110b302a9..0000000000 --- a/plugins/adr/src/search/AdrSearchResultListItem.tsx +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React, { ReactNode } from 'react'; -import Box from '@material-ui/core/Box'; -import Chip from '@material-ui/core/Chip'; -import ListItemIcon from '@material-ui/core/ListItemIcon'; -import ListItemText from '@material-ui/core/ListItemText'; -import { makeStyles } from '@material-ui/core/styles'; -import Typography from '@material-ui/core/Typography'; -import { parseEntityRef } from '@backstage/catalog-model'; -import { Link } from '@backstage/core-components'; -import { AdrDocument } from '@backstage/plugin-adr-common'; -import { humanizeEntityRef } from '@backstage/plugin-catalog-react'; -import { ResultHighlight } from '@backstage/plugin-search-common'; -import { HighlightedSearchResultText } from '@backstage/plugin-search-react'; - -const useStyles = makeStyles({ - item: { - display: 'flex', - }, - flexContainer: { - flexWrap: 'wrap', - }, - itemText: { - width: '100%', - wordBreak: 'break-all', - marginBottom: '1rem', - }, -}); - -/** - * @public - */ -export type AdrSearchResultListItemProps = { - lineClamp?: number; - highlight?: ResultHighlight; - icon?: ReactNode; - rank?: number; - result?: AdrDocument; -}; - -/** - * A component to display an ADR search result. - * @public - */ -export function AdrSearchResultListItem(props: AdrSearchResultListItemProps) { - const { lineClamp = 5, highlight, icon, result } = props; - const classes = useStyles(); - - if (!result) return null; - - return ( -
- {icon && {icon}} -
- - {highlight?.fields.title ? ( - - ) : ( - result.title - )} - - } - secondary={ - - {highlight?.fields.text ? ( - - ) : ( - result.text - )} - - } - /> - - - {result.status && ( - - )} - {result.date && } - -
-
- ); -} diff --git a/plugins/adr/src/search/index.ts b/plugins/adr/src/search/index.ts deleted file mode 100644 index a20f553959..0000000000 --- a/plugins/adr/src/search/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export type { AdrSearchResultListItemProps } from './AdrSearchResultListItem'; diff --git a/plugins/adr/src/setupTests.ts b/plugins/adr/src/setupTests.ts deleted file mode 100644 index 326d2ed212..0000000000 --- a/plugins/adr/src/setupTests.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import '@testing-library/jest-dom'; diff --git a/plugins/adr/src/translations.ts b/plugins/adr/src/translations.ts deleted file mode 100644 index 038b0fd064..0000000000 --- a/plugins/adr/src/translations.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { createTranslationRef } from '@backstage/core-plugin-api/alpha'; - -/** @alpha */ -export const adrTranslationRef = createTranslationRef({ - id: 'adr', - messages: { - contentHeaderTitle: 'Architecture Decision Records', - failedToFetch: 'Failed to fetch ADRs', - notFound: 'No ADRs found', - }, -}); diff --git a/plugins/airbrake-backend/.eslintrc.js b/plugins/airbrake-backend/.eslintrc.js deleted file mode 100644 index e2a53a6ad2..0000000000 --- a/plugins/airbrake-backend/.eslintrc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname); diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md deleted file mode 100644 index f5ebe4ef70..0000000000 --- a/plugins/airbrake-backend/CHANGELOG.md +++ /dev/null @@ -1,914 +0,0 @@ -# @backstage/plugin-airbrake-backend - -## 0.3.14 - -### Patch Changes - -- d5a1fe1: Replaced winston logger with `LoggerService` -- e5a2ccc: Updated dependency `@types/http-proxy-middleware` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.21.7 - - @backstage/backend-plugin-api@0.6.17 - - @backstage/config@1.2.0 - -## 0.3.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.1 - - @backstage/backend-plugin-api@0.6.17-next.1 - - @backstage/config@1.2.0 - -## 0.3.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.7-next.0 - - @backstage/backend-plugin-api@0.6.17-next.0 - - @backstage/config@1.2.0 - -## 0.3.13 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.6 - - @backstage/backend-plugin-api@0.6.16 - - @backstage/config@1.2.0 - -## 0.3.12 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.5 - - @backstage/backend-plugin-api@0.6.15 - - @backstage/config@1.2.0 - -## 0.3.11 - -### Patch Changes - -- 4467036: Allow unauthenticated access to health check endpoint. -- Updated dependencies - - @backstage/backend-common@0.21.4 - - @backstage/config@1.2.0 - - @backstage/backend-plugin-api@0.6.14 - -## 0.3.11-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.4-next.2 - - @backstage/backend-plugin-api@0.6.14-next.2 - - @backstage/config@1.2.0-next.1 - -## 0.3.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.2.0-next.1 - - @backstage/backend-common@0.21.4-next.1 - - @backstage/backend-plugin-api@0.6.14-next.1 - -## 0.3.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.3-next.0 - - @backstage/backend-plugin-api@0.6.13-next.0 - - @backstage/config@1.1.2-next.0 - -## 0.3.7 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0 - - @backstage/backend-plugin-api@0.6.10 - - @backstage/config@1.1.1 - -## 0.3.7-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.3 - - @backstage/backend-plugin-api@0.6.10-next.3 - - @backstage/config@1.1.1 - -## 0.3.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.2 - - @backstage/backend-plugin-api@0.6.10-next.2 - - @backstage/config@1.1.1 - -## 0.3.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.10-next.1 - - @backstage/backend-common@0.21.0-next.1 - - @backstage/config@1.1.1 - -## 0.3.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.21.0-next.0 - - @backstage/backend-plugin-api@0.6.10-next.0 - - @backstage/config@1.1.1 - -## 0.3.6 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1 - - @backstage/backend-plugin-api@0.6.9 - - @backstage/config@1.1.1 - -## 0.3.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.9-next.2 - - @backstage/backend-common@0.20.1-next.2 - -## 0.3.6-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.1-next.1 - - @backstage/config@1.1.1 - - @backstage/backend-plugin-api@0.6.9-next.1 - -## 0.3.6-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/backend-common@0.20.1-next.0 - - @backstage/backend-plugin-api@0.6.9-next.0 - - @backstage/config@1.1.1 - -## 0.3.5 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0 - - @backstage/backend-plugin-api@0.6.8 - - @backstage/config@1.1.1 - -## 0.3.5-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.3 - - @backstage/backend-plugin-api@0.6.8-next.3 - - @backstage/config@1.1.1 - -## 0.3.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.2 - - @backstage/backend-plugin-api@0.6.8-next.2 - - @backstage/config@1.1.1 - -## 0.3.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.1 - - @backstage/backend-plugin-api@0.6.8-next.1 - - @backstage/config@1.1.1 - -## 0.3.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.20.0-next.0 - - @backstage/backend-plugin-api@0.6.8-next.0 - - @backstage/config@1.1.1 - -## 0.3.4 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9 - - @backstage/backend-plugin-api@0.6.7 - - @backstage/config@1.1.1 - -## 0.3.4-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.7-next.2 - - @backstage/backend-common@0.19.9-next.2 - -## 0.3.4-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.1 - - @backstage/backend-plugin-api@0.6.7-next.1 - - @backstage/config@1.1.1 - -## 0.3.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.9-next.0 - - @backstage/backend-plugin-api@0.6.7-next.0 - - @backstage/config@1.1.1 - -## 0.3.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8 - - @backstage/backend-plugin-api@0.6.6 - - @backstage/config@1.1.1 - -## 0.3.3-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.8-next.2 - - @backstage/backend-plugin-api@0.6.6-next.2 - - @backstage/config@1.1.1-next.0 - -## 0.3.2-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.7-next.1 - - @backstage/backend-plugin-api@0.6.5-next.1 - - @backstage/config@1.1.0 - -## 0.3.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.7-next.0 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.5-next.0 - -## 0.3.0 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.5 - - @backstage/config@1.1.0 - - @backstage/backend-plugin-api@0.6.3 - -## 0.3.0-next.3 - -### Minor Changes - -- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export. - - For example, if you are currently importing the plugin using the following pattern: - - ```ts - import { examplePlugin } from '@backstage/plugin-example-backend'; - - backend.add(examplePlugin); - ``` - - It should be migrated to this: - - ```ts - backend.add(import('@backstage/plugin-example-backend')); - ``` - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.2 - - @backstage/backend-plugin-api@0.6.3-next.3 - - @backstage/backend-common@0.19.5-next.3 - -## 0.2.24-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.1 - - @backstage/backend-common@0.19.5-next.2 - - @backstage/backend-plugin-api@0.6.3-next.2 - -## 0.2.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.1.0-next.0 - - @backstage/backend-common@0.19.5-next.1 - - @backstage/backend-plugin-api@0.6.3-next.1 - -## 0.2.23-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.4-next.0 - - @backstage/backend-plugin-api@0.6.2-next.0 - - @backstage/config@1.0.8 - -## 0.2.21 - -### Patch Changes - -- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config` -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/backend-common@0.19.2 - - @backstage/backend-plugin-api@0.6.0 - - @backstage/config@1.0.8 - -## 0.2.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-plugin-api@0.6.0-next.2 - - @backstage/backend-common@0.19.2-next.2 - -## 0.2.21-next.1 - -### Patch Changes - -- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config` -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/backend-common@0.19.2-next.1 - - @backstage/backend-plugin-api@0.6.0-next.1 - - @backstage/config@1.0.8 - -## 0.2.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.2-next.0 - - @backstage/backend-plugin-api@0.5.5-next.0 - - @backstage/config@1.0.8 - -## 0.2.20 - -### Patch Changes - -- a95bb64e461a: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/backend-common@0.19.1 - - @backstage/backend-plugin-api@0.5.4 - - @backstage/config@1.0.8 - -## 0.2.20-next.1 - -### Patch Changes - -- a95bb64e461a: Added support for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/backend-common@0.19.1-next.0 - - @backstage/backend-plugin-api@0.5.4-next.0 - - @backstage/config@1.0.8 - -## 0.2.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.1-next.0 - - @backstage/config@1.0.8 - -## 0.2.19 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0 - - @backstage/config@1.0.8 - -## 0.2.19-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.2 - - @backstage/config@1.0.7 - -## 0.2.19-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.19.0-next.1 - - @backstage/config@1.0.7 - -## 0.2.19-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.6-next.0 - - @backstage/config@1.0.7 - -## 0.2.18 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5 - - @backstage/config@1.0.7 - -## 0.2.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.1 - - @backstage/config@1.0.7 - -## 0.2.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.5-next.0 - - @backstage/config@1.0.7 - -## 0.2.17 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4 - - @backstage/config@1.0.7 - -## 0.2.17-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.2 - - @backstage/config@1.0.7 - -## 0.2.17-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.1 - - @backstage/config@1.0.7 - -## 0.2.17-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.4-next.0 - - @backstage/config@1.0.7 - -## 0.2.16 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.18.3 - - @backstage/config@1.0.7 - -## 0.2.16-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.3-next.2 - - @backstage/config@1.0.7-next.0 - -## 0.2.16-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/backend-common@0.18.3-next.1 - - @backstage/config@1.0.7-next.0 - -## 0.2.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.3-next.0 - - @backstage/config@1.0.6 - -## 0.2.15 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2 - - @backstage/config@1.0.6 - -## 0.2.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.2 - - @backstage/config@1.0.6 - -## 0.2.15-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.1 - - @backstage/config@1.0.6 - -## 0.2.15-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.2-next.0 - -## 0.2.13 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0 - - @backstage/config@1.0.6 - -## 0.2.13-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0-next.1 - - @backstage/config@1.0.6-next.0 - -## 0.2.13-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.18.0-next.0 - - @backstage/config@1.0.6-next.0 - -## 0.2.12 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/backend-common@0.17.0 - - @backstage/config@1.0.5 - -## 0.2.12-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.3 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.2 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.17.0-next.1 - - @backstage/config@1.0.5-next.1 - -## 0.2.12-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/backend-common@0.16.1-next.0 - - @backstage/config@1.0.5-next.0 - -## 0.2.11 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0 - - @backstage/config@1.0.4 - -## 0.2.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.1 - - @backstage/config@1.0.4-next.0 - -## 0.2.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.16.0-next.0 - - @backstage/config@1.0.4-next.0 - -## 0.2.10 - -### Patch Changes - -- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md` -- Updated dependencies - - @backstage/backend-common@0.15.2 - - @backstage/config@1.0.3 - -## 0.2.10-next.2 - -### Patch Changes - -- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md` -- Updated dependencies - - @backstage/backend-common@0.15.2-next.2 - - @backstage/config@1.0.3-next.2 - -## 0.2.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.1 - - @backstage/config@1.0.3-next.1 - -## 0.2.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.2-next.0 - - @backstage/config@1.0.3-next.0 - -## 0.2.9 - -### Patch Changes - -- 148568b5c2: Switched to using node-fetch instead of cross-fetch as is standard for our backend packages -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1 - - @backstage/config@1.0.2 - -## 0.2.9-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/config@1.0.2-next.0 - - @backstage/backend-common@0.15.1-next.3 - -## 0.2.9-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.2 - -## 0.2.9-next.1 - -### Patch Changes - -- 148568b5c2: Switched to using node-fetch instead of cross-fetch as is standard for our backend packages -- Updated dependencies - - @backstage/backend-common@0.15.1-next.1 - -## 0.2.9-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/backend-common@0.15.1-next.0 - -## 0.2.8 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0 - -## 0.2.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.15.0-next.0 - -## 0.2.7 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1 - -## 0.2.7-next.1 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/backend-common@0.14.1-next.3 - -## 0.2.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.14.1-next.0 - -## 0.2.6 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/backend-common@0.14.0 - -## 0.2.6-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.14.0-next.2 - -## 0.2.6-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/backend-common@0.13.6-next.1 - -## 0.2.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.6-next.0 - -## 0.2.5 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3 - - @backstage/config@1.0.1 - -## 0.2.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3-next.2 - - @backstage/config@1.0.1-next.0 - -## 0.2.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.3-next.0 - -## 0.2.4 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.2 - -## 0.2.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.2-next.0 - -## 0.2.3 - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.13.1 - - @backstage/config@1.0.0 - -## 0.2.2 - -### Patch Changes - -- 4f79204c47: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/backend-common@0.13.0 - -## 0.2.2-next.0 - -### Patch Changes - -- 4f79204c47: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/backend-common@0.13.0-next.0 - -## 0.2.1 - -### Patch Changes - -- 3c1d3cb07e: The Airbrake plugin installation instructions have been updated to work better and conform to how the frontend and backend plugins are supposed to be integrated into a Backstage instance. -- Updated dependencies - - @backstage/backend-common@0.12.0 - -## 0.2.0 - -### Minor Changes - -- da78e79a94: This marks the first release where the Airbrake plugin is useable. Airbrake frontend and Airbrake backend work with each other. Currently just a summary of the latest Airbrakes is shown on Backstage. - -### Patch Changes - -- 0045270527: Make config optional -- Updated dependencies - - @backstage/backend-common@0.11.0 - -## 0.1.0 - -### Minor Changes - -- a5aebe3e30: Created the Airbrake backend plugin that proxies requests to the Airbrake API - -### Patch Changes - -- Updated dependencies - - @backstage/backend-common@0.10.8 - - @backstage/config@0.1.14 diff --git a/plugins/airbrake-backend/README.md b/plugins/airbrake-backend/README.md deleted file mode 100644 index 5a4a3ba3ca..0000000000 --- a/plugins/airbrake-backend/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -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. diff --git a/plugins/airbrake-backend/api-report.md b/plugins/airbrake-backend/api-report.md deleted file mode 100644 index 5509fc4fd6..0000000000 --- a/plugins/airbrake-backend/api-report.md +++ /dev/null @@ -1,31 +0,0 @@ -## API Report File for "@backstage/plugin-airbrake-backend" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackendFeature } from '@backstage/backend-plugin-api'; -import { Config } from '@backstage/config'; -import express from 'express'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -// @public -export interface AirbrakeConfig { - apiKey: string; -} - -// @public -const airbrakePlugin: () => BackendFeature; -export default airbrakePlugin; - -// @public -export function createRouter(options: RouterOptions): Promise; - -// @public -export function extractAirbrakeConfig(config: Config): AirbrakeConfig; - -// @public -export interface RouterOptions { - airbrakeConfig: AirbrakeConfig; - logger: LoggerService; -} -``` diff --git a/plugins/airbrake-backend/catalog-info.yaml b/plugins/airbrake-backend/catalog-info.yaml deleted file mode 100644 index 90884f5d34..0000000000 --- a/plugins/airbrake-backend/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-airbrake-backend - title: '@backstage/plugin-airbrake-backend' -spec: - lifecycle: experimental - type: backstage-backend-plugin - owner: maintainers diff --git a/plugins/airbrake-backend/config.d.ts b/plugins/airbrake-backend/config.d.ts deleted file mode 100644 index a21f609550..0000000000 --- a/plugins/airbrake-backend/config.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface Config { - /** Configuration options for the Airbrake plugin */ - airbrake?: { - /** - * The API Key to authenticate requests. More details on how to get this - * here: https://airbrake.io/docs/api/#authentication - * - * @visibility secret - */ - apiKey: string; - }; -} diff --git a/plugins/airbrake-backend/knip-report.md b/plugins/airbrake-backend/knip-report.md deleted file mode 100644 index 2661c35327..0000000000 --- a/plugins/airbrake-backend/knip-report.md +++ /dev/null @@ -1,2 +0,0 @@ -# Knip report - diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json deleted file mode 100644 index cdfed4396e..0000000000 --- a/plugins/airbrake-backend/package.json +++ /dev/null @@ -1,54 +0,0 @@ -{ - "name": "@backstage/plugin-airbrake-backend", - "version": "0.3.14", - "backstage": { - "role": "backend-plugin", - "moved": "@backstage-community/plugin-airbrake-backend" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.cjs.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/airbrake-backend" - }, - "license": "Apache-2.0", - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist", - "config.d.ts" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/backend-common": "workspace:^", - "@backstage/backend-plugin-api": "workspace:^", - "@backstage/config": "workspace:^", - "@types/express": "*", - "express": "^4.17.1", - "express-promise-router": "^4.1.0", - "http-proxy-middleware": "^2.0.0", - "yn": "^4.0.0" - }, - "devDependencies": { - "@backstage/backend-test-utils": "workspace:^", - "@backstage/cli": "workspace:^", - "@types/http-proxy-middleware": "^1.0.0", - "@types/supertest": "^2.0.8", - "supertest": "^6.1.6" - }, - "configSchema": "config.d.ts", - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-airbrake-backend instead." -} diff --git a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts deleted file mode 100644 index 53d744b9ee..0000000000 --- a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { ConfigReader } from '@backstage/config'; -import { extractAirbrakeConfig } from './ExtractAirbrakeConfig'; - -describe('ExtractAirbrakeConfig', () => { - it('gets the API key', () => { - const config = new ConfigReader({ - airbrake: { - apiKey: 'fakeApiKey', - }, - }); - - const airbrakeConfig = extractAirbrakeConfig(config); - expect(airbrakeConfig.apiKey).toStrictEqual('fakeApiKey'); - }); - - it('fails for missing keys', () => { - expect(() => extractAirbrakeConfig(new ConfigReader({}))).toThrow(); - expect(() => - extractAirbrakeConfig(new ConfigReader({ airbrake: {} })), - ).toThrow(); - }); -}); diff --git a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts deleted file mode 100644 index de6a31feec..0000000000 --- a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Config } from '@backstage/config'; - -/** - * The configuration needed for the airbrake-backend plugin - * - * @public - */ -export interface AirbrakeConfig { - /** - * The API Key to authenticate requests. More details on how to get this here: https://airbrake.io/docs/api/#authentication - */ - apiKey: string; -} - -/** - * Extract the Airbrake config from a config object - * - * @public - * - * @param config - The config object to extract from - */ -export function extractAirbrakeConfig(config: Config): AirbrakeConfig { - return { - apiKey: config.getString('airbrake.apiKey'), - }; -} diff --git a/plugins/airbrake-backend/src/config/index.ts b/plugins/airbrake-backend/src/config/index.ts deleted file mode 100644 index 60d60c2761..0000000000 --- a/plugins/airbrake-backend/src/config/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './ExtractAirbrakeConfig'; diff --git a/plugins/airbrake-backend/src/index.ts b/plugins/airbrake-backend/src/index.ts deleted file mode 100644 index 3f660dad62..0000000000 --- a/plugins/airbrake-backend/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * The Airbrake Backend plugin used by \@backstage/plugin-airbrake - * - * @packageDocumentation - */ - -export * from './service/router'; -export * from './config'; -export { airbrakePlugin as default } from './plugin'; diff --git a/plugins/airbrake-backend/src/plugin.ts b/plugins/airbrake-backend/src/plugin.ts deleted file mode 100644 index 917ffbceac..0000000000 --- a/plugins/airbrake-backend/src/plugin.ts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2023 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - coreServices, - createBackendPlugin, -} from '@backstage/backend-plugin-api'; -import { createRouter } from './service/router'; -import { extractAirbrakeConfig } from './config'; - -/** - * The Airbrake Backend plugin. - * - * @public - */ -export const airbrakePlugin = createBackendPlugin({ - pluginId: 'airbrake', - register(env) { - env.registerInit({ - deps: { - config: coreServices.rootConfig, - logger: coreServices.logger, - httpRouter: coreServices.httpRouter, - }, - async init({ logger, httpRouter, config }) { - httpRouter.use( - await createRouter({ - airbrakeConfig: extractAirbrakeConfig(config), - logger, - }), - ); - httpRouter.addAuthPolicy({ - path: '/health', - allow: 'unauthenticated', - }); - }, - }); - }, -}); diff --git a/plugins/airbrake-backend/src/run.ts b/plugins/airbrake-backend/src/run.ts deleted file mode 100644 index 0a3ed2b7f0..0000000000 --- a/plugins/airbrake-backend/src/run.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { getRootLogger } from '@backstage/backend-common'; -import yn from 'yn'; -import { startStandaloneServer } from './service/standaloneServer'; - -const port = process.env.PLUGIN_PORT ? Number(process.env.PLUGIN_PORT) : 7007; -const enableCors = yn(process.env.PLUGIN_CORS, { default: false }); -const logger = getRootLogger(); - -startStandaloneServer({ port, enableCors, logger }).catch(err => { - logger.error(err); - process.exit(1); -}); - -process.on('SIGINT', () => { - logger.info('CTRL+C pressed; exiting.'); - process.exit(0); -}); diff --git a/plugins/airbrake-backend/src/service/router.test.ts b/plugins/airbrake-backend/src/service/router.test.ts deleted file mode 100644 index f981b18872..0000000000 --- a/plugins/airbrake-backend/src/service/router.test.ts +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import express from 'express'; -import request from 'supertest'; -import { ConfigReader } from '@backstage/config'; -import { - createRouter, - generateAirbrakePathRewrite, - RouterOptions, -} from './router'; -import { AirbrakeConfig, extractAirbrakeConfig } from '../config'; -import { LoggerService } from '@backstage/backend-plugin-api'; -import { mockServices } from '@backstage/backend-test-utils'; - -describe('createRouter', () => { - let app: express.Express; - let airbrakeConfig: AirbrakeConfig; - let voidLogger: LoggerService; - - beforeEach(async () => { - jest.resetAllMocks(); - - voidLogger = mockServices.logger.mock(); - const config = new ConfigReader({ - airbrake: { - apiKey: 'fakeApiKey', - }, - }); - airbrakeConfig = extractAirbrakeConfig(config); - - const router = await createRouter({ - logger: voidLogger, - airbrakeConfig, - }); - app = express().use(router); - }); - - describe('GET /health', () => { - it('returns ok', async () => { - const response = await request(app).get('/health'); - - expect(response.status).toEqual(200); - expect(response.body).toEqual({ status: 'ok' }); - }); - }); - - describe('GET /api', () => { - it('appends the API Key properly with no other url parameters', () => { - const options: RouterOptions = { - logger: voidLogger, - airbrakeConfig, - }; - const pathRewrite = generateAirbrakePathRewrite(options) as ( - path: string, - ) => string; - - expect(pathRewrite('/airbrake-backend/api/v4/random/endpoint')).toBe( - '/v4/random/endpoint?key=fakeApiKey', - ); - }); - - it('appends the API Key properly despite there being other URL parameters', () => { - const options: RouterOptions = { - logger: voidLogger, - airbrakeConfig, - }; - const pathRewrite = generateAirbrakePathRewrite(options) as ( - path: string, - ) => string; - - expect( - pathRewrite( - '/airbrake-backend/api/v4/random/endpoint?param1=123¶m2=abc', - ), - ).toBe('/v4/random/endpoint?param1=123¶m2=abc&key=fakeApiKey'); - }); - }); -}); diff --git a/plugins/airbrake-backend/src/service/router.ts b/plugins/airbrake-backend/src/service/router.ts deleted file mode 100644 index a6d6af6d8c..0000000000 --- a/plugins/airbrake-backend/src/service/router.ts +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { errorHandler } from '@backstage/backend-common'; -import express from 'express'; -import Router from 'express-promise-router'; -import { createProxyMiddleware } from 'http-proxy-middleware'; -import { AirbrakeConfig } from '../config'; -import { Options } from 'http-proxy-middleware/dist/types'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -/** - * The router options that are needed when creating a router. - * - * @public - */ -export interface RouterOptions { - /** - * A logger object - */ - logger: LoggerService; - - /** - * The Airbrake config obtained from {@link extractAirbrakeConfig} - */ - airbrakeConfig: AirbrakeConfig; -} - -/** - * Mainly used internally to generate the path. - * - * @internal - * - * @param options - Router options - */ -export const generateAirbrakePathRewrite = ( - options: RouterOptions, -): Options['pathRewrite'] => { - const apiKey = options.airbrakeConfig.apiKey; - - return path => { - let newPath = path.replace(/.+?(\/api)/g, ''); - if (newPath.includes('?')) { - newPath += `&key=${apiKey}`; - } else { - newPath += `?key=${apiKey}`; - } - return newPath; - }; -}; - -/** - * Create the Airbrake Router, used for making API calls to the Airbrake API. - * - * @public - * - * @param options - Router options - */ -export async function createRouter( - options: RouterOptions, -): Promise { - const { logger } = options; - - const router = Router(); - router.use(express.json()); - - router.get('/health', (_, response) => { - logger.info('PONG!'); - response.json({ status: 'ok' }); - }); - - router.use( - '/api', - createProxyMiddleware({ - target: 'https://api.airbrake.io/api', - changeOrigin: true, - pathRewrite: generateAirbrakePathRewrite(options), - }), - ); - - router.use(errorHandler()); - return router; -} diff --git a/plugins/airbrake-backend/src/service/standaloneServer.ts b/plugins/airbrake-backend/src/service/standaloneServer.ts deleted file mode 100644 index 31aa41d832..0000000000 --- a/plugins/airbrake-backend/src/service/standaloneServer.ts +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { - createServiceBuilder, - loadBackendConfig, -} from '@backstage/backend-common'; -import { Server } from 'http'; -import { createRouter } from './router'; -import { extractAirbrakeConfig } from '../config'; -import { LoggerService } from '@backstage/backend-plugin-api'; - -export interface ServerOptions { - port: number; - enableCors: boolean; - logger: LoggerService; -} - -export async function startStandaloneServer( - options: ServerOptions, -): Promise { - const logger = options.logger.child({ service: 'airbrake-backend' }); - const config = await loadBackendConfig({ logger, argv: process.argv }); - const airbrakeConfig = extractAirbrakeConfig(config); - logger.debug('Starting application server...'); - const router = await createRouter({ - logger, - airbrakeConfig, - }); - - let service = createServiceBuilder(module) - .setPort(options.port) - .addRouter('/api/airbrake', router); - if (options.enableCors) { - logger.info('CORS is enabled, limiting to localhost with port 3000'); - service = service.enableCors({ origin: 'http://localhost:3000' }); - } else { - logger.info('CORS is disabled, allowing all origins'); - service = service.enableCors({ origin: '*' }); - } - - return await service.start().catch(err => { - logger.error(err); - process.exit(1); - }); -} - -module.hot?.accept(); diff --git a/plugins/airbrake-backend/src/setupTests.ts b/plugins/airbrake-backend/src/setupTests.ts deleted file mode 100644 index d3232290a7..0000000000 --- a/plugins/airbrake-backend/src/setupTests.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export {}; diff --git a/plugins/airbrake/.eslintrc.js b/plugins/airbrake/.eslintrc.js deleted file mode 100644 index 9d5b45a010..0000000000 --- a/plugins/airbrake/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, - }); \ No newline at end of file diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md deleted file mode 100644 index 0143474741..0000000000 --- a/plugins/airbrake/CHANGELOG.md +++ /dev/null @@ -1,1507 +0,0 @@ -# @backstage/plugin-airbrake - -## 0.3.34 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/dev-utils@1.0.31 - - @backstage/core-plugin-api@1.9.2 - - @backstage/test-utils@1.5.4 - - @backstage/catalog-model@1.4.5 - -## 0.3.34-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/dev-utils@1.0.31-next.1 - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.4-next.0 - - @backstage/plugin-catalog-react@1.11.3-next.1 - -## 0.3.34-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/dev-utils@1.0.31-next.0 - - @backstage/test-utils@1.5.3 - - @backstage/plugin-catalog-react@1.11.3-next.0 - -## 0.3.33 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/dev-utils@1.0.30 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.3 - - @backstage/catalog-model@1.4.5 - -## 0.3.32 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/dev-utils@1.0.29 - - @backstage/core-plugin-api@1.9.1 - - @backstage/test-utils@1.5.2 - - @backstage/catalog-model@1.4.5 - -## 0.3.31 - -### Patch Changes - -- 31d58ae: Added an optional ESLint rule - no-top-level-material-ui-4-imports - which has an auto fix function to migrate the imports and using it migrated the imports. -- Updated dependencies - - @backstage/core-components@0.14.1 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/dev-utils@1.0.28 - - @backstage/test-utils@1.5.1 - -## 0.3.31-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/dev-utils@1.0.28-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/test-utils@1.5.1-next.1 - -## 0.3.31-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/test-utils@1.5.1-next.1 - - @backstage/dev-utils@1.0.28-next.1 - - @backstage/catalog-model@1.4.5-next.0 - -## 0.3.31-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - - @backstage/dev-utils@1.0.28-next.0 - - @backstage/test-utils@1.5.1-next.0 - -## 0.3.30 - -### Patch Changes - -- b64ce5a: Updated New Backend System instructions to use default import -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/test-utils@1.5.0 - - @backstage/core-plugin-api@1.9.0 - - @backstage/dev-utils@1.0.27 - -## 0.3.30-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/dev-utils@1.0.27-next.3 - - @backstage/test-utils@1.5.0-next.3 - -## 0.3.30-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/dev-utils@1.0.27-next.2 - - @backstage/test-utils@1.5.0-next.2 - - @backstage/catalog-model@1.4.4-next.0 - -## 0.3.30-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/test-utils@1.5.0-next.1 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - - @backstage/dev-utils@1.0.27-next.1 - -## 0.3.30-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/test-utils@1.5.0-next.0 - - @backstage/dev-utils@1.0.27-next.0 - - @backstage/core-components@0.13.10 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - -## 0.3.29 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/dev-utils@1.0.26 - - @backstage/catalog-model@1.4.3 - - @backstage/test-utils@1.4.7 - -## 0.3.29-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.3-next.2 - - @backstage/dev-utils@1.0.26-next.2 - -## 0.3.29-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/dev-utils@1.0.26-next.1 - - @backstage/test-utils@1.4.7-next.1 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/catalog-model@1.4.3 - -## 0.3.29-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/dev-utils@1.0.26-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - - @backstage/test-utils@1.4.7-next.0 - -## 0.3.28 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/test-utils@1.4.6 - - @backstage/dev-utils@1.0.25 - - @backstage/catalog-model@1.4.3 - -## 0.3.28-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/dev-utils@1.0.25-next.3 - - @backstage/test-utils@1.4.6-next.2 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - -## 0.3.28-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/dev-utils@1.0.25-next.2 - - @backstage/test-utils@1.4.6-next.2 - -## 0.3.28-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/test-utils@1.4.6-next.1 - - @backstage/dev-utils@1.0.25-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - -## 0.3.28-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/dev-utils@1.0.25-next.0 - - @backstage/test-utils@1.4.6-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.3.26 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/core-plugin-api@1.8.0 - - @backstage/test-utils@1.4.5 - - @backstage/theme@0.4.4 - - @backstage/dev-utils@1.0.23 - - @backstage/catalog-model@1.4.3 - -## 0.3.26-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - - @backstage/dev-utils@1.0.23-next.2 - -## 0.3.26-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/core-components@0.13.8-next.1 - - @backstage/dev-utils@1.0.23-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/test-utils@1.4.5-next.0 - - @backstage/theme@0.4.4-next.0 - -## 0.3.26-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/test-utils@1.4.5-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/dev-utils@1.0.23-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.3.25 - -### Patch Changes - -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/test-utils@1.4.4 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/catalog-model@1.4.3 - - @backstage/dev-utils@1.0.22 - - @backstage/theme@0.4.3 - -## 0.3.25-next.2 - -### Patch Changes - -- Updated dependencies - - @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/theme@0.4.3-next.0 - - @backstage/dev-utils@1.0.22-next.2 - - @backstage/test-utils@1.4.4-next.2 - -## 0.3.25-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.1 - - @backstage/test-utils@1.4.4-next.1 - - @backstage/dev-utils@1.0.22-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.3.25-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/test-utils@1.4.4-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/dev-utils@1.0.22-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.3.24 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/test-utils@1.4.3 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/dev-utils@1.0.21 - - @backstage/theme@0.4.2 - -## 0.3.24-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/test-utils@1.4.3-next.3 - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/dev-utils@1.0.21-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.3.24-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/test-utils@1.4.3-next.2 - - @backstage/dev-utils@1.0.21-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - -## 0.3.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/dev-utils@1.0.21-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/test-utils@1.4.3-next.1 - - @backstage/theme@0.4.1 - -## 0.3.23-next.0 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- Updated dependencies - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/dev-utils@1.0.20-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/test-utils@1.4.3-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.3-next.0 - -## 0.3.21 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/dev-utils@1.0.18 - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/test-utils@1.4.2 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.3.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - - @backstage/dev-utils@1.0.18-next.2 - -## 0.3.21-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/dev-utils@1.0.18-next.1 - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/test-utils@1.4.2-next.0 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.3.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/dev-utils@1.0.18-next.0 - - @backstage/test-utils@1.4.2-next.0 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.3.20 - -### Patch Changes - -- 7b6033587650: Added documentation for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/test-utils@1.4.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - - @backstage/dev-utils@1.0.17 - -## 0.3.20-next.2 - -### Patch Changes - -- 7b6033587650: Added documentation for the [new backend system](https://backstage.io/docs/backend-system/) -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/test-utils@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/dev-utils@1.0.17-next.2 - -## 0.3.20-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/dev-utils@1.0.17-next.1 - - @backstage/test-utils@1.4.1-next.1 - - @backstage/plugin-catalog-react@1.7.1-next.1 - -## 0.3.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/dev-utils@1.0.17-next.0 - - @backstage/test-utils@1.4.1-next.0 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - -## 0.3.19 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - - @backstage/test-utils@1.4.0 - - @backstage/dev-utils@1.0.16 - -## 0.3.19-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/dev-utils@1.0.16-next.3 - - @backstage/test-utils@1.4.0-next.2 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - -## 0.3.19-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/dev-utils@1.0.16-next.2 - - @backstage/test-utils@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.3.19-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/dev-utils@1.0.16-next.1 - - @backstage/test-utils@1.4.0-next.1 - - @backstage/theme@0.4.0-next.0 - -## 0.3.19-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/test-utils@1.4.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/dev-utils@1.0.16-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.3.18 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/dev-utils@1.0.15 - - @backstage/test-utils@1.3.1 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - -## 0.3.18-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/dev-utils@1.0.15-next.2 - - @backstage/test-utils@1.3.1-next.2 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.3.18-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/dev-utils@1.0.15-next.1 - - @backstage/core-plugin-api@1.5.1 - - @backstage/test-utils@1.3.1-next.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - -## 0.3.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/dev-utils@1.0.15-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/test-utils@1.3.1-next.0 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - -## 0.3.17 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/test-utils@1.3.0 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/dev-utils@1.0.14 - -## 0.3.17-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/dev-utils@1.0.14-next.3 - - @backstage/test-utils@1.3.0-next.3 - - @backstage/theme@0.2.19-next.0 - -## 0.3.17-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/dev-utils@1.0.14-next.2 - - @backstage/test-utils@1.3.0-next.2 - - @backstage/theme@0.2.19-next.0 - -## 0.3.17-next.1 - -### Patch Changes - -- 7d75f6d9b8f: chore: Improve API Reference documentation -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/test-utils@1.3.0-next.1 - - @backstage/dev-utils@1.0.14-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - -## 0.3.17-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/test-utils@1.3.0-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/dev-utils@1.0.14-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.3.16 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/test-utils@1.2.6 - - @backstage/dev-utils@1.0.13 - - @backstage/theme@0.2.18 - -## 0.3.16-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - - @backstage/dev-utils@1.0.13-next.2 - - @backstage/test-utils@1.2.6-next.2 - -## 0.3.16-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/test-utils@1.2.6-next.1 - - @backstage/dev-utils@1.0.13-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - -## 0.3.16-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/test-utils@1.2.6-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/dev-utils@1.0.13-next.0 - - @backstage/theme@0.2.17 - -## 0.3.15 - -### Patch Changes - -- 41377156d0: Adds a boolean helper function to airbrake plugin for use on the EntityPage to show/hide airbrake tab depending on whether the entity's `catalog-info.yaml` has an airbrake id set in the metadata -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - - @backstage/dev-utils@1.0.12 - - @backstage/test-utils@1.2.5 - -## 0.3.15-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.12-next.2 - - @backstage/test-utils@1.2.5-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.3.0-next.2 - -## 0.3.15-next.1 - -### Patch Changes - -- 41377156d0: Adds a boolean helper function to airbrake plugin for use on the EntityPage to show/hide airbrake tab depending on whether the entity's catalog-info.yml has an airbrake id set in the metadata -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.12-next.1 - - @backstage/test-utils@1.2.5-next.0 - - @backstage/theme@0.2.16 - -## 0.3.15-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/dev-utils@1.0.12-next.0 - -## 0.3.14 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/core-plugin-api@1.3.0 - - @backstage/dev-utils@1.0.11 - - @backstage/test-utils@1.2.4 - - @backstage/theme@0.2.16 - -## 0.3.14-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/dev-utils@1.0.11-next.2 - - @backstage/test-utils@1.2.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.14-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/dev-utils@1.0.11-next.1 - - @backstage/test-utils@1.2.4-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.4-next.1 - -## 0.3.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/dev-utils@1.0.11-next.0 - - @backstage/test-utils@1.2.3 - - @backstage/theme@0.2.16 - -## 0.3.13 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/dev-utils@1.0.10 - - @backstage/plugin-catalog-react@1.2.3 - -## 0.3.12 - -### Patch Changes - -- 2e701b3796: Internal refactor to use `react-router-dom` rather than `react-router`. -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- 151c0e1477: Remove the `object-hash` dependency -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/core-components@0.12.1 - - @backstage/test-utils@1.2.3 - - @backstage/dev-utils@1.0.9 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - -## 0.3.12-next.4 - -### Patch Changes - -- 2e701b3796: Internal refactor to use `react-router-dom` rather than `react-router`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/dev-utils@1.0.9-next.4 - - @backstage/test-utils@1.2.3-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - -## 0.3.12-next.3 - -### Patch Changes - -- 151c0e1477: Remove the `object-hash` dependency -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/dev-utils@1.0.9-next.3 - - @backstage/test-utils@1.2.3-next.3 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.2-next.3 - -## 0.3.12-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/dev-utils@1.0.9-next.2 - - @backstage/test-utils@1.2.3-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.12-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/test-utils@1.2.3-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/dev-utils@1.0.9-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.3.12-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/test-utils@1.2.3-next.0 - - @backstage/dev-utils@1.0.9-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - -## 0.3.11 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/dev-utils@1.0.8 - - @backstage/test-utils@1.2.2 - - @backstage/theme@0.2.16 - -## 0.3.11-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/dev-utils@1.0.8-next.1 - - @backstage/test-utils@1.2.2-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.1-next.1 - -## 0.3.11-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/dev-utils@1.0.8-next.0 - - @backstage/test-utils@1.2.2-next.0 - - @backstage/theme@0.2.16 - -## 0.3.10 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/test-utils@1.2.1 - - @backstage/dev-utils@1.0.7 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.3.10-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/test-utils@1.2.1-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/dev-utils@1.0.7-next.2 - - @backstage/theme@0.2.16 - -## 0.3.10-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/dev-utils@1.0.7-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/test-utils@1.2.1-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/theme@0.2.16 - -## 0.3.10-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/test-utils@1.2.1-next.0 - - @backstage/dev-utils@1.0.7-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - -## 0.3.9 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- 7d47def9c4: Removed dependency on `@types/jest`. -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/dev-utils@1.0.6 - - @backstage/test-utils@1.2.0 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/catalog-model@1.1.1 - -## 0.3.9-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - - @backstage/dev-utils@1.0.6-next.2 - - @backstage/test-utils@1.2.0-next.3 - -## 0.3.9-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - - @backstage/test-utils@1.2.0-next.2 - -## 0.3.9-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/dev-utils@1.0.6-next.1 - - @backstage/test-utils@1.2.0-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - -## 0.3.9-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/test-utils@1.1.4-next.0 - - @backstage/dev-utils@1.0.6-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - -## 0.3.8 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - - @backstage/dev-utils@1.0.5 - - @backstage/test-utils@1.1.3 - -## 0.3.8-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - - @backstage/dev-utils@1.0.5-next.1 - -## 0.3.8-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - - @backstage/dev-utils@1.0.5-next.0 - - @backstage/test-utils@1.1.3-next.0 - -## 0.3.7 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/catalog-model@1.1.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/test-utils@1.1.2 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - - @backstage/dev-utils@1.0.4 - -## 0.3.7-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/test-utils@1.1.2-next.2 - - @backstage/catalog-model@1.1.0-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - - @backstage/dev-utils@1.0.4-next.3 - -## 0.3.7-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/catalog-model@1.1.0-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - - @backstage/dev-utils@1.0.4-next.2 - -## 0.3.7-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/dev-utils@1.0.4-next.1 - - @backstage/test-utils@1.1.2-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.1 - -## 0.3.7-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/core-components@0.9.6-next.0 - - @backstage/dev-utils@1.0.4-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - - @backstage/test-utils@1.1.2-next.0 - -## 0.3.6 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/test-utils@1.1.1 - - @backstage/catalog-model@1.0.3 - - @backstage/dev-utils@1.0.3 - -## 0.3.6-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/test-utils@1.1.1-next.0 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-catalog-react@1.1.1-next.1 - - @backstage/dev-utils@1.0.3-next.1 - -## 0.3.6-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - - @backstage/dev-utils@1.0.3-next.0 - -## 0.3.5 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/test-utils@1.1.0 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/dev-utils@1.0.2 - - @backstage/catalog-model@1.0.2 - -## 0.3.5-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.1 - - @backstage/dev-utils@1.0.2-next.2 - - @backstage/plugin-catalog-react@1.1.0-next.2 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/core-plugin-api@1.0.2-next.1 - - @backstage/test-utils@1.1.0-next.2 - -## 0.3.5-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/test-utils@1.1.0-next.1 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - - @backstage/dev-utils@1.0.2-next.1 - -## 0.3.5-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.0-next.0 - - @backstage/test-utils@1.0.2-next.0 - - @backstage/dev-utils@1.0.2-next.0 - -## 0.3.4 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/plugin-catalog-react@1.0.1 - - @backstage/catalog-model@1.0.1 - - @backstage/core-components@0.9.3 - - @backstage/core-plugin-api@1.0.1 - - @backstage/dev-utils@1.0.1 - - @backstage/test-utils@1.0.1 - -## 0.3.4-next.1 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/core-components@0.9.3-next.2 - - @backstage/core-plugin-api@1.0.1-next.0 - - @backstage/dev-utils@1.0.1-next.1 - - @backstage/test-utils@1.0.1-next.2 - - @backstage/plugin-catalog-react@1.0.1-next.3 - -## 0.3.4-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.0 - - @backstage/core-components@0.9.3-next.0 - - @backstage/dev-utils@1.0.1-next.0 - - @backstage/test-utils@1.0.1-next.0 - -## 0.3.3 - -### Patch Changes - -- 89c7e47967: Minor README update -- 7ff853b2d5: build(deps): bump `object-hash` from 2.2.0 to 3.0.0 -- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3 -- Updated dependencies - - @backstage/core-components@0.9.2 - - @backstage/core-plugin-api@1.0.0 - - @backstage/dev-utils@1.0.0 - - @backstage/test-utils@1.0.0 - - @backstage/plugin-catalog-react@1.0.0 - - @backstage/catalog-model@1.0.0 - -## 0.3.2 - -### Patch Changes - -- c5a462bff1: Fix a bug where API calls were being made and errors were being added to the snack bar when no project ID was present. This is a common use case for components that haven't added the Airbrake plugin annotation to their `catalog-info.yaml`. -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0 - - @backstage/core-components@0.9.1 - - @backstage/catalog-model@0.13.0 - - @backstage/dev-utils@0.2.25 - -## 0.3.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0-next.0 - - @backstage/core-components@0.9.1-next.0 - - @backstage/catalog-model@0.13.0-next.0 - - @backstage/dev-utils@0.2.25-next.0 - -## 0.3.1 - -### Patch Changes - -- 3c1d3cb07e: The Airbrake plugin installation instructions have been updated to work better and conform to how the frontend and backend plugins are supposed to be integrated into a Backstage instance. -- Updated dependencies - - @backstage/catalog-model@0.12.0 - - @backstage/core-components@0.9.0 - - @backstage/plugin-catalog-react@0.8.0 - - @backstage/core-plugin-api@0.8.0 - - @backstage/test-utils@0.3.0 - - @backstage/dev-utils@0.2.24 - -## 0.3.0 - -### Minor Changes - -- da78e79a94: This marks the first release where the Airbrake plugin is useable. Airbrake frontend and Airbrake backend work with each other. Currently just a summary of the latest Airbrakes is shown on Backstage. - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.10 - - @backstage/plugin-catalog-react@0.7.0 - - @backstage/catalog-model@0.11.0 - - @backstage/core-plugin-api@0.7.0 - - @backstage/dev-utils@0.2.23 - - @backstage/test-utils@0.2.6 - -## 0.2.0 - -### Minor Changes - -- 9e505d20a3: API connectivity has added, but currently will only work by running it standalone on a browser with CORS disabled. - -### Patch Changes - -- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5 -- c77c5c7eb6: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/core-components@0.8.9 - - @backstage/core-plugin-api@0.6.1 - - @backstage/test-utils@0.2.5 - - @backstage/plugin-catalog-react@0.6.15 - - @backstage/catalog-model@0.10.0 - - @backstage/dev-utils@0.2.22 - - @backstage/theme@0.2.15 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8 - -## 0.1.3-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8-next.0 - -## 0.1.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7 - -## 0.1.2-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7-next.0 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5 - - @backstage/core-plugin-api@0.6.0 - -## 0.1.1-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5-next.0 - - @backstage/core-plugin-api@0.6.0-next.0 - -## 0.1.0 - -### Minor Changes - -- 04c86e5a10: A plugin for Airbrake (https://airbrake.io/) has been created - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.4 - - @backstage/core-plugin-api@0.5.0 diff --git a/plugins/airbrake/README.md b/plugins/airbrake/README.md deleted file mode 100644 index 0dff15fa88..0000000000 --- a/plugins/airbrake/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-airbrake` instead. diff --git a/plugins/airbrake/api-report.md b/plugins/airbrake/api-report.md deleted file mode 100644 index 66f9b19bc8..0000000000 --- a/plugins/airbrake/api-report.md +++ /dev/null @@ -1,24 +0,0 @@ -## API Report File for "@backstage/plugin-airbrake" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { Entity } from '@backstage/catalog-model'; -import { default as React_2 } from 'react'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public -export const airbrakePlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public -export const EntityAirbrakeContent: () => React_2.JSX.Element; - -// @public -export const isAirbrakeAvailable: (entity: Entity) => boolean; -``` diff --git a/plugins/airbrake/catalog-info.yaml b/plugins/airbrake/catalog-info.yaml deleted file mode 100644 index d1eac0d04e..0000000000 --- a/plugins/airbrake/catalog-info.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-airbrake - title: '@backstage/plugin-airbrake' -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: maintainers diff --git a/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx b/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx deleted file mode 100644 index f75bc4160f..0000000000 --- a/plugins/airbrake/dev/components/ApiBar/ApiBar.tsx +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import TextField from '@material-ui/core/TextField'; -import { makeStyles } from '@material-ui/core/styles'; -import { Context } from '../ContextProvider'; - -const useStyles = makeStyles(theme => ({ - root: { - display: 'flex', - gap: '1em', - flexWrap: 'wrap', - }, - label: { - color: `${theme.palette.common.white} !important`, - }, - outline: { - color: `${theme.palette.common.white} !important`, - borderColor: `${theme.palette.common.white} !important`, - }, -})); - -export const ApiBar = () => { - const classes = useStyles(); - - return ( - - {value => ( -
- - value.setProjectId?.(parseInt(e.target.value, 10) || undefined) - } - /> -
- )} -
- ); -}; diff --git a/plugins/airbrake/dev/components/ApiBar/index.ts b/plugins/airbrake/dev/components/ApiBar/index.ts deleted file mode 100644 index ff6e80d3d8..0000000000 --- a/plugins/airbrake/dev/components/ApiBar/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ApiBar } from './ApiBar'; diff --git a/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx b/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx deleted file mode 100644 index d46366d8f6..0000000000 --- a/plugins/airbrake/dev/components/ContextProvider/ContextProvider.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React, { - Dispatch, - PropsWithChildren, - SetStateAction, - useState, -} from 'react'; - -interface ContextInterface { - projectId?: number; - setProjectId?: Dispatch>; -} - -export const Context = React.createContext({}); - -export const ContextProvider = ({ children }: PropsWithChildren<{}>) => { - const [projectId, setProjectId] = useState(); - - return ( - - {children} - - ); -}; diff --git a/plugins/airbrake/dev/components/ContextProvider/index.ts b/plugins/airbrake/dev/components/ContextProvider/index.ts deleted file mode 100644 index f1e350868a..0000000000 --- a/plugins/airbrake/dev/components/ContextProvider/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { ContextProvider, Context } from './ContextProvider'; diff --git a/plugins/airbrake/dev/index.tsx b/plugins/airbrake/dev/index.tsx deleted file mode 100644 index a844dfdfdc..0000000000 --- a/plugins/airbrake/dev/index.tsx +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { createDevApp } from '@backstage/dev-utils'; -import { TestApiProvider } from '@backstage/test-utils'; -import { airbrakePlugin, EntityAirbrakeContent } from '../src'; -import { - airbrakeApiRef, - localDiscoveryApi, - MockAirbrakeApi, - ProductionAirbrakeApi, -} from '../src/api'; -import { ApiBar } from './components/ApiBar'; -import { Content, Header, Page } from '@backstage/core-components'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; -import { createEntity } from '../src/api'; -import CloudOffIcon from '@material-ui/icons/CloudOff'; -import CloudIcon from '@material-ui/icons/Cloud'; -import { Context, ContextProvider } from './components/ContextProvider'; - -createDevApp() - .registerPlugin(airbrakePlugin) - .addPage({ - element: ( - -
- - - - - - - - - ), - title: 'Mock API', - path: '/airbrake-mock-api', - icon: CloudOffIcon, - }) - .addPage({ - element: ( - - -
- -
- - - {value => ( - - - - - - )} - - -
-
- ), - title: 'Real API', - path: '/airbrake-real-api', - icon: CloudIcon, - }) - .render(); diff --git a/plugins/airbrake/knip-report.md b/plugins/airbrake/knip-report.md deleted file mode 100644 index 2e539d1e56..0000000000 --- a/plugins/airbrake/knip-report.md +++ /dev/null @@ -1,10 +0,0 @@ -# Knip report - -## Unused devDependencies (3) - -| Name | Location | Severity | -| :---------------------- | :----------- | :------- | -| @backstage/app-defaults | package.json | error | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json deleted file mode 100644 index 48155c20e9..0000000000 --- a/plugins/airbrake/package.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "name": "@backstage/plugin-airbrake", - "version": "0.3.34", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-airbrake" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/airbrake" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@material-ui/core": "^4.12.2", - "@material-ui/icons": "^4.9.1", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/app-defaults": "workspace:^", - "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0", - "msw": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-airbrake instead." -} diff --git a/plugins/airbrake/src/api/AirbrakeApi.ts b/plugins/airbrake/src/api/AirbrakeApi.ts deleted file mode 100644 index a29aa3eca7..0000000000 --- a/plugins/airbrake/src/api/AirbrakeApi.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Groups } from './airbrakeGroups'; -import { createApiRef } from '@backstage/core-plugin-api'; - -export const airbrakeApiRef = createApiRef({ - id: 'plugin.airbrake.service', -}); - -export interface AirbrakeApi { - fetchGroups(projectId: string): Promise; -} diff --git a/plugins/airbrake/src/api/ProductionApi.test.ts b/plugins/airbrake/src/api/ProductionApi.test.ts deleted file mode 100644 index 92593e42bc..0000000000 --- a/plugins/airbrake/src/api/ProductionApi.test.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { ProductionAirbrakeApi } from './ProductionApi'; -import { rest } from 'msw'; -import mockGroupsData from './mock/airbrakeGroupsApiMock.json'; -import { setupServer } from 'msw/node'; -import { setupRequestMockHandlers } from '@backstage/test-utils'; -import { localDiscoveryApi } from './mock'; - -describe('The production Airbrake API', () => { - const productionApi = new ProductionAirbrakeApi(localDiscoveryApi); - const worker = setupServer(); - setupRequestMockHandlers(worker); - - it('fetches groups using the provided project ID', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123456/groups', - (_, res, ctx) => { - return res(ctx.status(200), ctx.json(mockGroupsData)); - }, - ), - ); - - const groups = await productionApi.fetchGroups('123456'); - expect(groups).toStrictEqual(mockGroupsData); - }); - - it('throws if fetching groups was unsuccessful', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123456/groups', - (_, res, ctx) => { - return res(ctx.status(500)); - }, - ), - ); - - await expect(productionApi.fetchGroups('123456')).rejects.toThrow(); - }); -}); diff --git a/plugins/airbrake/src/api/ProductionApi.ts b/plugins/airbrake/src/api/ProductionApi.ts deleted file mode 100644 index 21ca19ee7d..0000000000 --- a/plugins/airbrake/src/api/ProductionApi.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Groups } from './airbrakeGroups'; -import { AirbrakeApi } from './AirbrakeApi'; -import { DiscoveryApi } from '@backstage/core-plugin-api'; - -export class ProductionAirbrakeApi implements AirbrakeApi { - constructor(private readonly discoveryApi: DiscoveryApi) {} - - async fetchGroups(projectId: string): Promise { - const baseUrl = await this.discoveryApi.getBaseUrl('airbrake'); - const apiUrl = `${baseUrl}/api/v4/projects/${projectId}/groups`; - - const response = await fetch(apiUrl); - - if (response.status >= 400 && response.status < 600) { - throw new Error('Failed fetching Airbrake groups'); - } - - return (await response.json()) as Groups; - } -} diff --git a/plugins/airbrake/src/api/airbrakeGroups.d.ts b/plugins/airbrake/src/api/airbrakeGroups.d.ts deleted file mode 100644 index e1887eca9b..0000000000 --- a/plugins/airbrake/src/api/airbrakeGroups.d.ts +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export interface Groups { - count: number; - end: string; - groups?: Group[] | null; - page: number; - resolvedCount: number; - unresolvedCount: number; -} - -export interface Group { - id: string; - projectId: number; - resolved: boolean; - muted: boolean; - mutedBy: number; - mutedAt?: string | null; - errors?: Error[]; - attributes?: string | null; - context: Context; - lastDeployId: string; - lastDeployAt?: string | null; - lastNoticeId: string; - lastNoticeAt: string; - noticeCount: number; - noticeTotalCount: number; - commentCount: number; - createdAt: string; -} - -export interface Error { - type: string; - message: string; - backtrace?: Backtrace[]; -} - -export interface Backtrace { - file: string; - function: string; - line: number; - column: number; - code?: string | null; -} - -export interface Context { - action: string; - component: string; - environment: string; - severity: string; -} diff --git a/plugins/airbrake/src/api/index.ts b/plugins/airbrake/src/api/index.ts deleted file mode 100644 index 2d92789653..0000000000 --- a/plugins/airbrake/src/api/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './mock'; -export type { AirbrakeApi } from './AirbrakeApi'; -export { airbrakeApiRef } from './AirbrakeApi'; -export type { Groups } from './airbrakeGroups'; -export { ProductionAirbrakeApi } from './ProductionApi'; diff --git a/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts b/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts deleted file mode 100644 index c3080a8104..0000000000 --- a/plugins/airbrake/src/api/mock/LocalDiscoveryApi.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { DiscoveryApi } from '@backstage/core-plugin-api'; - -export const localDiscoveryApi: DiscoveryApi = { - async getBaseUrl(pluginId: string): Promise { - return `http://localhost:7007/api/${pluginId}`; - }, -}; diff --git a/plugins/airbrake/src/api/mock/MockApi.ts b/plugins/airbrake/src/api/mock/MockApi.ts deleted file mode 100644 index dbb1d5c049..0000000000 --- a/plugins/airbrake/src/api/mock/MockApi.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Groups } from '../airbrakeGroups'; -import { AirbrakeApi } from '../AirbrakeApi'; -import mockGroupsData from './airbrakeGroupsApiMock.json'; - -export class MockAirbrakeApi implements AirbrakeApi { - waitTimeInMillis: number; - - constructor(waitTimeInMillis = 10) { - this.waitTimeInMillis = waitTimeInMillis; - } - - fetchGroups(): Promise { - return new Promise(resolve => { - setTimeout(() => resolve(mockGroupsData), this.waitTimeInMillis); - }); - } -} diff --git a/plugins/airbrake/src/api/mock/MockEntity.ts b/plugins/airbrake/src/api/mock/MockEntity.ts deleted file mode 100644 index 13534f2458..0000000000 --- a/plugins/airbrake/src/api/mock/MockEntity.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2022 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { AIRBRAKE_PROJECT_ID_ANNOTATION } from '../../components/useProjectId'; -import { Entity } from '@backstage/catalog-model'; - -export const createEntity = (projectId?: number) => { - const projectIdString = projectId?.toString(); - - return { - apiVersion: 'backstage.io/v1alpha1', - kind: 'Component', - metadata: { - annotations: { - [AIRBRAKE_PROJECT_ID_ANNOTATION]: projectIdString, - }, - name: projectIdString, - }, - } as Entity; -}; diff --git a/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json b/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json deleted file mode 100644 index fa654ec50b..0000000000 --- a/plugins/airbrake/src/api/mock/airbrakeGroupsApiMock.json +++ /dev/null @@ -1,85 +0,0 @@ -{ - "count": 2, - "end": "", - "groups": [ - { - "id": "1", - "projectId": 123, - "resolved": false, - "muted": false, - "mutedBy": 0, - "mutedAt": null, - "errors": [ - { - "type": "Error", - "message": "useSearch must be used within a SearchContextProvider", - "backtrace": [ - { - "file": "webpack-internal:///../../node_modules/@backstage/plugin-search/dist/esm/index-893ec2f5.esm.js", - "function": "useSearch", - "line": 303, - "column": 11, - "code": null - } - ] - } - ], - "attributes": null, - "context": { - "action": "", - "component": "", - "environment": "local", - "severity": "error" - }, - "lastDeployId": "0", - "lastDeployAt": null, - "lastNoticeId": "234", - "lastNoticeAt": "2021-12-19T09:59:00.124Z", - "noticeCount": 5, - "noticeTotalCount": 5, - "commentCount": 0, - "createdAt": "2021-12-19T09:44:30.067447Z" - }, - { - "id": "2", - "projectId": 123, - "resolved": true, - "muted": false, - "mutedBy": 0, - "mutedAt": null, - "errors": [ - { - "type": "ChunkLoadError", - "message": "Loading chunk 7764 failed.", - "backtrace": [ - { - "file": "/PROJECT_ROOT/static/runtime.069c874d.js", - "function": "Object._.f.j", - "line": 1, - "column": 19465, - "code": null - } - ] - } - ], - "attributes": null, - "context": { - "action": "", - "component": "", - "environment": "local", - "severity": "error" - }, - "lastDeployId": "0", - "lastDeployAt": null, - "lastNoticeId": "345", - "lastNoticeAt": "2021-12-15T17:16:38.419Z", - "noticeCount": 1, - "noticeTotalCount": 1, - "commentCount": 0, - "createdAt": "2021-12-15T17:16:38.41983Z" - } - ], - "page": 1, - "resolvedCount": 1, - "unresolvedCount": 1 -} diff --git a/plugins/airbrake/src/api/mock/index.ts b/plugins/airbrake/src/api/mock/index.ts deleted file mode 100644 index 4e0ab5fabf..0000000000 --- a/plugins/airbrake/src/api/mock/index.ts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export * from './MockApi'; -export * from './MockEntity'; -export * from './LocalDiscoveryApi'; diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx b/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx deleted file mode 100644 index a7243f5f0f..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.test.tsx +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import React from 'react'; -import { EntityAirbrakeWidget } from './EntityAirbrakeWidget'; -import exampleData from '../../api/mock/airbrakeGroupsApiMock.json'; -import { - renderInTestApp, - setupRequestMockHandlers, - TestApiProvider, -} from '@backstage/test-utils'; -import { - airbrakeApiRef, - createEntity, - localDiscoveryApi, - MockAirbrakeApi, - ProductionAirbrakeApi, -} from '../../api'; -import { rest } from 'msw'; -import { setupServer } from 'msw/node'; - -describe('EntityAirbrakeWidget', () => { - const worker = setupServer(); - setupRequestMockHandlers(worker); - - it('renders all errors sent from Airbrake', async () => { - const widget = await renderInTestApp( - - - , - ); - expect(exampleData.groups.length).toBeGreaterThan(0); - for (const group of exampleData.groups) { - expect( - await widget.findByText(group.errors[0].message), - ).toBeInTheDocument(); - } - }); - - it('states that the annotation is missing if no project ID annotation is provided but does not error', async () => { - const widget = await renderInTestApp( - - - , - ); - await expect( - widget.findByText('Missing Annotation'), - ).resolves.toBeInTheDocument(); - expect( - widget.queryByText(/.*Failed fetching Airbrake groups.*/), - ).not.toBeInTheDocument(); - }); - - it('states that an error occurred if the API call fails', async () => { - worker.use( - rest.get( - 'http://localhost:7007/api/airbrake/api/v4/projects/123/groups', - (_, res, ctx) => { - return res(ctx.status(500)); - }, - ), - ); - - const widget = await renderInTestApp( - - - , - ); - - await expect( - widget.findByText(/.*there was an issue communicating with Airbrake.*/), - ).resolves.toBeInTheDocument(); - expect( - widget.getByRole('heading', { - name: /.*Failed fetching Airbrake groups.*/, - }), - ).toBeInTheDocument(); - }); -}); diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx b/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx deleted file mode 100644 index 88fc04f8e3..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/EntityAirbrakeWidget.tsx +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; -import { - EmptyState, - ErrorPanel, - InfoCard, - Progress, -} from '@backstage/core-components'; -import { useApi } from '@backstage/core-plugin-api'; -import Grid from '@material-ui/core/Grid'; -import Typography from '@material-ui/core/Typography'; -import { makeStyles } from '@material-ui/core/styles'; -import React from 'react'; -import useAsync from 'react-use/esm/useAsync'; -import { airbrakeApiRef } from '../../api'; -import { MissingAnnotationEmptyState } from '@backstage/plugin-catalog-react'; -import { AIRBRAKE_PROJECT_ID_ANNOTATION, useProjectId } from '../useProjectId'; - -const useStyles = makeStyles({ - multilineText: { - whiteSpace: 'pre-wrap', - }, -}); - -export const EntityAirbrakeWidget = ({ entity }: { entity: Entity }) => { - const classes = useStyles(); - - const projectId = useProjectId(entity); - const airbrakeApi = useApi(airbrakeApiRef); - - const { loading, value, error } = useAsync(() => { - if (!projectId) { - return Promise.resolve(undefined); - } - - return airbrakeApi.fetchGroups(projectId); - }, [airbrakeApi, projectId]); - - if (!projectId) { - return ( - - ); - } else if (loading) { - return ; - } else if (value) { - return ( - - {value.groups?.map(group => ( - - {group.errors?.map((groupError, i) => ( - - - {groupError.message} - - - ))} - - ))} - - ); - } - - return ( - <> - {error && } - - - ); -}; diff --git a/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts b/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts deleted file mode 100644 index 0a85263c5f..0000000000 --- a/plugins/airbrake/src/components/EntityAirbrakeWidget/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { EntityAirbrakeWidget } from './EntityAirbrakeWidget'; diff --git a/plugins/airbrake/src/components/isAirbrakeAvailable.ts b/plugins/airbrake/src/components/isAirbrakeAvailable.ts deleted file mode 100644 index 01d59668ce..0000000000 --- a/plugins/airbrake/src/components/isAirbrakeAvailable.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; -import { AIRBRAKE_PROJECT_ID_ANNOTATION } from './useProjectId'; - -/** - * Utility function to determine if the given entity has an Airbrake ID set in the repos catalog-info.yml . - * @public - */ -export const isAirbrakeAvailable = (entity: Entity) => - Boolean(entity.metadata.annotations?.[AIRBRAKE_PROJECT_ID_ANNOTATION]); diff --git a/plugins/airbrake/src/components/useProjectId.ts b/plugins/airbrake/src/components/useProjectId.ts deleted file mode 100644 index 3402778b7b..0000000000 --- a/plugins/airbrake/src/components/useProjectId.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Entity } from '@backstage/catalog-model'; - -export const AIRBRAKE_PROJECT_ID_ANNOTATION = 'airbrake.io/project-id'; - -export const useProjectId = (entity: Entity) => { - return entity?.metadata.annotations?.[AIRBRAKE_PROJECT_ID_ANNOTATION] ?? ''; -}; diff --git a/plugins/airbrake/src/extensions.test.tsx b/plugins/airbrake/src/extensions.test.tsx deleted file mode 100644 index b24b7febf8..0000000000 --- a/plugins/airbrake/src/extensions.test.tsx +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { EntityAirbrakeContent } from './extensions'; -import { Route, Routes } from 'react-router-dom'; -import { renderInTestApp, TestApiProvider } from '@backstage/test-utils'; -import { airbrakeApiRef, MockAirbrakeApi } from './api'; -import { createEntity } from './api'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; - -describe('The Airbrake entity', () => { - it('should render the content properly', async () => { - const rendered = await renderInTestApp( - - - - } /> - - - , - ); - await expect( - rendered.findByText('ChunkLoadError'), - ).resolves.toBeInTheDocument(); - }); -}); diff --git a/plugins/airbrake/src/extensions.tsx b/plugins/airbrake/src/extensions.tsx deleted file mode 100644 index d4f890f44a..0000000000 --- a/plugins/airbrake/src/extensions.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useEntity } from '@backstage/plugin-catalog-react'; -import React from 'react'; -import { airbrakePlugin } from './plugin'; -import { createRoutableExtension } from '@backstage/core-plugin-api'; -import { rootRouteRef } from './routes'; - -/** - * This is the widget that shows up on a component page - * - * @public - */ -export const EntityAirbrakeContent = airbrakePlugin.provide( - createRoutableExtension({ - name: 'EntityAirbrakeContent', - mountPoint: rootRouteRef, - component: () => - import('./components/EntityAirbrakeWidget').then( - ({ EntityAirbrakeWidget }) => { - return () => { - const { entity } = useEntity(); - return ; - }; - }, - ), - }), -); diff --git a/plugins/airbrake/src/index.test.ts b/plugins/airbrake/src/index.test.ts deleted file mode 100644 index 3aea2edf66..0000000000 --- a/plugins/airbrake/src/index.test.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { EntityAirbrakeContent, airbrakePlugin } from './index'; - -describe('The Airbrake plugin index file', () => { - it('exports the plugin and content', async () => { - expect(EntityAirbrakeContent).toBeTruthy(); - expect(airbrakePlugin).toBeTruthy(); - }); -}); diff --git a/plugins/airbrake/src/index.ts b/plugins/airbrake/src/index.ts deleted file mode 100644 index 6f189e36b8..0000000000 --- a/plugins/airbrake/src/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * The Airbrake plugin provides connectivity between Backstage and {@link https://airbrake.io/ | Airbrake}. - * - * @packageDocumentation - */ - -export { airbrakePlugin } from './plugin'; -export { EntityAirbrakeContent } from './extensions'; -export { isAirbrakeAvailable } from './components/isAirbrakeAvailable'; diff --git a/plugins/airbrake/src/plugin.test.ts b/plugins/airbrake/src/plugin.test.ts deleted file mode 100644 index ad7865713f..0000000000 --- a/plugins/airbrake/src/plugin.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2020 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { airbrakePlugin } from './plugin'; -import { ProductionAirbrakeApi } from './api'; - -describe('catalog', () => { - it('should export plugin', () => { - expect(airbrakePlugin).toBeDefined(); - }); - - it('should have at least one API, the production API', () => { - const apiFactories = Array.from(airbrakePlugin.getApis()); - expect(apiFactories.length).toBe(1); - expect(apiFactories[0].factory({})).toBeInstanceOf(ProductionAirbrakeApi); - }); -}); diff --git a/plugins/airbrake/src/plugin.ts b/plugins/airbrake/src/plugin.ts deleted file mode 100644 index 56f65ba110..0000000000 --- a/plugins/airbrake/src/plugin.ts +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { - createApiFactory, - createPlugin, - discoveryApiRef, -} from '@backstage/core-plugin-api'; - -import { rootRouteRef } from './routes'; -import { airbrakeApiRef, ProductionAirbrakeApi } from './api'; - -/** - * The Airbrake plugin instance - * - * @public - */ -export const airbrakePlugin = createPlugin({ - id: 'airbrake', - apis: [ - createApiFactory({ - api: airbrakeApiRef, - deps: { discoveryApi: discoveryApiRef }, - factory: ({ discoveryApi }) => new ProductionAirbrakeApi(discoveryApi), - }), - ], - routes: { - root: rootRouteRef, - }, -}); diff --git a/plugins/airbrake/src/routes.ts b/plugins/airbrake/src/routes.ts deleted file mode 100644 index 52672267fe..0000000000 --- a/plugins/airbrake/src/routes.ts +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { createRouteRef } from '@backstage/core-plugin-api'; - -export const rootRouteRef = createRouteRef({ - id: 'airbrake', -}); diff --git a/plugins/airbrake/src/setupTests.ts b/plugins/airbrake/src/setupTests.ts deleted file mode 100644 index 7435872609..0000000000 --- a/plugins/airbrake/src/setupTests.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import '@testing-library/jest-dom'; diff --git a/plugins/allure/.eslintrc.js b/plugins/allure/.eslintrc.js deleted file mode 100644 index c69a8f6aff..0000000000 --- a/plugins/allure/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, { - rules: { - '@backstage/no-top-level-material-ui-4-imports': 'error', - }, - }); diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md deleted file mode 100644 index e3984d5f0f..0000000000 --- a/plugins/allure/CHANGELOG.md +++ /dev/null @@ -1,1376 +0,0 @@ -# @backstage/plugin-allure - -## 0.1.50 - -### Patch Changes - -- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`. -- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.11.3 - - @backstage/core-components@0.14.4 - - @backstage/core-plugin-api@1.9.2 - - @backstage/catalog-model@1.4.5 - -## 0.1.50-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.4.5 - - @backstage/core-components@0.14.4-next.0 - - @backstage/core-plugin-api@1.9.1 - - @backstage/plugin-catalog-react@1.11.3-next.1 - -## 0.1.50-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.4-next.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - - @backstage/plugin-catalog-react@1.11.3-next.0 - -## 0.1.49 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.3 - - @backstage/plugin-catalog-react@1.11.2 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - -## 0.1.48 - -### Patch Changes - -- e8f026a: Use ESM exports of react-use library -- Updated dependencies - - @backstage/core-components@0.14.2 - - @backstage/plugin-catalog-react@1.11.1 - - @backstage/core-plugin-api@1.9.1 - - @backstage/catalog-model@1.4.5 - -## 0.1.47 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1 - - @backstage/plugin-catalog-react@1.11.0 - - @backstage/catalog-model@1.4.5 - - @backstage/core-plugin-api@1.9.1 - -## 0.1.47-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.2 - - @backstage/plugin-catalog-react@1.11.0-next.2 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.1 - -## 0.1.47-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.1 - - @backstage/plugin-catalog-react@1.10.1-next.1 - - @backstage/core-plugin-api@1.9.1-next.1 - - @backstage/catalog-model@1.4.5-next.0 - -## 0.1.47-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.1-next.0 - - @backstage/plugin-catalog-react@1.10.1-next.0 - - @backstage/catalog-model@1.4.5-next.0 - - @backstage/core-plugin-api@1.9.1-next.0 - -## 0.1.46 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/plugin-catalog-react@1.10.0 - - @backstage/core-components@0.14.0 - - @backstage/catalog-model@1.4.4 - - @backstage/core-plugin-api@1.9.0 - -## 0.1.46-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.2 - - @backstage/plugin-catalog-react@1.10.0-next.3 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.9.0-next.1 - -## 0.1.46-next.2 - -### Patch Changes - -- 9aac2b0: Use `--cwd` as the first `yarn` argument -- 8fe56a8: Widen `@types/react` dependency range to include version 18. -- Updated dependencies - - @backstage/core-components@0.14.0-next.1 - - @backstage/core-plugin-api@1.9.0-next.1 - - @backstage/plugin-catalog-react@1.10.0-next.2 - - @backstage/catalog-model@1.4.4-next.0 - -## 0.1.46-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.14.0-next.0 - - @backstage/catalog-model@1.4.4-next.0 - - @backstage/core-plugin-api@1.8.3-next.0 - - @backstage/plugin-catalog-react@1.9.4-next.1 - -## 0.1.46-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.4-next.0 - - @backstage/core-components@0.13.10 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.2 - -## 0.1.45 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10 - - @backstage/core-plugin-api@1.8.2 - - @backstage/plugin-catalog-react@1.9.3 - - @backstage/catalog-model@1.4.3 - -## 0.1.45-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.3-next.2 - -## 0.1.45-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.2-next.0 - - @backstage/core-components@0.13.10-next.1 - - @backstage/plugin-catalog-react@1.9.3-next.1 - - @backstage/catalog-model@1.4.3 - -## 0.1.45-next.0 - -### Patch Changes - -- 4016f21: Remove some unused dependencies -- Updated dependencies - - @backstage/core-components@0.13.10-next.0 - - @backstage/plugin-catalog-react@1.9.3-next.0 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1 - -## 0.1.44 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1 - - @backstage/plugin-catalog-react@1.9.2 - - @backstage/core-components@0.13.9 - - @backstage/theme@0.5.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.44-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.3 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.3 - -## 0.1.44-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.5.0-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.2 - - @backstage/catalog-model@1.4.3 - - @backstage/core-components@0.13.9-next.2 - - @backstage/core-plugin-api@1.8.1-next.1 - -## 0.1.44-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.9-next.1 - - @backstage/core-plugin-api@1.8.1-next.1 - - @backstage/plugin-catalog-react@1.9.2-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.5.0-next.0 - -## 0.1.44-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.8.1-next.0 - - @backstage/plugin-catalog-react@1.9.2-next.0 - - @backstage/core-components@0.13.9-next.0 - - @backstage/theme@0.5.0-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.42 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- fdb5e23602: Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0 - - @backstage/core-components@0.13.8 - - @backstage/core-plugin-api@1.8.0 - - @backstage/theme@0.4.4 - - @backstage/catalog-model@1.4.3 - -## 0.1.42-next.2 - -### Patch Changes - -- [#20842](https://github.com/backstage/backstage/pull/20842) [`fdb5e23602`](https://github.com/backstage/backstage/commit/fdb5e2360299c5faa30f4d4236fc548b94d37446) Thanks [@benjdlambert](https://github.com/benjdlambert)! - Import `MissingAnnotationEmptyState` from `@backstage/plugin-catalog-react` to remove the cyclical dependency - -- Updated dependencies - - @backstage/core-components@0.13.8-next.2 - - @backstage/plugin-catalog-react@1.9.0-next.2 - -## 0.1.42-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.9.0-next.1 - - @backstage/core-components@0.13.8-next.1 - - @backstage/catalog-model@1.4.3 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - -## 0.1.42-next.0 - -### Patch Changes - -- 6c2b872153: Add official support for React 18. -- Updated dependencies - - @backstage/core-components@0.13.7-next.0 - - @backstage/plugin-catalog-react@1.9.0-next.0 - - @backstage/core-plugin-api@1.8.0-next.0 - - @backstage/theme@0.4.4-next.0 - - @backstage/catalog-model@1.4.3 - -## 0.1.41 - -### Patch Changes - -- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`. -- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5 - - @backstage/core-plugin-api@1.7.0 - - @backstage/core-components@0.13.6 - - @backstage/catalog-model@1.4.3 - - @backstage/theme@0.4.3 - -## 0.1.41-next.2 - -### Patch Changes - -- Updated dependencies - - @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/theme@0.4.3-next.0 - -## 0.1.41-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.6-next.1 - - @backstage/plugin-catalog-react@1.8.5-next.1 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.1.41-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.5-next.0 - - @backstage/core-plugin-api@1.7.0-next.0 - - @backstage/core-components@0.13.6-next.0 - - @backstage/catalog-model@1.4.2 - - @backstage/theme@0.4.2 - -## 0.1.40 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4 - - @backstage/core-components@0.13.5 - - @backstage/catalog-model@1.4.2 - - @backstage/core-plugin-api@1.6.0 - - @backstage/theme@0.4.2 - -## 0.1.40-next.3 - -### Patch Changes - -- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds. -- Updated dependencies - - @backstage/catalog-model@1.4.2-next.2 - - @backstage/core-components@0.13.5-next.3 - - @backstage/core-plugin-api@1.6.0-next.3 - - @backstage/plugin-catalog-react@1.8.4-next.3 - - @backstage/theme@0.4.2-next.0 - -## 0.1.40-next.2 - -### Patch Changes - -- 8cec7664e146: Removed `@types/node` dependency -- Updated dependencies - - @backstage/core-components@0.13.5-next.2 - - @backstage/core-plugin-api@1.6.0-next.2 - - @backstage/plugin-catalog-react@1.8.4-next.2 - - @backstage/catalog-model@1.4.2-next.1 - - @backstage/theme@0.4.1 - -## 0.1.40-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.4-next.1 - - @backstage/core-components@0.13.5-next.1 - - @backstage/catalog-model@1.4.2-next.0 - - @backstage/core-plugin-api@1.6.0-next.1 - - @backstage/theme@0.4.1 - -## 0.1.39-next.0 - -### Patch Changes - -- 482bb5c0bbf8: Moved `@types/react` to be a regular dependency -- Updated dependencies - - @backstage/core-plugin-api@1.6.0-next.0 - - @backstage/core-components@0.13.5-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.3-next.0 - -## 0.1.37 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/core-components@0.13.4 - - @backstage/plugin-catalog-react@1.8.1 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.1.37-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.1-next.1 - -## 0.1.37-next.1 - -### Patch Changes - -- 12a8c94eda8d: Add package repository and homepage metadata -- Updated dependencies - - @backstage/catalog-model@1.4.1 - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.1-next.0 - -## 0.1.37-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.4-next.0 - - @backstage/core-plugin-api@1.5.3 - - @backstage/plugin-catalog-react@1.8.1-next.0 - - @backstage/catalog-model@1.4.1 - - @backstage/theme@0.4.1 - -## 0.1.36 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1 - - @backstage/plugin-catalog-react@1.8.0 - - @backstage/core-components@0.13.3 - - @backstage/core-plugin-api@1.5.3 - - @backstage/catalog-model@1.4.1 - -## 0.1.36-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.8.0-next.2 - - @backstage/theme@0.4.1-next.1 - - @backstage/core-plugin-api@1.5.3-next.1 - - @backstage/core-components@0.13.3-next.2 - - @backstage/catalog-model@1.4.1-next.0 - -## 0.1.36-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.1-next.0 - - @backstage/core-components@0.13.3-next.1 - - @backstage/core-plugin-api@1.5.3-next.0 - - @backstage/plugin-catalog-react@1.7.1-next.1 - -## 0.1.36-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.3-next.0 - - @backstage/catalog-model@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.1-next.0 - -## 0.1.35 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.5.2 - - @backstage/core-components@0.13.2 - - @backstage/theme@0.4.0 - - @backstage/plugin-catalog-react@1.7.0 - - @backstage/catalog-model@1.4.0 - -## 0.1.35-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.3 - - @backstage/catalog-model@1.4.0-next.1 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.3 - -## 0.1.35-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.4.0-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.2 - - @backstage/core-components@0.13.2-next.2 - - @backstage/core-plugin-api@1.5.2-next.0 - -## 0.1.35-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.2-next.1 - - @backstage/plugin-catalog-react@1.7.0-next.1 - - @backstage/catalog-model@1.4.0-next.0 - - @backstage/core-plugin-api@1.5.2-next.0 - - @backstage/theme@0.4.0-next.0 - -## 0.1.35-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.7.0-next.0 - - @backstage/theme@0.4.0-next.0 - - @backstage/core-components@0.13.2-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.1.34 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0 - - @backstage/plugin-catalog-react@1.6.0 - - @backstage/core-components@0.13.1 - - @backstage/catalog-model@1.3.0 - - @backstage/core-plugin-api@1.5.1 - -## 0.1.34-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/theme@0.3.0-next.0 - - @backstage/core-components@0.13.1-next.1 - - @backstage/plugin-catalog-react@1.6.0-next.2 - - @backstage/core-plugin-api@1.5.1 - -## 0.1.34-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.13.1-next.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/plugin-catalog-react@1.6.0-next.1 - -## 0.1.34-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.6.0-next.0 - - @backstage/core-components@0.13.0 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - - @backstage/theme@0.2.19 - -## 0.1.33 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.13.0 - - @backstage/plugin-catalog-react@1.5.0 - - @backstage/theme@0.2.19 - - @backstage/core-plugin-api@1.5.1 - - @backstage/catalog-model@1.3.0 - -## 0.1.33-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.5.0-next.3 - - @backstage/catalog-model@1.3.0-next.0 - - @backstage/core-components@0.13.0-next.3 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/theme@0.2.19-next.0 - -## 0.1.33-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.6-next.2 - - @backstage/plugin-catalog-react@1.4.1-next.2 - - @backstage/core-plugin-api@1.5.1-next.1 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.19-next.0 - -## 0.1.33-next.1 - -### Patch Changes - -- e0c6e8b9c3c: Update peer dependencies -- Updated dependencies - - @backstage/core-components@0.12.6-next.1 - - @backstage/core-plugin-api@1.5.1-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.1 - - @backstage/theme@0.2.19-next.0 - - @backstage/catalog-model@1.2.1 - -## 0.1.33-next.0 - -### Patch Changes - -- 8e00acb28db: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs) -- Updated dependencies - - @backstage/core-components@0.12.6-next.0 - - @backstage/plugin-catalog-react@1.4.1-next.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.1.32 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5 - - @backstage/plugin-catalog-react@1.4.0 - - @backstage/core-plugin-api@1.5.0 - - @backstage/catalog-model@1.2.1 - - @backstage/theme@0.2.18 - -## 0.1.32-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.5-next.2 - - @backstage/plugin-catalog-react@1.4.0-next.2 - - @backstage/core-plugin-api@1.5.0-next.2 - -## 0.1.32-next.1 - -### Patch Changes - -- 52b0022dab7: Updated dependency `msw` to `^1.0.0`. -- Updated dependencies - - @backstage/core-components@0.12.5-next.1 - - @backstage/core-plugin-api@1.4.1-next.1 - - @backstage/theme@0.2.18-next.0 - - @backstage/plugin-catalog-react@1.4.0-next.1 - - @backstage/catalog-model@1.2.1-next.1 - -## 0.1.32-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.4.0-next.0 - - @backstage/core-plugin-api@1.4.1-next.0 - - @backstage/catalog-model@1.2.1-next.0 - - @backstage/core-components@0.12.5-next.0 - - @backstage/theme@0.2.17 - -## 0.1.31 - -### Patch Changes - -- c51efce2a0: Update docs to always use `yarn add --cwd` for app & backend -- Updated dependencies - - @backstage/core-components@0.12.4 - - @backstage/catalog-model@1.2.0 - - @backstage/theme@0.2.17 - - @backstage/core-plugin-api@1.4.0 - - @backstage/plugin-catalog-react@1.3.0 - -## 0.1.31-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.2.0-next.1 - - @backstage/core-components@0.12.4-next.1 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.3.0-next.2 - -## 0.1.31-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.4-next.0 - - @backstage/plugin-catalog-react@1.3.0-next.1 - - @backstage/catalog-model@1.1.6-next.0 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - -## 0.1.31-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.3.0-next.0 - - @backstage/catalog-model@1.1.6-next.0 - -## 0.1.30 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5 - - @backstage/plugin-catalog-react@1.2.4 - - @backstage/core-components@0.12.3 - - @backstage/core-plugin-api@1.3.0 - - @backstage/theme@0.2.16 - -## 0.1.30-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.3.0-next.1 - - @backstage/plugin-catalog-react@1.2.4-next.2 - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.2 - - @backstage/theme@0.2.16 - -## 0.1.30-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.1 - - @backstage/core-components@0.12.3-next.1 - - @backstage/core-plugin-api@1.2.1-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.4-next.1 - -## 0.1.30-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.5-next.0 - - @backstage/plugin-catalog-react@1.2.4-next.0 - - @backstage/core-components@0.12.3-next.0 - - @backstage/core-plugin-api@1.2.0 - - @backstage/theme@0.2.16 - -## 0.1.29 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.2 - - @backstage/plugin-catalog-react@1.2.3 - -## 0.1.28 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.2.0 - - @backstage/core-components@0.12.1 - - @backstage/plugin-catalog-react@1.2.2 - - @backstage/catalog-model@1.1.4 - - @backstage/theme@0.2.16 - -## 0.1.28-next.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.4 - - @backstage/plugin-catalog-react@1.2.2-next.4 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - -## 0.1.28-next.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.3 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.2-next.3 - -## 0.1.28-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.2.0-next.2 - - @backstage/core-components@0.12.1-next.2 - - @backstage/plugin-catalog-react@1.2.2-next.2 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.1.28-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.1-next.1 - - @backstage/core-plugin-api@1.1.1-next.1 - - @backstage/plugin-catalog-react@1.2.2-next.1 - - @backstage/catalog-model@1.1.4-next.1 - - @backstage/theme@0.2.16 - -## 0.1.28-next.0 - -### Patch Changes - -- 3280711113: Updated dependency `msw` to `^0.49.0`. -- Updated dependencies - - @backstage/core-components@0.12.1-next.0 - - @backstage/core-plugin-api@1.1.1-next.0 - - @backstage/plugin-catalog-react@1.2.2-next.0 - - @backstage/catalog-model@1.1.4-next.0 - - @backstage/theme@0.2.16 - -## 0.1.27 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1 - - @backstage/core-components@0.12.0 - - @backstage/core-plugin-api@1.1.0 - - @backstage/catalog-model@1.1.3 - - @backstage/theme@0.2.16 - -## 0.1.27-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.12.0-next.1 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/theme@0.2.16 - - @backstage/plugin-catalog-react@1.2.1-next.1 - -## 0.1.27-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.1-next.0 - - @backstage/core-components@0.12.0-next.0 - - @backstage/core-plugin-api@1.1.0-next.0 - - @backstage/catalog-model@1.1.3-next.0 - - @backstage/theme@0.2.16 - -## 0.1.26 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2 - - @backstage/plugin-catalog-react@1.2.0 - - @backstage/core-components@0.11.2 - - @backstage/core-plugin-api@1.0.7 - - @backstage/theme@0.2.16 - -## 0.1.26-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.2 - - @backstage/catalog-model@1.1.2-next.2 - - @backstage/core-components@0.11.2-next.2 - - @backstage/core-plugin-api@1.0.7-next.2 - - @backstage/theme@0.2.16 - -## 0.1.26-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.2.0-next.1 - - @backstage/core-components@0.11.2-next.1 - - @backstage/core-plugin-api@1.0.7-next.1 - - @backstage/catalog-model@1.1.2-next.1 - - @backstage/theme@0.2.16 - -## 0.1.26-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.2-next.0 - - @backstage/core-components@0.11.2-next.0 - - @backstage/plugin-catalog-react@1.1.5-next.0 - - @backstage/core-plugin-api@1.0.7-next.0 - - @backstage/theme@0.2.16 - -## 0.1.25 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- 7d47def9c4: Removed dependency on `@types/jest`. -- d669d89206: Minor API signatures cleanup -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-components@0.11.1 - - @backstage/core-plugin-api@1.0.6 - - @backstage/plugin-catalog-react@1.1.4 - - @backstage/catalog-model@1.1.1 - -## 0.1.25-next.3 - -### Patch Changes - -- 7d47def9c4: Removed dependency on `@types/jest`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.4-next.2 - - @backstage/catalog-model@1.1.1-next.0 - - @backstage/core-components@0.11.1-next.3 - - @backstage/core-plugin-api@1.0.6-next.3 - -## 0.1.25-next.2 - -### Patch Changes - -- 667d917488: Updated dependency `msw` to `^0.47.0`. -- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`. -- Updated dependencies - - @backstage/core-components@0.11.1-next.2 - - @backstage/core-plugin-api@1.0.6-next.2 - -## 0.1.25-next.1 - -### Patch Changes - -- 817f3196f6: Updated React Router dependencies to be peer dependencies. -- d669d89206: Minor API signatures cleanup -- Updated dependencies - - @backstage/core-components@0.11.1-next.1 - - @backstage/core-plugin-api@1.0.6-next.1 - - @backstage/plugin-catalog-react@1.1.4-next.1 - -## 0.1.25-next.0 - -### Patch Changes - -- bf5e9030eb: Updated dependency `msw` to `^0.45.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.6-next.0 - - @backstage/core-components@0.11.1-next.0 - - @backstage/plugin-catalog-react@1.1.4-next.0 - -## 0.1.24 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.11.0 - - @backstage/core-plugin-api@1.0.5 - - @backstage/plugin-catalog-react@1.1.3 - -## 0.1.24-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.3-next.2 - - @backstage/core-components@0.11.0-next.2 - -## 0.1.24-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@1.0.5-next.0 - - @backstage/plugin-catalog-react@1.1.3-next.0 - - @backstage/core-components@0.10.1-next.0 - -## 0.1.23 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`. -- Updated dependencies - - @backstage/core-components@0.10.0 - - @backstage/catalog-model@1.1.0 - - @backstage/core-plugin-api@1.0.4 - - @backstage/plugin-catalog-react@1.1.2 - - @backstage/theme@0.2.16 - -## 0.1.23-next.3 - -### Patch Changes - -- a70869e775: Updated dependency `msw` to `^0.43.0`. -- Updated dependencies - - @backstage/core-plugin-api@1.0.4-next.0 - - @backstage/core-components@0.10.0-next.3 - - @backstage/catalog-model@1.1.0-next.3 - - @backstage/plugin-catalog-react@1.1.2-next.3 - -## 0.1.23-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.10.0-next.2 - - @backstage/catalog-model@1.1.0-next.2 - - @backstage/theme@0.2.16-next.1 - - @backstage/plugin-catalog-react@1.1.2-next.2 - -## 0.1.23-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.6-next.1 - - @backstage/catalog-model@1.1.0-next.1 - - @backstage/theme@0.2.16-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.1 - -## 0.1.23-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.1.0-next.0 - - @backstage/core-components@0.9.6-next.0 - - @backstage/plugin-catalog-react@1.1.2-next.0 - -## 0.1.22 - -### Patch Changes - -- 6387b7a98a: Add export for `isAllureReportAvailable` and `ALLURE_PROJECT_ID_ANNOTATION` so it can be used outside of plugin -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1 - - @backstage/core-components@0.9.5 - - @backstage/core-plugin-api@1.0.3 - - @backstage/catalog-model@1.0.3 - -## 0.1.22-next.1 - -### Patch Changes - -- 8f7b1835df: Updated dependency `msw` to `^0.41.0`. -- Updated dependencies - - @backstage/core-components@0.9.5-next.1 - - @backstage/core-plugin-api@1.0.3-next.0 - - @backstage/catalog-model@1.0.3-next.0 - - @backstage/plugin-catalog-react@1.1.1-next.1 - -## 0.1.22-next.0 - -### Patch Changes - -- 6387b7a98a: Add export for `isAllureReportAvailable` and `ALLURE_PROJECT_ID_ANNOTATION` so it can be used outside of plugin -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.1-next.0 - - @backstage/core-components@0.9.5-next.0 - -## 0.1.21 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4 - - @backstage/core-plugin-api@1.0.2 - - @backstage/plugin-catalog-react@1.1.0 - - @backstage/catalog-model@1.0.2 - -## 0.1.21-next.2 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.1 - - @backstage/plugin-catalog-react@1.1.0-next.2 - - @backstage/catalog-model@1.0.2-next.0 - - @backstage/core-plugin-api@1.0.2-next.1 - -## 0.1.21-next.1 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.9.4-next.0 - - @backstage/core-plugin-api@1.0.2-next.0 - - @backstage/plugin-catalog-react@1.1.0-next.1 - -## 0.1.21-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@1.1.0-next.0 - -## 0.1.20 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/plugin-catalog-react@1.0.1 - - @backstage/catalog-model@1.0.1 - - @backstage/core-components@0.9.3 - - @backstage/core-plugin-api@1.0.1 - -## 0.1.20-next.1 - -### Patch Changes - -- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0 -- 230ad0826f: Bump to using `@types/node` v16 -- Updated dependencies - - @backstage/core-components@0.9.3-next.2 - - @backstage/core-plugin-api@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.3 - -## 0.1.20-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@1.0.1-next.0 - - @backstage/plugin-catalog-react@1.0.1-next.0 - - @backstage/core-components@0.9.3-next.0 - -## 0.1.19 - -### Patch Changes - -- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3 -- Updated dependencies - - @backstage/core-components@0.9.2 - - @backstage/core-plugin-api@1.0.0 - - @backstage/plugin-catalog-react@1.0.0 - - @backstage/catalog-model@1.0.0 - -## 0.1.18 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0 - - @backstage/core-components@0.9.1 - - @backstage/catalog-model@0.13.0 - -## 0.1.18-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.9.0-next.0 - - @backstage/core-components@0.9.1-next.0 - - @backstage/catalog-model@0.13.0-next.0 - -## 0.1.17 - -### Patch Changes - -- Updated dependencies - - @backstage/catalog-model@0.12.0 - - @backstage/core-components@0.9.0 - - @backstage/plugin-catalog-react@0.8.0 - - @backstage/core-plugin-api@0.8.0 - -## 0.1.16 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.10 - - @backstage/plugin-catalog-react@0.7.0 - - @backstage/catalog-model@0.11.0 - - @backstage/core-plugin-api@0.7.0 - -## 0.1.15 - -### Patch Changes - -- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5 -- c77c5c7eb6: Added `backstage.role` to `package.json` -- Updated dependencies - - @backstage/core-components@0.8.9 - - @backstage/core-plugin-api@0.6.1 - - @backstage/plugin-catalog-react@0.6.15 - - @backstage/catalog-model@0.10.0 - - @backstage/theme@0.2.15 - -## 0.1.14 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8 - - @backstage/plugin-catalog-react@0.6.14 - -## 0.1.14-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.8-next.0 - - @backstage/plugin-catalog-react@0.6.14-next.0 - -## 0.1.13 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7 - - @backstage/plugin-catalog-react@0.6.13 - -## 0.1.13-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.7-next.0 - - @backstage/plugin-catalog-react@0.6.13-next.0 - -## 0.1.12 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5 - - @backstage/core-plugin-api@0.6.0 - - @backstage/plugin-catalog-react@0.6.12 - - @backstage/catalog-model@0.9.10 - -## 0.1.12-next.0 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.5-next.0 - - @backstage/core-plugin-api@0.6.0-next.0 - - @backstage/plugin-catalog-react@0.6.12-next.0 - - @backstage/catalog-model@0.9.10-next.0 - -## 0.1.11 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.8.4 - - @backstage/core-plugin-api@0.5.0 - - @backstage/plugin-catalog-react@0.6.11 - - @backstage/catalog-model@0.9.9 - -## 0.1.10 - -### Patch Changes - -- 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead. -- Updated dependencies - - @backstage/core-plugin-api@0.4.1 - - @backstage/plugin-catalog-react@0.6.10 - - @backstage/core-components@0.8.3 - -## 0.1.9 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@0.4.0 - - @backstage/plugin-catalog-react@0.6.8 - - @backstage/core-components@0.8.2 - -## 0.1.8 - -### Patch Changes - -- cd450844f6: Moved React dependencies to `peerDependencies` and allow both React v16 and v17 to be used. -- Updated dependencies - - @backstage/core-components@0.8.0 - - @backstage/core-plugin-api@0.3.0 - - @backstage/plugin-catalog-react@0.6.5 - -## 0.1.7 - -### Patch Changes - -- a125278b81: Refactor out the deprecated path and icon from RouteRefs -- Updated dependencies - - @backstage/catalog-model@0.9.7 - - @backstage/plugin-catalog-react@0.6.4 - - @backstage/core-components@0.7.4 - - @backstage/core-plugin-api@0.2.0 - -## 0.1.6 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.6.0 - - @backstage/core-components@0.7.0 - - @backstage/theme@0.2.11 - -## 0.1.5 - -### Patch Changes - -- 81a41ec249: Added a `name` key to all extensions in order to improve Analytics API metadata. -- Updated dependencies - - @backstage/core-components@0.6.1 - - @backstage/core-plugin-api@0.1.10 - - @backstage/plugin-catalog-react@0.5.2 - - @backstage/catalog-model@0.9.4 - -## 0.1.4 - -### Patch Changes - -- Updated dependencies - - @backstage/core-plugin-api@0.1.9 - - @backstage/core-components@0.6.0 - - @backstage/plugin-catalog-react@0.5.1 - -## 0.1.3 - -### Patch Changes - -- Updated dependencies - - @backstage/core-components@0.5.0 - - @backstage/plugin-catalog-react@0.5.0 - - @backstage/catalog-model@0.9.3 - -## 0.1.2 - -### Patch Changes - -- 9f1362dcc1: Upgrade `@material-ui/lab` to `4.0.0-alpha.57`. -- Updated dependencies - - @backstage/core-components@0.4.2 - - @backstage/plugin-catalog-react@0.4.6 - - @backstage/core-plugin-api@0.1.8 - -## 0.1.1 - -### Patch Changes - -- Updated dependencies - - @backstage/plugin-catalog-react@0.4.5 - - @backstage/core-components@0.4.0 - - @backstage/catalog-model@0.9.1 diff --git a/plugins/allure/README.md b/plugins/allure/README.md deleted file mode 100644 index 3eec6a4a4f..0000000000 --- a/plugins/allure/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Deprecated - -This package has been moved to the [backstage-community/plugins](https://github.com/backstage/community-plugins) repository. Migrate to using `@backstage-community/plugin-allure` instead. diff --git a/plugins/allure/api-report.md b/plugins/allure/api-report.md deleted file mode 100644 index 69bb740271..0000000000 --- a/plugins/allure/api-report.md +++ /dev/null @@ -1,29 +0,0 @@ -## API Report File for "@backstage/plugin-allure" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts -/// - -import { BackstagePlugin } from '@backstage/core-plugin-api'; -import { Entity } from '@backstage/catalog-model'; -import { JSX as JSX_2 } from 'react'; -import { RouteRef } from '@backstage/core-plugin-api'; - -// @public (undocumented) -export const ALLURE_PROJECT_ID_ANNOTATION = 'qameta.io/allure-project'; - -// @public (undocumented) -export const allurePlugin: BackstagePlugin< - { - root: RouteRef; - }, - {} ->; - -// @public (undocumented) -export const EntityAllureReportContent: () => JSX_2.Element; - -// @public (undocumented) -export const isAllureReportAvailable: (entity: Entity) => boolean; -``` diff --git a/plugins/allure/catalog-info.yaml b/plugins/allure/catalog-info.yaml deleted file mode 100644 index 4ea1238b30..0000000000 --- a/plugins/allure/catalog-info.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: backstage-plugin-allure - title: '@backstage/plugin-allure' - description: A Backstage plugin that integrates with Allure -spec: - lifecycle: experimental - type: backstage-frontend-plugin - owner: maintainers diff --git a/plugins/allure/dev/example-entity.yaml b/plugins/allure/dev/example-entity.yaml deleted file mode 100644 index 58a9ffd110..0000000000 --- a/plugins/allure/dev/example-entity.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: backstage.io/v1alpha1 -kind: Component -metadata: - name: allure-example-service - description: Allure Example Service - annotations: - qameta.io/allure-project: sample -spec: - type: service - lifecycle: experimental - owner: team-a diff --git a/plugins/allure/dev/index.tsx b/plugins/allure/dev/index.tsx deleted file mode 100644 index d697febd56..0000000000 --- a/plugins/allure/dev/index.tsx +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { createDevApp } from '@backstage/dev-utils'; -import { EntityAllureReportContent } from '../src/plugin'; -import { Content, Header, Page } from '@backstage/core-components'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; -import { Entity } from '@backstage/catalog-model'; - -import exampleEntity from './example-entity.yaml'; -import { allureApiRef } from '../src/api'; - -createDevApp() - .registerApi({ - api: allureApiRef, - deps: {}, - factory: () => - ({ - async getReportUrl(projectId: string) { - return Promise.resolve( - // Follow the instructions from https://github.com/fescobar/allure-docker-service-ui - // to setup Allure service locally - `http://localhost:5050/allure-docker-service/projects/${projectId}/reports/latest/index.html`, - ); - }, - } as unknown as typeof allureApiRef.T), - }) - .addPage({ - element: ( - -
- - - - - - - ), - title: 'Allure Report', - path: '/allure', - }) - .render(); diff --git a/plugins/allure/knip-report.md b/plugins/allure/knip-report.md deleted file mode 100644 index ba9c1dddc5..0000000000 --- a/plugins/allure/knip-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# Knip report - -## Unused devDependencies (2) - -| Name | Location | Severity | -| :--------------------- | :----------- | :------- | -| @testing-library/react | package.json | error | -| @testing-library/dom | package.json | error | - diff --git a/plugins/allure/package.json b/plugins/allure/package.json deleted file mode 100644 index c44f32baed..0000000000 --- a/plugins/allure/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "name": "@backstage/plugin-allure", - "version": "0.1.50", - "description": "A Backstage plugin that integrates with Allure", - "backstage": { - "role": "frontend-plugin", - "moved": "@backstage-community/plugin-allure" - }, - "publishConfig": { - "access": "public", - "main": "dist/index.esm.js", - "types": "dist/index.d.ts" - }, - "homepage": "https://backstage.io", - "repository": { - "type": "git", - "url": "https://github.com/backstage/backstage", - "directory": "plugins/allure" - }, - "license": "Apache-2.0", - "sideEffects": false, - "main": "src/index.ts", - "types": "src/index.ts", - "files": [ - "dist" - ], - "scripts": { - "build": "backstage-cli package build", - "clean": "backstage-cli package clean", - "lint": "backstage-cli package lint", - "prepack": "backstage-cli package prepack", - "postpack": "backstage-cli package postpack", - "start": "backstage-cli package start", - "test": "backstage-cli package test" - }, - "dependencies": { - "@backstage/catalog-model": "workspace:^", - "@backstage/core-components": "workspace:^", - "@backstage/core-plugin-api": "workspace:^", - "@backstage/plugin-catalog-react": "workspace:^", - "@types/react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-use": "^17.2.4" - }, - "devDependencies": { - "@backstage/cli": "workspace:^", - "@backstage/dev-utils": "workspace:^", - "@backstage/test-utils": "workspace:^", - "@testing-library/dom": "^10.0.0", - "@testing-library/jest-dom": "^6.0.0", - "@testing-library/react": "^15.0.0", - "msw": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.13.1 || ^17.0.0 || ^18.0.0", - "react-router-dom": "6.0.0-beta.0 || ^6.3.0" - }, - "configSchema": { - "$schema": "https://backstage.io/schema/config-v1", - "title": "@backstage/allure", - "type": "object", - "properties": { - "allure": { - "type": "object", - "properties": { - "baseUrl": { - "type": "string", - "visibility": "frontend" - } - } - } - } - }, - "deprecated": "This package has been moved to the backstage/community-plugins repository. You should migrate to using @backstage-community/plugin-allure instead." -} diff --git a/plugins/allure/src/api/AllureApi.ts b/plugins/allure/src/api/AllureApi.ts deleted file mode 100644 index a926da03d0..0000000000 --- a/plugins/allure/src/api/AllureApi.ts +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { createApiRef } from '@backstage/core-plugin-api'; - -export type AllureApi = { - getReportUrl(projectId: string): Promise; -}; - -export const allureApiRef = createApiRef({ - id: 'allure-api', -}); diff --git a/plugins/allure/src/api/AllureApiClient.ts b/plugins/allure/src/api/AllureApiClient.ts deleted file mode 100644 index 698713c837..0000000000 --- a/plugins/allure/src/api/AllureApiClient.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ConfigApi } from '@backstage/core-plugin-api'; -import { AllureApi } from './AllureApi'; - -export class AllureApiClient implements AllureApi { - readonly configApi: ConfigApi; - - constructor(options: { configApi: ConfigApi }) { - this.configApi = options.configApi; - } - - async getReportUrl(projectId: string): Promise { - const baseUrl = this.configApi.getString('allure.baseUrl'); - return `${baseUrl}/projects/${projectId}/reports/latest/index.html`; - } -} diff --git a/plugins/allure/src/api/index.ts b/plugins/allure/src/api/index.ts deleted file mode 100644 index 1c1adb1db2..0000000000 --- a/plugins/allure/src/api/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export { allureApiRef } from './AllureApi'; -export { AllureApiClient } from './AllureApiClient'; diff --git a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx b/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx deleted file mode 100644 index a21ecbe10e..0000000000 --- a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.test.tsx +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { AllureReportComponent } from './AllureReportComponent'; -import { rest } from 'msw'; -import { setupServer } from 'msw/node'; -import { - setupRequestMockHandlers, - renderInTestApp, -} from '@backstage/test-utils'; -import { EntityProvider } from '@backstage/plugin-catalog-react'; - -describe('ExampleComponent', () => { - const server = setupServer(); - // Enable sane handlers for network requests - setupRequestMockHandlers(server); - - // setup mock response - beforeEach(() => { - server.use( - rest.get('/*', (_, res, ctx) => res(ctx.status(200), ctx.json({}))), - ); - }); - - it('should render', async () => { - const rendered = await renderInTestApp( - - - , - ); - expect(rendered.getByText('Missing Annotation')).toBeInTheDocument(); - }); -}); diff --git a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx b/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx deleted file mode 100644 index ca59dc53fa..0000000000 --- a/plugins/allure/src/components/AllureReportComponent/AllureReportComponent.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2021 The Backstage Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import React from 'react'; -import { useApi } from '@backstage/core-plugin-api'; -import { allureApiRef } from '../../api'; -import { - useEntity, - MissingAnnotationEmptyState, -} from '@backstage/plugin-catalog-react'; -import { - ALLURE_PROJECT_ID_ANNOTATION, - isAllureReportAvailable, - getAllureProjectId, -} from '../annotationHelpers'; -import { Progress } from '@backstage/core-components'; -import useAsync from 'react-use/esm/useAsync'; -import { Entity } from '@backstage/catalog-model'; - -const AllureReport = (props: { entity: Entity }) => { - const allureApi = useApi(allureApiRef); - - const allureProjectId = getAllureProjectId(props.entity); - const { value, loading } = useAsync(async () => { - const url = await allureApi.getReportUrl(allureProjectId); - return url; - }); - - if (loading) { - return ; - } - return ( -