package.json 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. {
  2. "name": "radionica3d",
  3. "private": true,
  4. "version": "0.1.0",
  5. "type": "module",
  6. "scripts": {
  7. "dev": "npm run i18n:generate && vite",
  8. "build": "npm run i18n:generate && npm run sitemap:generate && vue-tsc && vite build",
  9. "i18n:generate": "node -e \"const cp=require('child_process'),fs=require('fs'); let p='python'; if(fs.existsSync('backend/venv/Scripts/python.exe')) p='backend\\\\venv\\\\Scripts\\\\python.exe'; else if(fs.existsSync('backend/venv/bin/python3')) p='backend/venv/bin/python3'; else if(fs.existsSync('backend/venv/bin/python')) p='backend/venv/bin/python'; cp.execSync(p+' scripts/manage_locales.py split', {stdio:'inherit'})\"",
  10. "sitemap:generate": "node -e \"const cp=require('child_process'),fs=require('fs'); let p='python'; if(fs.existsSync('backend/venv/Scripts/python.exe')) p='backend\\\\venv\\\\Scripts\\\\python.exe'; else if(fs.existsSync('backend/venv/bin/python3')) p='backend/venv/bin/python3'; else if(fs.existsSync('backend/venv/bin/python')) p='backend/venv/bin/python'; cp.execSync(p+' scripts/generate_sitemap.py', {stdio:'inherit'})\"",
  11. "i18n:merge": "node -e \"const cp=require('child_process'),fs=require('fs'); let p='python'; if(fs.existsSync('backend/venv/Scripts/python.exe')) p='backend\\\\venv\\\\Scripts\\\\python.exe'; else if(fs.existsSync('backend/venv/bin/python3')) p='backend/venv/bin/python3'; else if(fs.existsSync('backend/venv/bin/python')) p='backend/venv/bin/python'; cp.execSync(p+' scripts/manage_locales.py merge', {stdio:'inherit'})\"",
  12. "i18n:check": "node -e \"const cp=require('child_process'),fs=require('fs'); let p='python'; if(fs.existsSync('backend/venv/Scripts/python.exe')) p='backend\\\\venv\\\\Scripts\\\\python.exe'; else if(fs.existsSync('backend/venv/bin/python3')) p='backend/venv/bin/python3'; else if(fs.existsSync('backend/venv/bin/python')) p='backend/venv/bin/python'; cp.execSync(p+' scripts/manage_locales.py missing', {stdio:'inherit'})\"",
  13. "lint": "eslint . --ext ts,vue --report-unused-disable-directives --max-warnings 0",
  14. "preview": "vite preview",
  15. "test": "vitest run"
  16. },
  17. "dependencies": {
  18. "@tanstack/vue-query": "^5.25.0",
  19. "@types/three": "^0.183.1",
  20. "@unhead/schema": "^3.0.5",
  21. "@unhead/vue": "^3.0.5",
  22. "@vueuse/core": "^10.11.1",
  23. "@vueuse/motion": "^3.0.3",
  24. "class-variance-authority": "^0.7.0",
  25. "clsx": "^2.1.0",
  26. "date-fns": "^3.6.0",
  27. "i18next-browser-languagedetector": "^8.2.1",
  28. "lucide-vue-next": "^0.354.0",
  29. "pinia": "^2.3.1",
  30. "tailwind-merge": "^2.6.1",
  31. "tailwindcss-animate": "^1.0.7",
  32. "three": "^0.183.2",
  33. "vue": "^3.4.21",
  34. "vue-i18n": "^9.14.5",
  35. "vue-router": "^4.6.4",
  36. "vue-sonner": "^1.3.2",
  37. "zod": "^3.25.76"
  38. },
  39. "devDependencies": {
  40. "@types/node": "^20.11.25",
  41. "@vitejs/plugin-vue": "^6.0.6",
  42. "@vue/test-utils": "^2.4.6",
  43. "autoprefixer": "^10.5.0",
  44. "jsdom": "^29.0.2",
  45. "postcss": "^8.5.10",
  46. "tailwindcss": "^3.4.19",
  47. "typescript": "^5.3.3",
  48. "vite": "^6.0.0",
  49. "vite-plugin-prerender": "^1.0.8",
  50. "vitest": "^4.1.4",
  51. "vue-tsc": "^2.2.12"
  52. },
  53. "overrides": {
  54. "esbuild": "0.25.0",
  55. "braces": "3.0.3",
  56. "micromatch": "4.0.8",
  57. "http-proxy-middleware": "3.0.5",
  58. "html-minifier": "npm:html-minifier-terser@^7.2.0"
  59. }
  60. }