keycloak/js/apps/admin-ui/package.json
Pierluigi Lenoci 3cba5a34a9
refactor(admin-ui): replace use-react-router-breadcrumbs with React Router native useMatches
* refactor(admin-ui): replace use-react-router-breadcrumbs with React Router native useMatches

Replace the third-party `use-react-router-breadcrumbs` package with
React Router v6's built-in `useMatches()` hook for breadcrumb rendering.

Since the Admin UI already uses `createHashRouter` (data router API),
`useMatches()` is available and provides access to route `handle` data
at each matched route level.

Changes:
- Move `breadcrumb` property from route objects into `handle` across
  all 89 route definitions, making it accessible via `useMatches()`
- Update `AppRouteObjectHandle` type to include the optional
  `breadcrumb` property
- Remove `breadcrumb` from `AppRouteObject` interface (no longer a
  top-level route property)
- Rewrite `PageBreadCrumbs` component to use `useMatches()` instead
  of `useBreadcrumbs()` from the third-party library
- Remove `use-react-router-breadcrumbs` dependency from package.json
- Update pnpm-lock.yaml

Closes #19309

Signed-off-by: Pierluigi Lenoci <pierluigi.lenoci@gmail.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
Co-authored-by: Alexander Schwartz <alexander.schwartz@ibm.com>
2026-04-13 13:11:28 +02:00

148 lines
3.8 KiB
JSON

{
"name": "@keycloak/keycloak-admin-ui",
"version": "999.0.0-SNAPSHOT",
"type": "module",
"main": "lib/keycloak-admin-ui.js",
"types": "./lib/keycloak-admin-ui.d.ts",
"exports": {
".": {
"import": "./lib/keycloak-admin-ui.js",
"types": "./lib/keycloak-admin-ui.d.ts"
},
"./styles.css": "./lib/keycloak-admin-ui.css"
},
"files": [
"lib"
],
"publishConfig": {
"access": "public"
},
"scripts": {
"dev": "wireit",
"build": "wireit",
"build-lib": "wireit",
"preview": "wireit",
"lint": "wireit",
"test": "wireit",
"test:integration": "wireit"
},
"wireit": {
"dev": {
"command": "vite --host",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
]
},
"preview": {
"command": "vite preview",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
]
},
"build": {
"command": "vite build",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
],
"files": [
"public",
"src",
"tsconfig.json",
"vite.config.ts"
],
"output": [
"target/classes/theme/keycloak.v2/admin/resources"
]
},
"build-lib": {
"command": "cross-env LIB=true vite build",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
]
},
"lint": {
"command": "eslint .",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
]
},
"test": {
"command": "vitest",
"dependencies": [
"../../libs/ui-shared:build",
"../../libs/keycloak-admin-client:build"
]
},
"test:integration": {
"command": "playwright test",
"dependencies": [
"../../libs/keycloak-admin-client:build"
]
}
},
"dependencies": {
"@dagrejs/dagre": "^1.1.8",
"@keycloak/keycloak-admin-client": "workspace:*",
"@keycloak/keycloak-ui-shared": "workspace:*",
"@patternfly/patternfly": "^5.4.2",
"@patternfly/react-core": "^5.4.14",
"@patternfly/react-icons": "^5.4.2",
"@patternfly/react-styles": "^5.4.1",
"@patternfly/react-table": "^5.4.16",
"@uiw/react-textarea-code-editor": "^3.1.1",
"file-saver": "^2.0.5",
"flat": "^6.0.1",
"i18next": "^25.7.3",
"i18next-fetch-backend": "^7.0.0",
"jszip": "^3.10.1",
"keycloak-js": "^26.2.2",
"lodash-es": "^4.18.1",
"p-debounce": "^5.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.70.0",
"react-i18next": "^16.5.1",
"react-router-dom": "^6.30.3",
"reactflow": "^11.11.4",
"yaml": "^2.8.3"
},
"devDependencies": {
"@axe-core/playwright": "^4.11.0",
"@playwright/test": "^1.57.0",
"@testing-library/dom": "^10.4.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.1",
"@types/dagre": "^0.7.53",
"@types/file-saver": "^2.0.7",
"@types/lodash-es": "^4.17.12",
"@types/react": "^18.3.18",
"@types/react-dom": "^18.3.5",
"@vitejs/plugin-react-swc": "^4.2.2",
"cross-env": "^10.1.0",
"jsdom": "^27.4.0",
"lightningcss": "^1.30.2",
"properties-file": "^3.6.3",
"ts-node": "^10.9.2",
"uuid": "^13.0.0",
"vite": "^7.3.2",
"vite-plugin-checker": "^0.12.0",
"vite-plugin-dts": "^4.5.4",
"vitest": "^4.0.16"
},
"author": {
"name": "Red Hat, Inc.",
"url": "https://www.keycloak.org/"
},
"license": "Apache-2.0",
"repository": {
"type": "git",
"url": "https://github.com/keycloak/keycloak.git",
"directory": "js/apps/admin-ui"
},
"homepage": "https://www.keycloak.org/"
}