Skip to content

Commit

Permalink
ci: introduce knip for checking unused packages
Browse files Browse the repository at this point in the history
fixes backstage#21948

Signed-off-by: Heikki Hellgren <[email protected]>
  • Loading branch information
drodil committed Feb 8, 2024
1 parent 216fce4 commit 60a68f1
Show file tree
Hide file tree
Showing 270 changed files with 5,225 additions and 33 deletions.
253 changes: 253 additions & 0 deletions .changeset/friendly-terms-love.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
---
'@backstage/plugin-scaffolder-backend-module-confluence-to-markdown': patch
'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': patch
'@backstage/plugin-search-backend-module-stack-overflow-collator': patch
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch
'@backstage/plugin-permission-backend-module-allow-all-policy': patch
'@backstage/plugin-auth-backend-module-oauth2-proxy-provider': patch
'@backstage/plugin-auth-backend-module-vmware-cloud-provider': patch
'@backstage/plugin-catalog-backend-module-backstage-openapi': patch
'@backstage/plugin-catalog-backend-module-bitbucket-server': patch
'@backstage/plugin-auth-backend-module-atlassian-provider': patch
'@backstage/plugin-auth-backend-module-microsoft-provider': patch
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
'@backstage/plugin-scaffolder-backend-module-cookiecutter': patch
'@backstage/plugin-auth-backend-module-pinniped-provider': patch
'@backstage/plugin-events-backend-module-bitbucket-cloud': patch
'@backstage/plugin-auth-backend-module-gcp-iap-provider': patch
'@backstage/plugin-auth-backend-module-github-provider': patch
'@backstage/plugin-auth-backend-module-gitlab-provider': patch
'@backstage/plugin-auth-backend-module-google-provider': patch
'@backstage/plugin-auth-backend-module-oauth2-provider': patch
'@backstage/plugin-scaffolder-backend-module-bitbucket': patch
'@backstage/plugin-search-backend-module-elasticsearch': patch
'@backstage/plugin-tech-insights-backend-module-jsonfc': patch
'@backstage/plugin-catalog-backend-module-unprocessed': patch
'@backstage/plugin-analytics-module-newrelic-browser': patch
'@backstage/plugin-auth-backend-module-okta-provider': patch
'@backstage/plugin-catalog-backend-module-github-org': patch
'@backstage/plugin-catalog-backend-module-bitbucket': patch
'@backstage/plugin-scaffolder-backend-module-gerrit': patch
'@backstage/plugin-scaffolder-backend-module-github': patch
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
'@backstage/plugin-scaffolder-backend-module-sentry': patch
'@backstage/plugin-scaffolder-backend-module-yeoman': patch
'@backstage/plugin-catalog-backend-module-puppetdb': patch
'@backstage/plugin-scaffolder-backend-module-azure': patch
'@backstage/plugin-scaffolder-backend-module-rails': patch
'@backstage/plugin-api-docs-module-protoc-gen-doc': patch
'@backstage/plugin-catalog-backend-module-msgraph': patch
'@backstage/plugin-catalog-backend-module-openapi': patch
'@backstage/plugin-search-backend-module-techdocs': patch
'@backstage/plugin-techdocs-module-addons-contrib': patch
'@backstage/plugin-catalog-backend-module-gerrit': patch
'@backstage/plugin-catalog-backend-module-github': patch
'@backstage/plugin-catalog-backend-module-gitlab': patch
'@backstage/plugin-cicd-statistics-module-gitlab': patch
'@backstage/plugin-events-backend-module-aws-sqs': patch
'@backstage/plugin-search-backend-module-catalog': patch
'@backstage/plugin-search-backend-module-explore': patch
'@backstage/plugin-catalog-backend-module-azure': patch
'@backstage/plugin-catalog-unprocessed-entities': patch
'@backstage/plugin-events-backend-module-gerrit': patch
'@backstage/plugin-events-backend-module-github': patch
'@backstage/plugin-events-backend-module-gitlab': patch
'@backstage/plugin-catalog-backend-module-ldap': patch
'@backstage/plugin-events-backend-module-azure': patch
'@backstage/plugin-catalog-backend-module-aws': patch
'@backstage/plugin-catalog-backend-module-gcp': patch
'@backstage/plugin-github-pull-requests-board': patch
'@backstage/plugin-techdocs-addons-test-utils': patch
'@backstage/plugin-events-backend-test-utils': patch
'@backstage/plugin-search-backend-module-pg': patch
'@backstage/plugin-entity-feedback-backend': patch
'@backstage/backend-openapi-utils': patch
'@backstage/plugin-bitbucket-cloud-common': patch
'@backstage/plugin-entity-feedback-common': patch
'@backstage/plugin-stack-overflow-backend': patch
'@backstage/integration-aws-node': patch
'@backstage/plugin-code-coverage-backend': patch
'@backstage/plugin-tech-insights-backend': patch
'@backstage/plugin-user-settings-backend': patch
'@backstage/frontend-plugin-api': patch
'@backstage/frontend-test-utils': patch
'@backstage/plugin-analytics-module-ga4': patch
'@backstage/plugin-azure-devops-backend': patch
'@backstage/plugin-cost-insights-common': patch
'@backstage/plugin-tech-insights-common': patch
'@backstage/backend-plugin-api': patch
'@backstage/backend-test-utils': patch
'@backstage/plugin-analytics-module-ga': patch
'@backstage/plugin-azure-devops-common': patch
'@backstage/plugin-azure-sites-backend': patch
'@backstage/plugin-git-release-manager': patch
'@backstage/plugin-search-backend-node': patch
'@backstage/backend-dev-utils': patch
'@backstage/integration-react': patch
'@backstage/release-manifests': patch
'@backstage/plugin-azure-sites-common': patch
'@backstage/plugin-github-deployments': patch
'@backstage/plugin-kubernetes-backend': patch
'@backstage/plugin-kubernetes-cluster': patch
'@backstage/plugin-lighthouse-backend': patch
'@backstage/plugin-microsoft-calendar': patch
'@backstage/plugin-newrelic-dashboard': patch
'@backstage/plugin-permission-backend': patch
'@backstage/plugin-scaffolder-backend': patch
'@backstage/plugin-tech-insights-node': patch
'@backstage/backend-defaults': patch
'@backstage/frontend-app-api': patch
'@backstage/plugin-entity-validation': patch
'@backstage/plugin-kubernetes-common': patch
'@backstage/plugin-lighthouse-common': patch
'@backstage/plugin-permission-common': patch
'@backstage/plugin-scaffolder-common': patch
'@backstage/plugin-sonarqube-backend': patch
'@backstage/backend-app-api': patch
'@backstage/core-compat-api': patch
'@backstage/core-components': patch
'@backstage/core-plugin-api': patch
'@backstage/plugin-airbrake-backend': patch
'@backstage/plugin-devtools-backend': patch
'@backstage/plugin-kubernetes-react': patch
'@backstage/plugin-linguist-backend': patch
'@backstage/plugin-periskop-backend': patch
'@backstage/plugin-permission-react': patch
'@backstage/plugin-playlist-backend': patch
'@backstage/plugin-scaffolder-react': patch
'@backstage/plugin-techdocs-backend': patch
'@backstage/backend-common': patch
'@backstage/catalog-client': patch
'@backstage/e2e-test-utils': patch
'@backstage/version-bridge': patch
'@backstage/plugin-apollo-explorer': patch
'@backstage/plugin-catalog-backend': patch
'@backstage/plugin-cicd-statistics': patch
'@backstage/plugin-devtools-common': patch
'@backstage/plugin-entity-feedback': patch
'@backstage/plugin-explore-backend': patch
'@backstage/plugin-gitops-profiles': patch
'@backstage/plugin-graphql-voyager': patch
'@backstage/plugin-jenkins-backend': patch
'@backstage/plugin-kubernetes-node': patch
'@backstage/plugin-linguist-common': patch
'@backstage/plugin-permission-node': patch
'@backstage/plugin-playlist-common': patch
'@backstage/plugin-rollbar-backend': patch
'@backstage/plugin-scaffolder-node': patch
'@backstage/plugin-sonarqube-react': patch
'@backstage/backend-tasks': patch
'@backstage/catalog-model': patch
'@backstage/config-loader': patch
'@backstage/eslint-plugin': patch
'@backstage/plugin-apache-airflow': patch
'@backstage/plugin-badges-backend': patch
'@backstage/plugin-bazaar-backend': patch
'@backstage/plugin-catalog-common': patch
'@backstage/plugin-catalog-import': patch
'@backstage/plugin-events-backend': patch
'@backstage/plugin-explore-common': patch
'@backstage/plugin-github-actions': patch
'@backstage/plugin-jenkins-common': patch
'@backstage/plugin-octopus-deploy': patch
'@backstage/plugin-search-backend': patch
'@backstage/plugin-splunk-on-call': patch
'@backstage/plugin-stack-overflow': patch
'@backstage/plugin-techdocs-react': patch
'@backstage/app-defaults': patch
'@backstage/core-app-api': patch
'@techdocs/cli': patch
'@backstage/plugin-catalog-graph': patch
'@backstage/plugin-catalog-react': patch
'@backstage/plugin-code-coverage': patch
'@backstage/plugin-config-schema': patch
'@backstage/plugin-cost-insights': patch
'@backstage/plugin-explore-react': patch
'@backstage/plugin-github-issues': patch
'@backstage/plugin-kafka-backend': patch
'@backstage/plugin-nomad-backend': patch
'@backstage/plugin-proxy-backend': patch
'@backstage/plugin-search-common': patch
'@backstage/plugin-tech-insights': patch
'@backstage/plugin-techdocs-node': patch
'@backstage/plugin-user-settings': patch
'@backstage/plugin-vault-backend': patch
'@backstage/integration': patch
'@backstage/plugin-auth-backend': patch
'@backstage/plugin-azure-devops': patch
'@backstage/plugin-catalog-node': patch
'@backstage/plugin-code-climate': patch
'@backstage/plugin-gcp-projects': patch
'@backstage/plugin-search-react': patch
'@backstage/plugin-todo-backend': patch
'@backstage/cli-common': patch
'@backstage/create-app': patch
'@backstage/repo-tools': patch
'@backstage/test-utils': patch
'@backstage/plugin-adr-backend': patch
'@backstage/plugin-app-backend': patch
'@backstage/plugin-azure-sites': patch
'@backstage/plugin-events-node': patch
'@backstage/plugin-firehydrant': patch
'@backstage/dev-utils': patch
'@backstage/plugin-adr-common': patch
'@backstage/plugin-cloudbuild': patch
'@backstage/plugin-home-react': patch
'@backstage/plugin-kubernetes': patch
'@backstage/plugin-lighthouse': patch
'@backstage/plugin-scaffolder': patch
'@backstage/plugin-stackstorm': patch
'@backstage/plugin-tech-radar': patch
'@backstage/plugin-vault-node': patch
'@backstage/cli-node': patch
'@backstage/codemods': patch
'@backstage/plugin-auth-node': patch
'@backstage/plugin-codescene': patch
'@backstage/plugin-dynatrace': patch
'@backstage/plugin-gcalendar': patch
'@backstage/plugin-org-react': patch
'@backstage/plugin-pagerduty': patch
'@backstage/plugin-shortcuts': patch
'@backstage/plugin-sonarqube': patch
'@backstage/plugin-xcmetrics': patch
'@backstage/plugin-airbrake': patch
'@backstage/plugin-api-docs': patch
'@backstage/plugin-app-node': patch
'@backstage/plugin-circleci': patch
'@backstage/plugin-devtools': patch
'@backstage/plugin-graphiql': patch
'@backstage/plugin-linguist': patch
'@backstage/plugin-newrelic': patch
'@backstage/plugin-opencost': patch
'@backstage/plugin-periskop': patch
'@backstage/plugin-playlist': patch
'@backstage/plugin-puppetdb': patch
'@backstage/plugin-techdocs': patch
'@backstage/config': patch
'@backstage/errors': patch
'@backstage/plugin-bitrise': patch
'@backstage/plugin-catalog': patch
'@backstage/plugin-explore': patch
'@backstage/plugin-jenkins': patch
'@backstage/plugin-rollbar': patch
'@backstage/theme': patch
'@backstage/types': patch
'@backstage/plugin-allure': patch
'@backstage/plugin-badges': patch
'@backstage/plugin-bazaar': patch
'@backstage/plugin-search': patch
'@backstage/plugin-sentry': patch
'@backstage/plugin-fossa': patch
'@backstage/plugin-ilert': patch
'@backstage/plugin-kafka': patch
'@backstage/plugin-nomad': patch
'@backstage/plugin-vault': patch
'@backstage/cli': patch
'@backstage/plugin-gocd': patch
'@backstage/plugin-home': patch
'@backstage/plugin-todo': patch
'@backstage/plugin-adr': patch
'@backstage/plugin-org': patch
---

