Files
Spoolman/client/package.json
T
Donkie be127f2fb7 build(deps): bump react-router from 7.18.1 to 8.3.0 in /client
The bump alone doesn't work, it needs three supporting changes:

- react-router 8 exposes its types through an exports map, which the old
  "moduleResolution": "Node" can't read, so tsc failed to find the module in
  every file importing it. Switch to "Bundler", which is what Vite has always
  resolved with anyway.
- @refinedev/react-router peer-depends on react-router ^7.0.2, so npm kept a
  nested 7.18.2 next to the top-level 8.3.0. Two copies means two React
  contexts, and Refine's useLocation() threw "may be used only in the context
  of a <Router> component" inside ThemedSider, leaving a blank page. Override
  the adapter's react-router to ^8.3.0 so the tree dedupes.
- Bundler resolution correctly rejects the deep import of NumberFieldProps
  from @refinedev/antd, which isn't in that package's exports map and isn't
  re-exported from its root. Mirror the type locally instead of taking on
  @refinedev/ui-types as a new dependency.

react-router 8 requires Node >= 22.22.0, so the client's engines range drops
Node 20. CI and the Docker build already use Node 24.

Verified with the frontend Playwright suite (both tests pass, including the
smoke test asserting no console errors on every page).
2026-08-08 20:24:11 +02:00

91 lines
2.5 KiB
JSON

{
"name": "spoolman-ui",
"version": "0.26.1",
"engines": {
"node": "^22.22 || >=24"
},
"private": true,
"type": "module",
"dependencies": {
"@ant-design/v5-patch-for-react-19": "^1.0.3",
"@loadable/component": "^5.16.7",
"@refinedev/antd": "^6.0.3",
"@refinedev/core": "^5.0.7",
"@refinedev/kbar": "^2.0.1",
"@refinedev/react-router": "^2.0.3",
"@refinedev/simple-rest": "^6.0.1",
"@tanstack/react-query": "^5.90.16",
"@tanstack/react-query-devtools": "^5.91.2",
"@yudiel/react-qr-scanner": "^2.5.0",
"axios": "^1.13.2",
"dayjs": "^1.11.10",
"html-to-image": "^1.11.13",
"i18next": "^25.7.3",
"i18next-browser-languagedetector": "^8.2.0",
"i18next-http-backend": "^3.0.2",
"react": "^19.2.3",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^19.2.3",
"react-i18next": "^16.5.1",
"react-router": "^8.3.0",
"react-to-print": "^3.2.0",
"uuid": "^14.0.0",
"vite-plugin-svgr": "^4.5.0",
"zustand": "^5.0.9"
},
"overrides": {
"@ant-design/pro-layout": {
"path-to-regexp": "^8.4.0"
},
"@refinedev/react-router": {
"react-router": "^8.3.0"
}
},
"devDependencies": {
"@eslint/js": "^9.39.2",
"@refinedev/cli": "^2.16.50",
"@types/loadable__component": "^5.13.10",
"@types/node": "^25.0.3",
"@types/react-dom": "^19.2.3",
"@types/react": "^19.2.7",
"@types/uuid": "^10.0.0",
"@vitejs/plugin-react": "^5.1.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.26",
"eslint-plugin-react": "^7.37.5",
"eslint": "^9.39.2",
"globals": "^17.0.0",
"prettier": "3.7.4",
"typescript-eslint": "^8.52.0",
"typescript": "^5.9.3",
"vite": "^7.3.0",
"vite-plugin-mkcert": "^1.17.9",
"vite-plugin-pwa": "^1.2.0"
},
"scripts": {
"dev": "refine dev",
"build": "tsc && refine build",
"build.zip": "cd ./dist && zip -r spoolman-client.zip ./ ./ && cd ..",
"preview": "refine start",
"refine": "refine",
"check-i18n": "node scripts/check-i18n.js",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"format": "prettier --write .",
"format-check": "prettier --check ."
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}