package.json 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. {
  2. "name": "workoutcool",
  3. "version": "1.2.3",
  4. "private": true,
  5. "scripts": {
  6. "dev": "next dev --turbopack",
  7. "build": "next build",
  8. "email": "email dev",
  9. "start": "next start",
  10. "stripe-webhooks": "stripe listen --forward-to localhost:3000/api/webhooks/stripe",
  11. "vercel-build": "next build",
  12. "old-vercel-build": "prisma generate && prisma migrate deploy && next build",
  13. "postinstall": "prisma generate",
  14. "lint": "next lint",
  15. "import:exercises-full": "tsx scripts/import-exercises-with-attributes.ts",
  16. "db:seed": "pnpm run import:exercises-full ./data/sample-exercises.csv",
  17. "migrate:prod": "env-cmd -f .env.production prisma migrate deploy"
  18. },
  19. "resolutions": {
  20. "prettier": "^3.4.2"
  21. },
  22. "dependencies": {
  23. "@auth/prisma-adapter": "^2.8.0",
  24. "@dnd-kit/core": "^6.3.1",
  25. "@dnd-kit/modifiers": "^9.0.0",
  26. "@dnd-kit/sortable": "^10.0.0",
  27. "@dnd-kit/utilities": "^3.2.2",
  28. "@hookform/resolvers": "^5.0.1",
  29. "@openpanel/nextjs": "^1.0.8",
  30. "@prisma/client": "^6.5.0",
  31. "@radix-ui/react-accordion": "^1.2.3",
  32. "@radix-ui/react-alert-dialog": "^1.1.6",
  33. "@radix-ui/react-aspect-ratio": "^1.1.2",
  34. "@radix-ui/react-avatar": "^1.1.3",
  35. "@radix-ui/react-dialog": "^1.1.6",
  36. "@radix-ui/react-dropdown-menu": "^2.1.6",
  37. "@radix-ui/react-hover-card": "^1.1.7",
  38. "@radix-ui/react-icons": "^1.3.2",
  39. "@radix-ui/react-label": "^2.1.2",
  40. "@radix-ui/react-navigation-menu": "^1.2.6",
  41. "@radix-ui/react-popover": "^1.1.6",
  42. "@radix-ui/react-portal": "^1.1.5",
  43. "@radix-ui/react-radio-group": "^1.3.3",
  44. "@radix-ui/react-scroll-area": "^1.2.6",
  45. "@radix-ui/react-select": "^2.1.7",
  46. "@radix-ui/react-separator": "^1.1.2",
  47. "@radix-ui/react-slider": "^1.3.2",
  48. "@radix-ui/react-slot": "^1.2.0",
  49. "@radix-ui/react-switch": "^1.2.2",
  50. "@radix-ui/react-tabs": "^1.1.3",
  51. "@radix-ui/react-toast": "^1.2.7",
  52. "@radix-ui/react-tooltip": "^1.1.8",
  53. "@react-email/components": "^0.0.35",
  54. "@react-email/html": "^0.0.11",
  55. "@react-email/render": "^1.1.2",
  56. "@react-email/tailwind": "^1.0.4",
  57. "@t3-oss/env-nextjs": "^0.12.0",
  58. "@tailwindcss/typography": "^0.5.16",
  59. "@tanstack/react-query": "^5.74.3",
  60. "@tanstack/react-query-devtools": "^5.74.4",
  61. "@vercel/functions": "^2.0.3",
  62. "better-auth": "^1.2.7",
  63. "canvas-confetti": "^1.9.3",
  64. "class-variance-authority": "^0.7.1",
  65. "clsx": "^2.1.1",
  66. "csv-parser": "^3.2.0",
  67. "daisyui": "^5.0.43",
  68. "dayjs": "^1.11.13",
  69. "eslint-config-prettier": "^10.1.1",
  70. "framer-motion": "^12.7.2",
  71. "geist": "^1.3.1",
  72. "lucide-react": "^0.487.0",
  73. "mysql2": "^3.14.1",
  74. "next": "15.2.3",
  75. "next-international": "^1.3.1",
  76. "next-mdx-remote": "^5.0.0",
  77. "next-safe-action": "^7.10.4",
  78. "next-themes": "^0.4.6",
  79. "nodemailer": "^6.10.0",
  80. "npm": "^11.3.0",
  81. "nprogress": "^0.2.0",
  82. "nuqs": "^2.4.3",
  83. "pg": "^8.14.1",
  84. "prisma": "^6.5.0",
  85. "react": "^19.0.0",
  86. "react-dom": "^19.0.0",
  87. "react-hook-form": "^7.55.0",
  88. "react-icons": "^5.5.0",
  89. "sonner": "^2.0.3",
  90. "usehooks-ts": "^3.1.1",
  91. "vaul": "^1.1.2",
  92. "zod": "^3.24.2",
  93. "zustand": "^5.0.3"
  94. },
  95. "devDependencies": {
  96. "@eslint/compat": "^1.2.7",
  97. "@eslint/eslintrc": "^3.3.1",
  98. "@eslint/js": "^9.28.0",
  99. "@next/bundle-analyzer": "^15.3.4",
  100. "@next/eslint-plugin-next": "^15.2.4",
  101. "@types/canvas-confetti": "^1.9.0",
  102. "@types/node": "^20",
  103. "@types/nodemailer": "^6.4.17",
  104. "@types/nprogress": "^0.2.3",
  105. "@types/react": "^19",
  106. "@types/react-dom": "^19",
  107. "@typescript-eslint/eslint-plugin": "^8.29.0",
  108. "@typescript-eslint/parser": "^8.29.0",
  109. "autoprefixer": "^10.4.21",
  110. "env-cmd": "^10.1.0",
  111. "eslint": "^9.23.0",
  112. "eslint-config-next": "15.2.3",
  113. "eslint-plugin-import": "^2.31.0",
  114. "eslint-plugin-prettier": "^5.2.5",
  115. "eslint-plugin-react": "^7.37.4",
  116. "eslint-plugin-react-hooks": "^5.2.0",
  117. "eslint-plugin-unused-imports": "^4.1.4",
  118. "globals": "^16.0.0",
  119. "postcss": "^8.5.3",
  120. "prettier": "^3.4.2",
  121. "prettier-plugin-sort-json": "^4.1.1",
  122. "tailwind-merge": "^2.3.0",
  123. "tailwindcss": "^3.4.13",
  124. "tailwindcss-animate": "^1.0.7",
  125. "tslog": "^4.9.3",
  126. "tsx": "^4.19.4",
  127. "typescript": "^5",
  128. "typescript-eslint": "^8.29.0"
  129. }
  130. }