Introduced `knip` to the `api-reports` command, which generates a `knip-report.md` file for your packages with dependency warnings, if any.
1 change: 1 addition & 0 deletions .github/vale/config/vocabularies/Backstage/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ Kaswell
keepalive
Keyv
Knex
knip
Koyeb
KPIs
Kuang
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ coverage
templates
api-report.md
api-report-*.md
knip-report.md
cli-report.md
plugins/scaffolder-backend/sample-templates
.vscode
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
"eslint-plugin-testing-library": "^6.0.0",
"fs-extra": "10.1.0",
"husky": "^9.0.0",
"knip": "^3.12.0",
"lint-staged": "^15.0.0",
"minimist": "^1.2.5",
"node-gyp": "^10.0.0",
Expand Down
11 changes: 11 additions & 0 deletions packages/app-defaults/knip-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Knip report

## Unused devDependencies (4)

| Name | Location |
|:--------------------------|:-------------|
| @backstage/cli | package.json |
| @backstage/test-utils | package.json |
| @testing-library/react | package.json |
| @testing-library/jest-dom | package.json |

10 changes: 10 additions & 0 deletions packages/app-next-example-plugin/knip-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Knip report

## Unused devDependencies (3)

| Name | Location |
|:---------------|:-------------|
| msw | package.json |
| cross-fetch | package.json |
| @backstage/cli | package.json |

