package.json 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. {
  2. "name": "frontend",
  3. "private": true,
  4. "version": "0.0.0",
  5. "type": "module",
  6. "scripts": {
  7. "dev": "vite",
  8. "build": "tsc -b && vite build",
  9. "lint": "eslint .",
  10. "preview": "vite preview",
  11. "test": "vitest",
  12. "test:run": "vitest run && npm run check:i18n",
  13. "test:coverage": "vitest run --coverage",
  14. "test:ui": "vitest --ui",
  15. "check:i18n": "node scripts/check-i18n-parity.mjs"
  16. },
  17. "dependencies": {
  18. "@dnd-kit/core": "^6.3.1",
  19. "@dnd-kit/sortable": "^10.0.0",
  20. "@dnd-kit/utilities": "^3.2.2",
  21. "@floating-ui/dom": "^1.7.5",
  22. "@tanstack/react-query": "^5.90.11",
  23. "@tiptap/extension-color": "^3.11.1",
  24. "@tiptap/extension-image": "^3.11.1",
  25. "@tiptap/extension-link": "^3.11.1",
  26. "@tiptap/extension-text-align": "^3.11.1",
  27. "@tiptap/extension-text-style": "^3.11.1",
  28. "@tiptap/extension-underline": "^3.11.1",
  29. "@tiptap/react": "^3.11.1",
  30. "@tiptap/starter-kit": "^3.11.1",
  31. "@types/three": "^0.181.0",
  32. "dompurify": "^3.4.10",
  33. "gcode-preview": "^2.18.0",
  34. "i18next": "25.6.3",
  35. "i18next-browser-languagedetector": "^8.2.0",
  36. "jszip": "^3.10.1",
  37. "lucide-react": "^0.555.0",
  38. "qrcode.react": "^4.2.0",
  39. "react": "^19.2.0",
  40. "react-dom": "^19.2.0",
  41. "react-i18next": "^16.3.5",
  42. "react-markdown": "^9.1.0",
  43. "react-router-dom": "^7.16.0",
  44. "react-simple-keyboard": "^3.8.164",
  45. "recharts": "^3.5.1",
  46. "remark-gfm": "^4.0.1",
  47. "three": "^0.181.2"
  48. },
  49. "overrides": {
  50. "minimatch": "^10.2.1",
  51. "brace-expansion": "^5.0.7"
  52. },
  53. "devDependencies": {
  54. "@eslint/js": "^9.39.1",
  55. "@tailwindcss/postcss": "^4.1.17",
  56. "@testing-library/jest-dom": "^6.6.0",
  57. "@testing-library/react": "^16.0.0",
  58. "@testing-library/user-event": "^14.5.0",
  59. "@types/node": "^24.10.1",
  60. "@types/react": "^19.2.5",
  61. "@types/react-dom": "^19.2.3",
  62. "@vitejs/plugin-react": "^5.2.0",
  63. "@vitest/coverage-v8": "^4.1.8",
  64. "autoprefixer": "^10.4.22",
  65. "baseline-browser-mapping": "^2.9.19",
  66. "eslint": "^9.39.1",
  67. "eslint-plugin-react-hooks": "^7.0.1",
  68. "eslint-plugin-react-refresh": "^0.4.24",
  69. "globals": "^16.5.0",
  70. "jsdom": "^25.0.0",
  71. "msw": "^2.6.0",
  72. "postcss": "^8.5.6",
  73. "tailwindcss": "^4.1.17",
  74. "typescript": "~5.9.3",
  75. "typescript-eslint": "^8.46.4",
  76. "vite": "^8.0.16",
  77. "vitest": "^4.1.8"
  78. }
  79. }