Merge pull request #28491 from Pike/knip-workspace-config
Improve knip reports by using a single config with workspaces
This commit is contained in:
@@ -1,79 +1,45 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (63)
|
||||
## Unused dependencies (30)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----------------------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-techdocs-module-addons-contrib | package.json | error |
|
||||
| @roadiehq/backstage-plugin-github-pull-requests | package.json | error |
|
||||
| @backstage/plugin-catalog-unprocessed-entities | package.json | error |
|
||||
| @roadiehq/backstage-plugin-github-insights | package.json | error |
|
||||
| @oriflame/backstage-plugin-score-card | package.json | error |
|
||||
| @backstage/plugin-newrelic-dashboard | package.json | error |
|
||||
| @roadiehq/backstage-plugin-buildkite | package.json | error |
|
||||
| @roadiehq/backstage-plugin-travis-ci | package.json | error |
|
||||
| @backstage/plugin-kubernetes-cluster | package.json | error |
|
||||
| @backstage/plugin-permission-react | package.json | error |
|
||||
| @backstage/plugin-scaffolder-react | package.json | error |
|
||||
| @backstage/plugin-entity-feedback | package.json | error |
|
||||
| @backstage/plugin-linguist-common | package.json | error |
|
||||
| @backstage/plugin-apache-airflow | package.json | error |
|
||||
| @backstage/plugin-catalog-common | package.json | error |
|
||||
| @backstage/plugin-github-actions | package.json | error |
|
||||
| @backstage/plugin-octopus-deploy | package.json | error |
|
||||
| @backstage/plugin-techdocs-react | package.json | error |
|
||||
| @backstage/plugin-catalog-graph | package.json | error |
|
||||
| @backstage/plugin-catalog-react | package.json | error |
|
||||
| @backstage/plugin-code-coverage | package.json | error |
|
||||
| @backstage/plugin-cost-insights | package.json | error |
|
||||
| @backstage/plugin-notifications | package.json | error |
|
||||
| @backstage/plugin-search-common | package.json | error |
|
||||
| @backstage/plugin-tech-insights | package.json | error |
|
||||
| @backstage/plugin-azure-devops | package.json | error |
|
||||
| @backstage/plugin-gcp-projects | package.json | error |
|
||||
| @backstage/plugin-search-react | package.json | error |
|
||||
| @backstage/plugin-azure-sites | package.json | error |
|
||||
| @backstage/plugin-cloudbuild | package.json | error |
|
||||
| @backstage/plugin-kubernetes | package.json | error |
|
||||
| @backstage/plugin-lighthouse | package.json | error |
|
||||
| @backstage/integration-react | package.json | error |
|
||||
| @backstage/plugin-auth-react | package.json | error |
|
||||
| @backstage/plugin-scaffolder | package.json | error |
|
||||
| @backstage/plugin-stackstorm | package.json | error |
|
||||
| @backstage/plugin-dynatrace | package.json | error |
|
||||
| @backstage/plugin-shortcuts | package.json | error |
|
||||
| @backstage/plugin-airbrake | package.json | error |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
| @backstage/core-plugin-api | package.json | error |
|
||||
| @backstage/plugin-api-docs | package.json | error |
|
||||
| @backstage/plugin-devtools | package.json | error |
|
||||
| @backstage/plugin-linguist | package.json | error |
|
||||
| @backstage/plugin-newrelic | package.json | error |
|
||||
| @backstage/plugin-playlist | package.json | error |
|
||||
| @backstage/plugin-puppetdb | package.json | error |
|
||||
| @circleci/backstage-plugin | package.json | error |
|
||||
| @backstage/plugin-catalog | package.json | error |
|
||||
| @backstage/plugin-explore | package.json | error |
|
||||
| @backstage/plugin-jenkins | package.json | error |
|
||||
| @backstage/plugin-rollbar | package.json | error |
|
||||
| @backstage/plugin-signals | package.json | error |
|
||||
| @backstage/catalog-model | package.json | error |
|
||||
| @backstage/plugin-badges | package.json | error |
|
||||
| @backstage/plugin-search | package.json | error |
|
||||
| @backstage/plugin-sentry | package.json | error |
|
||||
| @backstage/app-defaults | package.json | error |
|
||||
| @backstage/plugin-kafka | package.json | error |
|
||||
| app-next-example-plugin | package.json | error |
|
||||
| @backstage/plugin-gocd | package.json | error |
|
||||
| @backstage/plugin-todo | package.json | error |
|
||||
| @backstage/plugin-adr | package.json | error |
|
||||
| @backstage/plugin-app | package.json | error |
|
||||
| @backstage/plugin-org | package.json | error |
|
||||
| @backstage/config | package.json | error |
|
||||
| @material-ui/lab | package.json | error |
|
||||
| zen-observable | package.json | error |
|
||||
| @octokit/rest | package.json | error |
|
||||
| react-use | package.json | error |
|
||||
| history | package.json | error |
|
||||
| lodash | package.json | error |
|
||||
|
||||
## Unused devDependencies (6)
|
||||
## Unused devDependencies (5)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @testing-library/user-event | package.json | error |
|
||||
| @testing-library/react | package.json | error |
|
||||
| @types/zen-observable | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
| @types/jquery | package.json | error |
|
||||
|
||||
+12
-20
@@ -1,33 +1,25 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (14)
|
||||
## Unused dependencies (8)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-linguist-common | package.json | error |
|
||||
| @backstage/plugin-search-common | package.json | error |
|
||||
| @backstage/plugin-azure-sites | package.json | error |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
| @backstage/plugin-airbrake | package.json | error |
|
||||
| vite-plugin-node-polyfills | package.json | error |
|
||||
| @vitejs/plugin-react | package.json | error |
|
||||
| @material-ui/lab | package.json | error |
|
||||
| vite-plugin-html | package.json | error |
|
||||
| zen-observable | package.json | error |
|
||||
| @octokit/rest | package.json | error |
|
||||
| react-router | package.json | error |
|
||||
| history | package.json | error |
|
||||
| vite | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :------------------------------ | :----------- | :------- |
|
||||
| @backstage/plugin-search-common | package.json | error |
|
||||
| @backstage/plugin-auth-react | package.json | error |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
| @material-ui/lab | package.json | error |
|
||||
| zen-observable | package.json | error |
|
||||
| @octokit/rest | package.json | error |
|
||||
| react-router | package.json | error |
|
||||
| history | package.json | error |
|
||||
|
||||
## Unused devDependencies (5)
|
||||
## Unused devDependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @testing-library/user-event | package.json | error |
|
||||
| @types/zen-observable | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
| @types/jquery | package.json | error |
|
||||
| cross-env | package.json | error |
|
||||
|
||||
## Unlisted dependencies (1)
|
||||
|
||||
|
||||
@@ -1,8 +1,49 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (1)
|
||||
## Unused dependencies (27)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :---------------- | :----------- | :------- |
|
||||
| winston-transport | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-permission-node | package.json | error |
|
||||
| @backstage/plugin-auth-node | package.json | error |
|
||||
| @backstage/config-loader | package.json | error |
|
||||
| @backstage/cli-common | package.json | error |
|
||||
| @manypkg/get-packages | package.json | error |
|
||||
| @backstage/config | package.json | error |
|
||||
| winston-transport | package.json | error |
|
||||
| @backstage/types | package.json | error |
|
||||
| path-to-regexp | package.json | error |
|
||||
| compression | package.json | error |
|
||||
| triple-beam | package.json | error |
|
||||
| node-forge | package.json | error |
|
||||
| selfsigned | package.json | error |
|
||||
| minimatch | package.json | error |
|
||||
| stoppable | package.json | error |
|
||||
| minimist | package.json | error |
|
||||
| logform | package.json | error |
|
||||
| winston | package.json | error |
|
||||
| cookie | package.json | error |
|
||||
| helmet | package.json | error |
|
||||
| lodash | package.json | error |
|
||||
| morgan | package.json | error |
|
||||
| luxon | package.json | error |
|
||||
| cors | package.json | error |
|
||||
| jose | package.json | error |
|
||||
| knex | package.json | error |
|
||||
| uuid | package.json | error |
|
||||
|
||||
## Unused devDependencies (10)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @backstage/backend-defaults | package.json | error |
|
||||
| @types/compression | package.json | error |
|
||||
| @types/http-errors | package.json | error |
|
||||
| @types/node-forge | package.json | error |
|
||||
| @types/stoppable | package.json | error |
|
||||
| @types/minimist | package.json | error |
|
||||
| @types/morgan | package.json | error |
|
||||
| http-errors | package.json | error |
|
||||
| supertest | package.json | error |
|
||||
| msw | package.json | error |
|
||||
|
||||
|
||||
@@ -1,8 +1,25 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (6)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------- | :----------- | :------- |
|
||||
| @backstage/cli-common | package.json | error |
|
||||
| @azure/identity | package.json | error |
|
||||
| better-sqlite3 | package.json | error |
|
||||
| isomorphic-git | package.json | error |
|
||||
| minimist | package.json | error |
|
||||
| mysql2 | package.json | error |
|
||||
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :---------------------------- | :----------- | :------- |
|
||||
| @backstage/backend-test-utils | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :--------------- | :----------- | :------- |
|
||||
| @types/stoppable | package.json | error |
|
||||
|
||||
## Referenced optional peerDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------------- | :----------- | :------- |
|
||||
| @google-cloud/cloud-sql-connector | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (2)
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------------ | :----------- | :------- |
|
||||
| @backstage/plugin-search-common | package.json | error |
|
||||
| @backstage/errors | package.json | error |
|
||||
|
||||
|
||||
@@ -6,22 +6,23 @@
|
||||
| :------------------------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-scaffolder-backend-module-gitlab | package.json | error |
|
||||
| @backstage/plugin-scaffolder-backend-module-rails | package.json | error |
|
||||
| @backstage/plugin-azure-sites-common | package.json | error |
|
||||
| @backstage/plugin-tech-insights-node | package.json | error |
|
||||
| @backstage/plugin-search-backend-module-catalog | package.json | error |
|
||||
| @backstage/plugin-signals-backend | package.json | error |
|
||||
| azure-devops-node-api | package.json | error |
|
||||
| pg-connection-string | package.json | error |
|
||||
| @gitbeaker/node | package.json | error |
|
||||
| better-sqlite3 | package.json | error |
|
||||
| @octokit/rest | package.json | error |
|
||||
| example-app | package.json | error |
|
||||
| dockerode | package.json | error |
|
||||
| mysql2 | package.json | error |
|
||||
| luxon | package.json | error |
|
||||
| pg | package.json | error |
|
||||
|
||||
## Unused devDependencies (2)
|
||||
## Unused devDependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------------- | :----------- | :------- |
|
||||
| @types/express-serve-static-core | package.json | error |
|
||||
| @types/dockerode | package.json | error |
|
||||
| @types/luxon | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (2)
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :---------------------------- | :----------- | :------- |
|
||||
| @backstage/backend-plugin-api | package.json | error |
|
||||
| lodash | package.json | error |
|
||||
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-auth-node | package.json | error |
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (4)
|
||||
## Unused dependencies (6)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------- | :----------- | :------- |
|
||||
| better-sqlite3 | package.json | error |
|
||||
| mysql2 | package.json | error |
|
||||
| msw | package.json | error |
|
||||
| pg | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :------------------------------- | :----------- | :------- |
|
||||
| @types/express-serve-static-core | package.json | error |
|
||||
| @backstage/plugin-auth-node | package.json | error |
|
||||
| better-sqlite3 | package.json | error |
|
||||
| @types/qs | package.json | error |
|
||||
| mysql2 | package.json | error |
|
||||
| pg | package.json | error |
|
||||
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (5)
|
||||
## Unused dependencies (8)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----------------------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-catalog-backend-module-openapi | package.json | error |
|
||||
| @opentelemetry/auto-instrumentations-node | package.json | error |
|
||||
| @backstage/plugin-search-backend-node | package.json | error |
|
||||
| @backstage/plugin-permission-common | package.json | error |
|
||||
| @opentelemetry/exporter-prometheus | package.json | error |
|
||||
| @backstage/plugin-permission-node | package.json | error |
|
||||
| @backstage/backend-tasks | package.json | error |
|
||||
| @opentelemetry/sdk-node | package.json | error |
|
||||
| example-app | package.json | error |
|
||||
|
||||
|
||||
+59
-58
@@ -1,68 +1,69 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (28)
|
||||
## Unused dependencies (26)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------------- | :----------- | :------- |
|
||||
| @typescript-eslint/eslint-plugin | package.json | error |
|
||||
| @spotify/eslint-config-react | package.json | error |
|
||||
| eslint-formatter-friendly | package.json | error |
|
||||
| eslint-plugin-deprecation | package.json | error |
|
||||
| eslint-plugin-react-hooks | package.json | error |
|
||||
| @sucrase/webpack-loader | package.json | error |
|
||||
| eslint-plugin-jsx-a11y | package.json | error |
|
||||
| jest-environment-jsdom | package.json | error |
|
||||
| terser-webpack-plugin | package.json | error |
|
||||
| eslint-plugin-react | package.json | error |
|
||||
| @types/webpack-env | package.json | error |
|
||||
| @svgr/plugin-svgo | package.json | error |
|
||||
| @svgr/plugin-jsx | package.json | error |
|
||||
| jest-css-modules | package.json | error |
|
||||
| @swc/helpers | package.json | error |
|
||||
| jest-runtime | package.json | error |
|
||||
| cross-fetch | package.json | error |
|
||||
| @svgr/core | package.json | error |
|
||||
| @swc/core | package.json | error |
|
||||
| @swc/jest | package.json | error |
|
||||
| esbuild | package.json | error |
|
||||
| pirates | package.json | error |
|
||||
| postcss | package.json | error |
|
||||
| process | package.json | error |
|
||||
| sucrase | package.json | error |
|
||||
| buffer | package.json | error |
|
||||
| glob | package.json | error |
|
||||
| util | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :--------------------------- | :----------- | :------- |
|
||||
| @spotify/eslint-config-react | package.json | error |
|
||||
| eslint-formatter-friendly | package.json | error |
|
||||
| eslint-plugin-react-hooks | package.json | error |
|
||||
| @backstage/catalog-model | package.json | error |
|
||||
| @octokit/graphql-schema | package.json | error |
|
||||
| @sucrase/webpack-loader | package.json | error |
|
||||
| @backstage/integration | package.json | error |
|
||||
| eslint-plugin-jsx-a11y | package.json | error |
|
||||
| jest-environment-jsdom | package.json | error |
|
||||
| terser-webpack-plugin | package.json | error |
|
||||
| eslint-plugin-react | package.json | error |
|
||||
| @octokit/oauth-app | package.json | error |
|
||||
| @svgr/plugin-svgo | package.json | error |
|
||||
| @octokit/graphql | package.json | error |
|
||||
| @svgr/plugin-jsx | package.json | error |
|
||||
| jest-css-modules | package.json | error |
|
||||
| git-url-parse | package.json | error |
|
||||
| jest-runtime | package.json | error |
|
||||
| cross-fetch | package.json | error |
|
||||
| @svgr/core | package.json | error |
|
||||
| @swc/jest | package.json | error |
|
||||
| process | package.json | error |
|
||||
| sucrase | package.json | error |
|
||||
| buffer | package.json | error |
|
||||
| glob | package.json | error |
|
||||
| util | package.json | error |
|
||||
|
||||
## Unused devDependencies (11)
|
||||
## Unused devDependencies (14)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------------------- | :----------- | :------- |
|
||||
| @types/rollup-plugin-peer-deps-external | package.json | error |
|
||||
| @backstage/backend-plugin-api | package.json | error |
|
||||
| @types/terser-webpack-plugin | package.json | error |
|
||||
| @backstage/core-components | package.json | error |
|
||||
| @backstage/core-app-api | package.json | error |
|
||||
| @backstage/dev-utils | package.json | error |
|
||||
| @types/http-proxy | package.json | error |
|
||||
| @types/svgo | package.json | error |
|
||||
| @types/ejs | package.json | error |
|
||||
| nodemon | package.json | error |
|
||||
| del | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :--------------------------------------------------- | :----------- | :------- |
|
||||
| @backstage/plugin-auth-backend-module-guest-provider | package.json | error |
|
||||
| @types/rollup-plugin-peer-deps-external | package.json | error |
|
||||
| @backstage/plugin-auth-backend | package.json | error |
|
||||
| @backstage/plugin-catalog-node | package.json | error |
|
||||
| @types/terser-webpack-plugin | package.json | error |
|
||||
| @backstage/core-components | package.json | error |
|
||||
| @backstage/catalog-client | package.json | error |
|
||||
| @backstage/core-app-api | package.json | error |
|
||||
| @types/webpack-sources | package.json | error |
|
||||
| @backstage/dev-utils | package.json | error |
|
||||
| @types/http-proxy | package.json | error |
|
||||
| @types/svgo | package.json | error |
|
||||
| @types/ejs | package.json | error |
|
||||
| del | package.json | error |
|
||||
|
||||
## Referenced optional peerDependencies (4)
|
||||
## Referenced optional peerDependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------- | :----------- | :------- |
|
||||
| vite-plugin-node-polyfills | package.json | error |
|
||||
| @vitejs/plugin-react | package.json | error |
|
||||
| vite-plugin-html | package.json | error |
|
||||
| vite | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :--------------------------- | :----------- | :------- |
|
||||
| @rspack/plugin-react-refresh | package.json | error |
|
||||
| @rspack/dev-server | package.json | error |
|
||||
| @rspack/core | package.json | error |
|
||||
|
||||
## Unlisted dependencies (3)
|
||||
## Unlisted dependencies (4)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----------------- | :----------------------------------------- | :------- |
|
||||
| prettier | src/commands/migrate/packageLintConfigs.ts | error |
|
||||
| react-dom/client | src/lib/bundler/hasReactDomClient.ts | error |
|
||||
| react/package.json | src/lib/bundler/server.ts | error |
|
||||
| Name | Location | Severity |
|
||||
| :-------- | :----------------------------------- | :------- |
|
||||
| react-dom | src/lib/bundler/hasReactDomClient.ts | error |
|
||||
| react-dom | src/lib/bundler/config.ts | error |
|
||||
| react | src/lib/bundler/config.ts | error |
|
||||
| react | src/lib/bundler/server.ts | error |
|
||||
|
||||
|
||||
@@ -6,15 +6,13 @@
|
||||
| :------ | :----------- | :------- |
|
||||
| history | package.json | error |
|
||||
|
||||
## Unused devDependencies (7)
|
||||
## Unused devDependencies (5)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :--------------------------- | :----------- | :------- |
|
||||
| @testing-library/react-hooks | package.json | error |
|
||||
| @testing-library/user-event | package.json | error |
|
||||
| react-router-dom-stable | package.json | error |
|
||||
| react-router-dom-beta | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
| react-router-stable | package.json | error |
|
||||
| react-router-beta | package.json | error |
|
||||
|
||||
|
||||
@@ -1,2 +1,10 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
| @backstage/types | package.json | error |
|
||||
| zod | package.json | error |
|
||||
|
||||
|
||||
@@ -1,20 +1,17 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (3)
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------ | :----------- | :------- |
|
||||
| @date-io/core | package.json | error |
|
||||
| linkifyjs | package.json | error |
|
||||
| pluralize | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :-------- | :----------- | :------- |
|
||||
| pluralize | package.json | error |
|
||||
|
||||
## Unused devDependencies (4)
|
||||
## Unused devDependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :---------------------- | :----------- | :------- |
|
||||
| @backstage/app-defaults | package.json | error |
|
||||
| @types/google-protobuf | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
| cross-fetch | package.json | error |
|
||||
|
||||
## Unlisted dependencies (3)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (2)
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @testing-library/user-event | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (2)
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------- | :----------- | :------- |
|
||||
| @types/command-exists | package.json | error |
|
||||
| nodemon | package.json | error |
|
||||
|
||||
|
||||
@@ -1,8 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------- | :----------- | :------- |
|
||||
| @testing-library/dom | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (2)
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :--------------- | :----------- | :------- |
|
||||
| @types/puppeteer | package.json | error |
|
||||
| nodemon | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :-------------------- | :----------- | :------- |
|
||||
| @backstage/create-app | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
## Unlisted dependencies (2)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----- | :----------------------------- | :------- |
|
||||
| estree | rules/no-undeclared-imports.js | error |
|
||||
| estree | lib/visitImports.js | error |
|
||||
|
||||
|
||||
@@ -1,2 +1,10 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :--------------------------- | :----------- | :------- |
|
||||
| @backstage/frontend-defaults | package.json | error |
|
||||
| @backstage/errors | package.json | error |
|
||||
| zod | package.json | error |
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (3)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------ | :----------- | :------- |
|
||||
| @backstage/version-bridge | package.json | error |
|
||||
| @backstage/types | package.json | error |
|
||||
| zod | package.json | error |
|
||||
|
||||
## Unused devDependencies (5)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----------------------------- | :----------- | :------- |
|
||||
| @backstage/frontend-test-utils | package.json | error |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
| @testing-library/jest-dom | package.json | error |
|
||||
| @testing-library/react | package.json | error |
|
||||
| @backstage/test-utils | package.json | error |
|
||||
|
||||
@@ -8,3 +8,9 @@
|
||||
| @material-ui/core | package.json | error |
|
||||
| lodash | package.json | error |
|
||||
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @backstage/frontend-app-api | package.json | error |
|
||||
|
||||
|
||||
@@ -1,2 +1,9 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (2)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------ | :----------- | :------- |
|
||||
| @backstage/version-bridge | package.json | error |
|
||||
| zod | package.json | error |
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (2)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :------------------------ | :----------- | :------- |
|
||||
| @testing-library/jest-dom | package.json | error |
|
||||
| @testing-library/react | package.json | error |
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
| Name | Location | Severity |
|
||||
| :---------------------------------- | :----------- | :------- |
|
||||
| @openapitools/openapi-generator-cli | package.json | error |
|
||||
| @stoplight/spectral-functions | package.json | error |
|
||||
| @stoplight/spectral-runtime | package.json | error |
|
||||
| @electric-sql/pglite | package.json | error |
|
||||
| is-glob | package.json | error |
|
||||
| glob | package.json | error |
|
||||
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
"just-diff": "^6.0.2",
|
||||
"knex": "^3.0.0",
|
||||
"knex-pglite": "^0.11.0",
|
||||
"knip": "^5.42.0",
|
||||
"lodash": "^4.17.21",
|
||||
"minimatch": "^9.0.0",
|
||||
"p-limit": "^3.0.2",
|
||||
|
||||
@@ -18,10 +18,13 @@ import pLimit from 'p-limit';
|
||||
import os from 'os';
|
||||
import { relative as relativePath, resolve as resolvePath } from 'path';
|
||||
import fs from 'fs-extra';
|
||||
import type { KnipConfig } from 'knip';
|
||||
import { createBinRunner } from '../util';
|
||||
|
||||
// Ignore this due to Knip error: Error: ENAMETOOLONG: name too long, scandir
|
||||
const ignoredPackages = ['packages/techdocs-cli-embedded-app'];
|
||||
// Ignore these
|
||||
const ignoredPackages = [
|
||||
'packages/canon', // storybook config is different from the rest
|
||||
];
|
||||
|
||||
interface KnipExtractionOptions {
|
||||
packageDirs: string[];
|
||||
@@ -29,7 +32,7 @@ interface KnipExtractionOptions {
|
||||
}
|
||||
|
||||
interface KnipConfigOptions {
|
||||
packageDir: string;
|
||||
knipConfigPath: string;
|
||||
}
|
||||
|
||||
interface KnipPackageOptions {
|
||||
@@ -55,41 +58,43 @@ function logKnipReportInstructions() {
|
||||
console.log('');
|
||||
}
|
||||
|
||||
async function generateKnipConfig({ packageDir }: KnipConfigOptions) {
|
||||
const knipConfig = {
|
||||
entry: [
|
||||
'dev/index.{ts,tsx}',
|
||||
'src/index.{ts,tsx}',
|
||||
'src/alpha.{ts,tsx}',
|
||||
'src/routes.ts',
|
||||
'src/run.ts',
|
||||
],
|
||||
async function generateKnipConfig({ knipConfigPath }: KnipConfigOptions) {
|
||||
const knipConfig: KnipConfig = {
|
||||
workspaces: {
|
||||
'.': {},
|
||||
'{packages,plugins}/*': {
|
||||
entry: ['dev/index.{ts,tsx}', 'src/index.{ts,tsx}'],
|
||||
ignore: [
|
||||
'.eslintrc.js',
|
||||
'config.d.ts',
|
||||
'knexfile.js',
|
||||
'node_modules/**',
|
||||
'dist/**',
|
||||
'{fixtures,migrations,templates}/**',
|
||||
'src/tests/transforms/__fixtures__/**', // cli packaging tests
|
||||
],
|
||||
},
|
||||
},
|
||||
jest: {
|
||||
entry: ['src/setupTests.ts', '**/*.test.{ts,tsx}'],
|
||||
entry: ['src/setupTests.ts', 'src/**/*.test.{ts,tsx}'],
|
||||
},
|
||||
storybook: { entry: 'src/components/**/*.stories.tsx' },
|
||||
ignore: [
|
||||
'.eslintrc.js',
|
||||
'config.d.ts',
|
||||
'knexfile.js',
|
||||
'node_modules/**',
|
||||
'dist/**',
|
||||
'{fixtures,migrations,templates}/**',
|
||||
],
|
||||
ignoreDependencies: [
|
||||
// these is reported as a referenced optional peerDependencies
|
||||
// TBD: investigate what triggers these
|
||||
'@types/react',
|
||||
'@types/jest',
|
||||
'@internal/.*', // internal packages are not published and inlined
|
||||
'@backstage/cli', // everything depends on this for its package.json commands
|
||||
'@backstage/theme', // this uses `declare module` in .d.ts so is implicitly used whenever extensions are needed
|
||||
],
|
||||
};
|
||||
await fs.writeFile(
|
||||
`${packageDir}/knip.json`,
|
||||
JSON.stringify(knipConfig, null, 2),
|
||||
);
|
||||
await fs.writeFile(knipConfigPath, JSON.stringify(knipConfig, null, 2));
|
||||
}
|
||||
|
||||
function cleanKnipConfig({ packageDir }: KnipConfigOptions) {
|
||||
if (fs.existsSync(`${packageDir}/knip.json`)) {
|
||||
fs.rmSync(`${packageDir}/knip.json`);
|
||||
function cleanKnipConfig({ knipConfigPath }: KnipConfigOptions) {
|
||||
if (fs.existsSync(knipConfigPath)) {
|
||||
fs.rmSync(knipConfigPath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,13 +110,11 @@ async function handlePackage({
|
||||
}
|
||||
const fullDir = cliPaths.resolveTargetRoot(packageDir);
|
||||
const reportPath = resolvePath(fullDir, 'knip-report.md');
|
||||
const run = createBinRunner(fullDir, '');
|
||||
const run = createBinRunner(cliPaths.targetRoot, '');
|
||||
|
||||
await generateKnipConfig({ packageDir: fullDir });
|
||||
|
||||
const report = await run(
|
||||
let report = await run(
|
||||
`${knipDir}/knip.js`,
|
||||
`--directory ${fullDir}`, // Run in the package directory
|
||||
`-W ${packageDir}`, // Run the desired workspace
|
||||
'--config knip.json',
|
||||
'--no-exit-code', // Removing this will end the process in case there are findings by knip
|
||||
'--no-progress', // Remove unnecessary debugging from output
|
||||
@@ -120,7 +123,17 @@ async function handlePackage({
|
||||
'--reporter markdown',
|
||||
);
|
||||
|
||||
cleanKnipConfig({ packageDir: fullDir });
|
||||
// Adjust report paths to be relative to workspace
|
||||
report = report.replaceAll(`| ${packageDir}/`, '| ');
|
||||
// Adjust table separators
|
||||
report = report.replaceAll(
|
||||
new RegExp(`(\\| :-+ \\| :)-{${packageDir.length + 1}}`, 'g'),
|
||||
(_, p1) => p1,
|
||||
);
|
||||
report = report.replaceAll(
|
||||
new RegExp(` \\| Location {1,${packageDir.length + 2}}`, 'g'),
|
||||
' | Location ',
|
||||
);
|
||||
|
||||
const existingReport = await fs.readFile(reportPath, 'utf8').catch(error => {
|
||||
if (error.code === 'ENOENT') {
|
||||
@@ -160,8 +173,10 @@ export async function runKnipReports({
|
||||
isLocalBuild,
|
||||
}: KnipExtractionOptions) {
|
||||
const knipDir = cliPaths.resolveTargetRoot('./node_modules/knip/bin/');
|
||||
const knipConfigPath = cliPaths.resolveTargetRoot('./knip.json');
|
||||
const limiter = pLimit(os.cpus().length);
|
||||
|
||||
await generateKnipConfig({ knipConfigPath });
|
||||
try {
|
||||
await Promise.all(
|
||||
packageDirs.map(packageDir =>
|
||||
@@ -170,15 +185,9 @@ export async function runKnipReports({
|
||||
),
|
||||
),
|
||||
);
|
||||
await cleanKnipConfig({ knipConfigPath });
|
||||
} catch (e) {
|
||||
console.log(
|
||||
`Error occurred during knip reporting: ${e}, cleaning knip configs`,
|
||||
);
|
||||
packageDirs.map(packageDir => {
|
||||
const fullDir = cliPaths.resolveTargetRoot(packageDir);
|
||||
cleanKnipConfig({ packageDir: fullDir });
|
||||
});
|
||||
|
||||
console.log(`Error occurred during knip reporting: ${e}`);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,11 +35,12 @@ export function createBinRunner(cwd: string, path: string) {
|
||||
{
|
||||
cwd,
|
||||
shell: true,
|
||||
timeout: 60000,
|
||||
timeout: 3 * 60 * 1000,
|
||||
maxBuffer: 1024 * 1024,
|
||||
},
|
||||
(err, stdout, stderr) => {
|
||||
if (err) {
|
||||
console.log('err', err);
|
||||
reject(new Error(`${err.message}\n${stderr}`));
|
||||
} else if (stderr) {
|
||||
reject(new Error(`Command printed error output: ${stderr}`));
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
@@ -1,21 +1,17 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (4)
|
||||
## Unused dependencies (2)
|
||||
|
||||
| Name | Location |
|
||||
|:----------------------|:-------------|
|
||||
| history | package.json |
|
||||
| react-use | package.json |
|
||||
| @backstage/theme | package.json |
|
||||
| @backstage/test-utils | package.json |
|
||||
| Name | Location | Severity |
|
||||
| :-------- | :----------- | :------- |
|
||||
| react-use | package.json | error |
|
||||
| history | package.json | error |
|
||||
|
||||
## Unused devDependencies (5)
|
||||
## Unused devDependencies (3)
|
||||
|
||||
| Name | Location |
|
||||
|:----------------------------|:-------------|
|
||||
| cross-env | package.json |
|
||||
| @testing-library/dom | package.json |
|
||||
| @testing-library/react | package.json |
|
||||
| @testing-library/jest-dom | package.json |
|
||||
| @testing-library/user-event | package.json |
|
||||
| Name | Location | Severity |
|
||||
| :-------------------------- | :----------- | :------- |
|
||||
| @testing-library/user-event | package.json | error |
|
||||
| @testing-library/dom | package.json | error |
|
||||
| cross-env | package.json | error |
|
||||
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
## Unused devDependencies (2)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :----------------- | :----------- | :------- |
|
||||
| @types/webpack-env | package.json | error |
|
||||
| nodemon | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :------------------------ | :----------- | :------- |
|
||||
| techdocs-cli-embedded-app | package.json | error |
|
||||
| @types/webpack-env | package.json | error |
|
||||
|
||||
|
||||
@@ -1,8 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :---------------- | :----------- | :------- |
|
||||
| @material-ui/core | package.json | error |
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused dependencies (2)
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :-------------- | :----------- | :------- |
|
||||
| @emotion/styled | package.json | error |
|
||||
| @emotion/react | package.json | error |
|
||||
| Name | Location | Severity |
|
||||
| :--------------- | :----------- | :------- |
|
||||
| react-router-dom | package.json | error |
|
||||
|
||||
|
||||
@@ -1,2 +1,8 @@
|
||||
# Knip report
|
||||
|
||||
## Unused devDependencies (1)
|
||||
|
||||
| Name | Location | Severity |
|
||||
| :--------------- | :----------- | :------- |
|
||||
| react-router-dom | package.json | error |
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
# Knip report
|
||||
|
||||
Reference in New Issue
Block a user