{
  "name": "root",
  "version": "1.25.0",
  "private": true,
  "repository": {
    "type": "git",
    "url": "https://github.com/backstage/backstage"
  },
  "workspaces": {
    "packages": [
      "packages/*",
      "plugins/*"
    ]
  },
  "scripts": {
    "build-storybook": "yarn ./storybook run build-storybook",
    "build:all": "backstage-cli repo build --all",
    "build:api-docs": "LANG=en_EN yarn build:api-reports --docs --exclude 'plugins/@(adr|adr-backend|adr-common|airbrake|airbrake-backend|allure|analytics-module-ga|analytics-module-ga4|analytics-module-newrelic-browser|apache-airflow|api-docs|api-docs-module-protoc-gen-doc|apollo-explorer|app-visualizer|azure-devops|azure-devops-backend|azure-devops-common|azure-sites|azure-sites-backend|azure-sites-common|badges|badges-backend|bazaar|bazaar-backend|bitbucket-cloud-common|bitrise|catalog-graph|catalog-graphql|catalog-import|catalog-unprocessed-entities|cicd-statistics|cicd-statistics-module-gitlab|circleci|cloudbuild|code-climate|code-coverage|code-coverage-backend|codescene|config-schema|cost-insights|cost-insights-common|dynatrace|entity-feedback|entity-feedback-backend|entity-feedback-common|entity-validation|example-todo-list|example-todo-list-backend|example-todo-list-common|firehydrant|fossa|gcalendar|gcp-projects|git-release-manager|github-actions|github-deployments|github-issues|github-pull-requests-board|gitops-profiles|gocd|graphiql|graphql-backend|graphql-voyager|ilert|jenkins|jenkins-backend|jenkins-common|kafka|kafka-backend|lighthouse|lighthouse-backend|lighthouse-common|linguist|linguist-backend|linguist-common|microsoft-calendar|newrelic|newrelic-dashboard|nomad|nomad-backend|octopus-deploy|opencost|pagerduty|periskop|periskop-backend|playlist|playlist-backend|playlist-common|proxy-backend|puppetdb|rollbar|rollbar-backend|sentry|shortcuts|splunk-on-call|stack-overflow|stack-overflow-backend|stackstorm|tech-radar|tech-radar-2|todo|todo-backend|xcmetrics)'",
    "build:api-reports": "yarn build:api-reports:only --tsc",
    "build:api-reports:only": "backstage-repo-tools api-reports --allow-warnings 'packages/core-components,plugins/+(catalog|catalog-import|git-release-manager|jenkins|kubernetes)' -o ae-wrong-input-file-type --validate-release-tags",
    "build:backend": "yarn workspace example-backend build",
    "build:knip-reports": "backstage-repo-tools knip-reports",
    "build:plugins-report": "node ./scripts/build-plugins-report",
    "clean": "backstage-cli repo clean",
    "create-plugin": "echo \"use 'yarn new' instead\"",
    "dev": "yarn workspaces foreach -A --include example-backend --include example-app --parallel -v -i run start",
    "dev:next": "yarn workspaces foreach -A --include example-backend-next --include example-app-next --parallel -v -i run start",
    "docker-build": "yarn tsc && yarn workspace example-backend build && yarn workspace example-backend build-image",
    "fix": "backstage-cli repo fix",
    "postinstall": "husky || true",
    "lint": "backstage-cli repo lint --since origin/master",
    "lint:all": "backstage-cli repo lint",
    "lint:docs": "node ./scripts/check-docs-quality",
    "lint:type-deps": "backstage-repo-tools type-deps",
    "new": "backstage-cli new --scope backstage --baseVersion 0.0.0 --no-private",
    "prepare": "husky",
    "prettier:check": "prettier --check .",
    "prettier:fix": "prettier --write .",
    "release": "node scripts/prepare-release.js && changeset version && yarn prettier --write '{packages,plugins}/*/{package.json,CHANGELOG.md}' '.changeset/*.json' && yarn install --no-immutable",
    "snyk:test": "npx snyk test --yarn-workspaces --strict-out-of-sync=false",
    "snyk:test:package": "yarn snyk:test --include",
    "start": "yarn workspace example-app start",
    "start-backend": "yarn workspace example-backend start",
    "start-backend:next": "yarn workspace example-backend-next start",
    "start:lighthouse": "yarn workspaces foreach -A --include example-backend-next --include example-app --parallel -v -i run start",
    "start:microsite": "cd microsite/ && yarn start",
    "start:next": "yarn workspace example-app-next start",
    "storybook": "yarn --cwd storybook && yarn --cwd storybook start",
    "techdocs-cli": "node scripts/techdocs-cli.js",
    "techdocs-cli:dev": "cross-env TECHDOCS_CLI_DEV_MODE=true node scripts/techdocs-cli.js",
    "test": "backstage-cli repo test",
    "test:all": "backstage-cli repo test --coverage",
    "test:e2e": "playwright test",
    "tsc": "tsc",
    "tsc:full": "backstage-cli repo clean && tsc --skipLibCheck false --incremental false"
  },
  "lint-staged": {
    "*.{js,jsx,ts,tsx,mjs,cjs}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.json": [
      "prettier --write"
    ],
    "*.md": [
      "prettier --write",
      "node ./scripts/check-docs-quality"
    ],
    "{plugins,packages}/*/catalog-info.yaml": [
      "yarn backstage-repo-tools generate-catalog-info --ci"
    ],
    ".github/CODEOWNERS": [
      "yarn backstage-repo-tools generate-catalog-info",
      "git add */catalog-info.yaml"
    ],
    "package.json": [
      "yarn backstage-repo-tools generate-catalog-info",
      "git add */catalog-info.yaml",
      "node ./scripts/sort-package-json.mjs"
    ],
    "yarn.lock": [
      "node ./scripts/verify-lockfile-duplicates --fix"
    ]
  },
  "prettier": "@spotify/prettier-config",
  "resolutions": {
    "@material-ui/pickers@^3.2.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
    "@material-ui/pickers@^3.3.10": "patch:@material-ui/pickers@npm%3A3.3.11#./.yarn/patches/@material-ui-pickers-npm-3.3.11-1c8f68ea20.patch",
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "jest-haste-map@^29.7.0": "patch:jest-haste-map@npm%3A29.7.0#./.yarn/patches/jest-haste-map-npm-29.7.0-e3be419eff.patch"
  },
  "dependencies": {
    "@backstage/errors": "^1.2.4",
    "@manypkg/get-packages": "^1.1.3",
    "@mui/icons-material": "^5.15.15",
    "@redhat-developer/red-hat-developer-hub-theme": "^0.0.33",
    "@useoptic/optic": "^0.50.10",
    "better-sqlite3": "npm:9.4.3",
    "isolated-vm": "npm:4.7.2"
  },
  "devDependencies": {
    "@backstage/cli": "workspace:*",
    "@backstage/codemods": "workspace:*",
    "@backstage/create-app": "workspace:*",
    "@backstage/e2e-test-utils": "workspace:*",
    "@backstage/repo-tools": "workspace:*",
    "@changesets/cli": "^2.14.0",
    "@octokit/rest": "^19.0.3",
    "@playwright/test": "^1.32.3",
    "@spotify/eslint-plugin": "^15.0.0",
    "@spotify/prettier-config": "^15.0.0",
    "@techdocs/cli": "workspace:*",
    "@types/node": "^18.17.8",
    "@types/webpack": "^5.28.0",
    "command-exists": "^1.2.9",
    "cross-env": "^7.0.0",
    "e2e-test": "workspace:*",
    "eslint": "^9.0.0",
    "eslint-plugin-notice": "^0.9.10",
    "eslint-plugin-react": "^7.28.0",
    "eslint-plugin-testing-library": "^6.0.0",
    "fs-extra": "^11.2.0",
    "husky": "^9.0.0",
    "knip": "^5.0.0",
    "lint-staged": "^15.0.0",
    "minimist": "^1.2.5",
    "node-gyp": "^10.0.0",
    "prettier": "^2.2.1",
    "semver": "^7.5.3",
    "shx": "^0.3.2",
    "sloc": "^0.3.1",
    "sort-package-json": "^2.8.0",
    "typescript": "~5.1.0"
  },
  "packageManager": "yarn@3.8.1",
  "engines": {
    "node": "18 || 20"
  }
}
