-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
96 lines (96 loc) · 2.87 KB
/
package.json
File metadata and controls
96 lines (96 loc) · 2.87 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
{
"name": "swapify",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev -H 127.0.0.1",
"build": "next build",
"start": "next start",
"lint": "eslint",
"lint:strict": "eslint --max-warnings 0",
"lint:ci": "eslint --max-warnings 44",
"format": "prettier --write \"src/**/*.{ts,tsx,css}\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,css}\"",
"type-check": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:integration": "vitest run --config vitest.integration.config.ts",
"db:migrate": "npx tsx src/db/migrate.ts",
"db:generate": "drizzle-kit generate",
"db:seed": "npx tsx src/db/seed.ts",
"db:validate": "npx tsx src/db/validate-migrations.ts",
"worker": "npx tsx src/worker.ts",
"worker:build": "npx esbuild src/worker.ts --bundle --platform=node --outfile=worker.js --packages=external",
"email:assets": "node scripts/generate-email-assets.mjs",
"security": "bash scripts/security-scan.sh all",
"security:codeql": "bash scripts/security-scan.sh codeql",
"security:audit": "bash scripts/security-scan.sh audit",
"security:secrets": "bash scripts/security-scan.sh secrets",
"prepare": "husky"
},
"lint-staged": {
"*.{ts,tsx}": [
"eslint --fix --max-warnings 0",
"prettier --write"
],
"*.css": [
"prettier --write"
]
},
"dependencies": {
"@anthropic-ai/sdk": "^0.77.0",
"@electric-sql/pglite": "^0.3.15",
"@phosphor-icons/react": "^2.1.10",
"@types/pg": "^8.16.0",
"better-sqlite3": "^12.6.2",
"cal-sans": "^1.0.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"drizzle-orm": "^0.45.1",
"emoji-picker-react": "^4.18.0",
"iron-session": "^8.0.4",
"motion": "^12.34.2",
"nanoid": "^5.1.6",
"next": "16.1.6",
"pg": "^8.18.0",
"pino": "^10.3.1",
"radix-ui": "^1.4.3",
"react": "19.2.3",
"react-dom": "19.2.3",
"resend": "^6.9.2",
"sonner": "^2.0.7",
"tailwind-merge": "^3.5.0",
"vaul": "^1.1.2",
"web-push": "^3.6.7",
"zod": "^4.3.6"
},
"overrides": {
"bn.js": ">=5.2.3"
},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^25",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/web-push": "^3.6.4",
"@vitest/coverage-v8": "^4.0.18",
"drizzle-kit": "^0.31.9",
"esbuild": "^0.27.3",
"eslint": "^9",
"eslint-config-next": "16.1.6",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-sonarjs": "^4.0.0",
"happy-dom": "^20.6.3",
"husky": "^9.1.7",
"lint-staged": "^16.2.7",
"msw": "^2.12.10",
"prettier": "^3.8.1",
"shadcn": "^3.8.5",
"tailwindcss": "^4",
"tw-animate-css": "^1.4.0",
"typescript": "^5",
"vitest": "^4.0.18"
}
}