|
4 | 4 | "private": true, |
5 | 5 | "description": "Multi-tenant e-commerce SaaS platform built with Next.js 16", |
6 | 6 | "scripts": { |
7 | | - "dev": "next dev", |
| 7 | + "dev": "next dev --turbo", |
8 | 8 | "build": "next build", |
9 | 9 | "start": "next start", |
10 | 10 | "lint": "eslint .", |
11 | 11 | "lint:fix": "eslint . --fix", |
12 | 12 | "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,css,md}\"", |
13 | | - "type-check": "tsc --noEmit", |
| 13 | + "type-check": "tsc --noEmit --incremental", |
14 | 14 | "type-check:save": "powershell -ExecutionPolicy Bypass -File ./scripts/collect-type-errors.ps1", |
| 15 | + "lint:save": "powershell -ExecutionPolicy Bypass -File ./scripts/collect-lint-errors.ps1", |
15 | 16 | "test": "vitest run", |
16 | 17 | "test:watch": "vitest", |
17 | 18 | "test:coverage": "vitest run --coverage", |
|
21 | 22 | "db:migrate": "prisma migrate dev", |
22 | 23 | "db:studio": "prisma studio", |
23 | 24 | "db:seed": "tsx prisma/seed.ts", |
| 25 | + "db:seed:dev": "tsx scripts/seed-dev.ts", |
24 | 26 | "db:generate": "prisma generate", |
| 27 | + "db:backup": "powershell -ExecutionPolicy Bypass -File ./scripts/backup-db.ps1", |
25 | 28 | "postinstall": "prisma generate" |
26 | 29 | }, |
27 | 30 | "dependencies": { |
28 | 31 | "@hookform/resolvers": "^3.10.0", |
29 | | - "@prisma/client": "^6.18.0", |
| 32 | + "@prisma/client": "^6.19.0", |
30 | 33 | "@radix-ui/colors": "^3.0.0", |
31 | 34 | "@radix-ui/react-accordion": "^1.2.12", |
32 | 35 | "@radix-ui/react-dialog": "^1.1.0", |
|
54 | 57 | "@types/speakeasy": "^2.0.10", |
55 | 58 | "@upstash/ratelimit": "^2.0.0", |
56 | 59 | "@upstash/redis": "^1.34.0", |
| 60 | + "@vercel/analytics": "^1.5.0", |
57 | 61 | "@vercel/blob": "^0.25.0", |
58 | 62 | "@vercel/kv": "^3.0.0", |
| 63 | + "@vercel/speed-insights": "^1.2.0", |
59 | 64 | "bcrypt": "^5.1.1", |
60 | 65 | "bcryptjs": "^3.0.2", |
61 | 66 | "better-auth": "^1.3.31", |
|
65 | 70 | "date-fns": "^4.1.0", |
66 | 71 | "framer-motion": "^11.11.0", |
67 | 72 | "isomorphic-dompurify": "^2.30.1", |
| 73 | + "js-yaml": "^4.1.0", |
68 | 74 | "lucide-react": "^0.460.0", |
69 | | - "next": "^16.0.0", |
70 | | - "next-auth": "^4.24.11", |
| 75 | + "next": "^16.0.1", |
| 76 | + "next-auth": "^4.24.13", |
71 | 77 | "next-devtools-mcp": "^0.2.1", |
72 | 78 | "otpauth": "^9.4.1", |
73 | 79 | "qrcode": "^1.5.4", |
|
77 | 83 | "react-hook-form": "^7.65.0", |
78 | 84 | "recharts": "^3.3.0", |
79 | 85 | "resend": "^4.0.0", |
80 | | - "sharp": "^0.33.0", |
| 86 | + "sharp": "^0.33.5", |
81 | 87 | "speakeasy": "^2.0.0", |
82 | 88 | "stripe": "^17.7.0", |
83 | 89 | "tailwind-merge": "^2.5.0", |
|
96 | 102 | "@testing-library/react": "^16.0.0", |
97 | 103 | "@testing-library/user-event": "^14.5.0", |
98 | 104 | "@types/dompurify": "^3.0.5", |
| 105 | + "@types/js-yaml": "^4.0.9", |
99 | 106 | "@types/node": "^22.0.0", |
100 | 107 | "@types/react": "^19.0.0", |
101 | 108 | "@types/react-dom": "^19.0.0", |
|
109 | 116 | "postcss": "^8.5.6", |
110 | 117 | "prettier": "^3.3.0", |
111 | 118 | "prettier-plugin-tailwindcss": "^0.6.0", |
112 | | - "prisma": "^6.18.0", |
| 119 | + "prisma": "^6.19.0", |
113 | 120 | "tailwindcss": "^4.1.16", |
114 | 121 | "tailwindcss-animate": "^1.0.7", |
115 | 122 | "tsx": "^4.19.0", |
116 | 123 | "typescript": "5.9.3", |
117 | 124 | "vite": "^7.1.12", |
118 | | - "vitest": "^3.2.4" |
| 125 | + "vitest": "^3.2.4", |
| 126 | + "vitest-mock-extended": "^3.1.0" |
119 | 127 | }, |
120 | 128 | "overrides": { |
121 | 129 | "next-auth": { |
122 | | - "next": "16.0.0" |
123 | | - } |
| 130 | + "next": "^16.0.1" |
| 131 | + }, |
| 132 | + "prismjs": "^1.30.0", |
| 133 | + "refractor": "^4.7.0", |
| 134 | + "react-syntax-highlighter": "^15.6.0" |
124 | 135 | }, |
125 | 136 | "engines": { |
126 | | - "node": ">=22.0.0", |
127 | | - "npm": ">=11.0.0" |
| 137 | + "node": ">=20.0.0", |
| 138 | + "npm": ">=10.0.0" |
128 | 139 | } |
129 | 140 | } |
0 commit comments