-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
123 lines (123 loc) · 4.65 KB
/
Copy pathpackage.json
File metadata and controls
123 lines (123 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
"name": "maix",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"postinstall": "prisma generate",
"type-check": "tsc --noEmit",
"test": "jest --passWithNoTests",
"test:unit": "jest --passWithNoTests --testPathIgnorePatterns='/tests/e2e|integration\\.test'",
"test:watch": "jest --watch",
"test:integration": "jest --config jest.integration.config.js",
"test:integration:debug": "DEBUG=1 jest --config jest.integration.config.js --verbose",
"test:integration:safe": "./scripts/test-integration-safe.sh",
"test:integration:watch": "jest --config jest.integration.config.js --watch",
"test:integration:sequential": "jest --config jest.integration.config.js --runInBand",
"test:int": "./scripts/int_test.sh",
"test:db:start": "./scripts/test-db.sh start",
"test:db:stop": "./scripts/test-db.sh stop",
"test:db:reset": "./scripts/test-db.sh reset",
"test:db:status": "docker ps | grep postgres-test || echo 'Test database not running'",
"test:all": "npm run test && npm run test:integration",
"test:structured-content": "tsx scripts/test-structured-content.ts",
"db:migrate:new": "./scripts/create-migration.sh",
"db:migrate:apply": "source .env && prisma migrate deploy",
"db:migrate:status": "source .env && prisma migrate status",
"db:migrate:reset": "echo '⚠️ WARNING: This will DELETE all data! Use db:backup first' && prisma migrate reset",
"db:backup": "./scripts/backup_database.sh",
"db:health": "./scripts/db-health-check.sh",
"db:studio": "prisma studio",
"db:seed": "tsx prisma/seed.ts",
"db:push": "echo '❌ ERROR: db:push is dangerous! Use db:migrate:new instead' && exit 1",
"prepare": "husky",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:debug": "playwright test --debug",
"test:e2e:demo": "playwright test tests/e2e/todo-demo.spec.ts --headed",
"test:e2e:demo:simple": "playwright test tests/e2e/todo-demo-simple.spec.ts --headed",
"test:e2e:demo:video": "playwright test tests/e2e/todo-demo-video.spec.ts --headed"
},
"dependencies": {
"@ai-sdk/google": "^2.0.3",
"@anthropic-ai/sdk": "^0.24.3",
"@axiomhq/js": "^1.3.1",
"@axiomhq/pino": "^1.3.1",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@google/genai": "^1.12.0",
"@hookform/resolvers": "^3.10.0",
"@modelcontextprotocol/sdk": "^1.17.2",
"@next-auth/prisma-adapter": "^1.0.7",
"@prisma/client": "^6.13.0",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"@radix-ui/react-icons": "^1.3.2",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.5",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toast": "^1.1.5",
"@react-email/components": "^0.4.0",
"@tailwindcss/typography": "^0.5.16",
"@types/bcryptjs": "^2.4.6",
"@types/jsonwebtoken": "^9.0.10",
"ai": "^5.0.7",
"bcryptjs": "^3.0.2",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"date-fns": "^2.30.0",
"framer-motion": "^10.16.4",
"jsonwebtoken": "^9.0.2",
"lucide-react": "^0.290.0",
"mcp-handler": "^1.0.1",
"next": "15.4.10",
"next-auth": "^4.24.5",
"next-axiom": "^1.9.2",
"next-themes": "^0.4.6",
"pino": "^9.7.0",
"pino-pretty": "^13.1.1",
"react": "^18.2.0",
"react-day-picker": "^9.8.1",
"react-dom": "^18.2.0",
"react-hook-form": "^7.60.0",
"react-markdown": "^9.1.0",
"rehype-sanitize": "^6.0.0",
"resend": "^2.0.0",
"tailwind-merge": "^2.6.0",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.25.76"
},
"devDependencies": {
"@playwright/test": "^1.54.2",
"@swc/core": "^1.13.3",
"@swc/jest": "^0.2.39",
"@testing-library/jest-dom": "^6.1.4",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^14.6.1",
"@types/jest": "^30.0.0",
"@types/node": "^20.8.10",
"@types/react": "^18.2.37",
"@types/react-dom": "^18.2.15",
"autoprefixer": "^10.4.16",
"eslint": "^8.53.0",
"eslint-config-next": "14.2.15",
"husky": "^9.1.7",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-mock-extended": "^4.0.0",
"postcss": "^8.4.31",
"prisma": "^6.13.0",
"tailwindcss": "^3.3.5",
"tsx": "^4.1.0",
"typescript": "^5.2.2"
}
}