package.json 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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.0",
  33. "gcode-preview": "^2.18.0",
  34. "i18next": "25.6.3",
  35. "i18next-browser-languagedetector": "^8.2.0",
  36. "i18next-http-backend": "^3.0.2",
  37. "jszip": "^3.10.1",
  38. "lucide-react": "^0.555.0",
  39. "react": "^19.2.0",
  40. "react-dom": "^19.2.0",
  41. "react-i18next": "^16.3.5",
  42. "react-router-dom": "^7.12.0",
  43. "react-simple-keyboard": "^3.8.164",
  44. "recharts": "^3.5.1",
  45. "three": "^0.181.2"
  46. },
  47. "overrides": {
  48. "minimatch": "^10.2.1"
  49. },
  50. "devDependencies": {
  51. "@eslint/js": "^9.39.1",
  52. "@tailwindcss/postcss": "^4.1.17",
  53. "@testing-library/jest-dom": "^6.6.0",
  54. "@testing-library/react": "^16.0.0",
  55. "@testing-library/user-event": "^14.5.0",
  56. "@types/node": "^24.10.1",
  57. "@types/react": "^19.2.5",
  58. "@types/react-dom": "^19.2.3",
  59. "@vitejs/plugin-react": "^5.1.1",
  60. "@vitest/coverage-v8": "^3.2.4",
  61. "autoprefixer": "^10.4.22",
  62. "baseline-browser-mapping": "^2.9.19",
  63. "eslint": "^9.39.1",
  64. "eslint-plugin-react-hooks": "^7.0.1",
  65. "eslint-plugin-react-refresh": "^0.4.24",
  66. "globals": "^16.5.0",
  67. "jsdom": "^25.0.0",
  68. "msw": "^2.6.0",
  69. "postcss": "^8.5.6",
  70. "tailwindcss": "^4.1.17",
  71. "typescript": "~5.9.3",
  72. "typescript-eslint": "^8.46.4",
  73. "vite": "^7.3.2",
  74. "vitest": "^3.2.4"
  75. }
  76. }