83 changes: 83 additions & 0 deletions packages/app-next/knip-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Knip report

## Unused dependencies (63)

| Name | Location |
|:-------------------------------------------------|:-------------|
| lodash | package.json |
| history | package.json |
| react-use | package.json |
| @octokit/rest | package.json |
| zen-observable | package.json |
| @material-ui/lab | package.json |
| @backstage/theme | package.json |
| @backstage/plugin-org | package.json |
| @backstage/plugin-adr | package.json |
| @backstage/plugin-todo | package.json |
| @backstage/plugin-gocd | package.json |
| app-next-example-plugin | package.json |
| @backstage/plugin-kafka | package.json |
| @backstage/app-defaults | package.json |
| @backstage/plugin-sentry | package.json |
| @backstage/plugin-search | package.json |
| @backstage/plugin-badges | package.json |
| @backstage/catalog-model | package.json |
| @backstage/plugin-rollbar | package.json |
| @backstage/plugin-jenkins | package.json |
| @backstage/plugin-explore | package.json |
| @backstage/plugin-catalog | package.json |
| @circleci/backstage-plugin | package.json |
| @backstage/plugin-puppetdb | package.json |
| @backstage/plugin-playlist | package.json |
| @backstage/plugin-newrelic | package.json |
| @backstage/plugin-devtools | package.json |
| @backstage/plugin-api-docs | package.json |
| @backstage/plugin-airbrake | package.json |
| @backstage/plugin-shortcuts | package.json |
| @backstage/plugin-dynatrace | package.json |
| @backstage/plugin-stackstorm | package.json |
| @backstage/plugin-scaffolder | package.json |
| @backstage/plugin-lighthouse | package.json |
| @backstage/plugin-kubernetes | package.json |
| @backstage/plugin-cloudbuild | package.json |
| @backstage/plugin-azure-sites | package.json |
| @backstage/plugin-search-react | package.json |
| @backstage/plugin-gcp-projects | package.json |
| @backstage/plugin-azure-devops | package.json |
| @backstage/plugin-tech-insights | package.json |
| @backstage/plugin-search-common | package.json |
| @backstage/plugin-cost-insights | package.json |
| @backstage/plugin-code-coverage | package.json |
| @backstage/plugin-catalog-react | package.json |
| @backstage/plugin-catalog-graph | package.json |
| @backstage/plugin-techdocs-react | package.json |
| @backstage/plugin-octopus-deploy | package.json |
| @backstage/plugin-github-actions | package.json |
| @backstage/plugin-catalog-common | package.json |
| @backstage/plugin-apache-airflow | package.json |
| @backstage/plugin-linguist-common | package.json |
| @backstage/plugin-entity-feedback | package.json |
| @backstage/plugin-scaffolder-react | package.json |
| @backstage/plugin-permission-react | package.json |
| @roadiehq/backstage-plugin-travis-ci | package.json |
| @roadiehq/backstage-plugin-buildkite | package.json |
| @backstage/plugin-newrelic-dashboard | package.json |
| @oriflame/backstage-plugin-score-card | package.json |
| @roadiehq/backstage-plugin-github-insights | package.json |
| @backstage/plugin-catalog-unprocessed-entities | package.json |
| @roadiehq/backstage-plugin-github-pull-requests | package.json |
| @backstage/plugin-techdocs-module-addons-contrib | package.json |

## Unused devDependencies (8)

| Name | Location |
|:----------------------------|:-------------|
| cross-env | package.json |
| @types/jquery | package.json |
| @testing-library/dom | package.json |
| @types/zen-observable | package.json |
| @backstage/test-utils | package.json |
| @testing-library/react | package.json |
| @testing-library/jest-dom | package.json |
| @testing-library/user-event | package.json |

Loading

0 comments on commit 60a68f1

Please sign in to comment.