Files
holy-flavor-rater/frontend/package.json
2026-04-26 23:02:13 +02:00

63 lines
2.0 KiB
JSON

{
"name": "frontend",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"lint": "eslint .",
"typecheck": "tsc -b --noEmit",
"format": "prettier --write \"src/**/*.{ts,tsx,js,json,css}\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,json,css}\"",
"test": "vitest run",
"test:watch": "vitest",
"preview": "vite preview",
"schema:export": "cd ../backend && ./venv/bin/python manage.py spectacular --file schema.yaml",
"openapi:gen": "openapi-typescript ../backend/schema.yaml -o src/api/schema.d.ts",
"openapi:sync": "npm run schema:export && npm run openapi:gen"
},
"dependencies": {
"@catppuccin/palette": "^1.7.1",
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1",
"@mui/icons-material": "^7.3.8",
"@mui/material": "^7.3.8",
"@tanstack/react-query": "^5.100.3",
"@tanstack/react-query-devtools": "^5.100.3",
"axios": "^1.13.5",
"colorthief": "^2.6.0",
"embla-carousel-react": "^8.6.0",
"i18next": "^24.2.2",
"i18next-browser-languagedetector": "^8.0.2",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"react-i18next": "^15.4.0",
"react-router-dom": "^7.13.0"
},
"devDependencies": {
"@eslint/js": "^9.39.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
"@testing-library/user-event": "^14.6.1",
"@types/colorthief": "^2.6.1",
"@types/node": "^24.10.1",
"@types/react": "^19.2.7",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.1",
"@vitest/ui": "^4.1.4",
"eslint": "^9.39.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.24",
"globals": "^16.5.0",
"jsdom": "^29.0.2",
"openapi-typescript": "^7.13.0",
"prettier": "^3.8.2",
"typescript": "~5.9.3",
"typescript-eslint": "^8.48.0",
"vite": "^7.3.1",
"vitest": "^4.1.4"
}
}