-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
110 lines (110 loc) · 3.54 KB
/
Copy pathpackage.json
File metadata and controls
110 lines (110 loc) · 3.54 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
{
"name": "expense",
"private": true,
"type": "module",
"scripts": {
"build": "react-router build --force",
"prebuild": "prisma contract emit",
"check": "./scripts/check",
"clean": "rm -rf node_modules/.vite .react-router build",
"cloc": "cloc --exclude-dir=node_modules,dist,build,coverage .",
"dev": "portless run -- react-router dev",
"screenshot": "SCREENSHOT=1 vp test run test/screenshot.test.ts",
"start": "NODE_ENV=production react-router-serve ./build/server/index.js",
"test": "react-router build --force && vp test run",
"test:changed": "vitest run --changed ${1:-HEAD}",
"test:related": "vitest related --run",
"prepare": "vp config",
"build:prisma": "prisma contract emit",
"setup:push": "tsx scripts/setup-push.ts",
"infer:rules": "tsx scripts/infer-email-rules",
"drain:email": "tsx scripts/drain-email-connection",
"screenshots:review": "tsx scripts/screenshots.ts",
"test:ocr": "RUN_OCR_TESTS=1 vpr test run test/pdf-ocr.test.ts test/receipt-ocr.test.ts",
"db:push": "prisma db update",
"knip": "knip",
"secretlint": "secretlint \"**/*\"",
"test:db:push": "bash scripts/reset-test-db"
},
"dependencies": {
"@expense/pdfkit-standard-fonts": "file:vendor/pdfkit-standard-fonts",
"@fontsource-variable/inter": "^5.3.0",
"@fontsource-variable/jetbrains-mono": "^5.3.0",
"@modelcontextprotocol/server": "^2.0.0",
"@napi-rs/canvas": "^1.0.9",
"@prisma/orm-family-sql": "8.0.0-rc.11",
"@prisma/orm-postgres": "8.0.0-rc.11",
"@react-router/dev": "^8.3.1",
"@react-router/fs-routes": "^8.3.1",
"@react-router/node": "^8.3.1",
"@react-router/serve": "^8.3.1",
"@resvg/resvg-js": "^2.6.2",
"@sentry/profiling-node": "^10.74.0",
"@sentry/react": "^10.74.0",
"@sentry/react-router": "^10.74.0",
"@sparticuz/chromium": "^153.0.0",
"@tailwindcss/forms": "^0.5.11",
"@tailwindcss/vite": "^4.3.3",
"@vercel/analytics": "^2.0.1",
"cheerio": "^1.2.0",
"class-variance-authority": "^0.7.1",
"cn": "^0.3.0",
"csv-stringify": "^6.8.3",
"decimal.js": "^10.6.0",
"dotenv": "^17.4.2",
"fflate": "^0.8.3",
"http_ece": "^1.2.1",
"isbot": "^5.2.2",
"kbar": "^1.0.0",
"leaflet": "^1.9.4",
"lucide-react": "^1.45.0",
"pdfjs-dist": "^6.3.289",
"pdfkit": "^0.20.2",
"pg": "8.23.0",
"portless": "^0.15.6",
"postal-mime": "^3.0.0",
"puppeteer-core": "^25.10.0",
"react": "^19.3.0",
"react-dom": "^19.3.0",
"react-router": "^8.3.1",
"sharp": "^0.35.4",
"tailwindcss": "^4.3.3",
"tesseract.js": "^7.0.0",
"tw-animate-css": "^1.4.0",
"ulid": "^3.0.2",
"zod": "^4.6.4"
},
"devDependencies": {
"@modelcontextprotocol/client": "^2.0.0",
"@prisma/cli-engine": "0.3.0",
"@secretlint/secretlint-rule-pattern": "^13.0.5",
"@secretlint/secretlint-rule-preset-recommend": "^13.0.5",
"@types/leaflet": "^1.9.22",
"@types/node": "^26.5.1",
"@types/pdfkit": "^0.17.6",
"@types/pg": "8.23.1",
"@types/react": "^19.3.0",
"@types/react-dom": "^19.3.0",
"knip": "^6.35.1",
"looks-same": "^10.0.1",
"playwright": "^1.63.0",
"prisma": "8.0.0-rc.14",
"secretlint": "^13.0.5",
"tsx": "^4.23.13",
"typescript": "^7.0.2",
"vite": "catalog:",
"vite-plus": "catalog:",
"vitest": "^5.0.0",
"yaml": "^2.9.1"
},
"engines": {
"node": ">=24"
},
"packageManager": "pnpm@12.4.1",
"knip": {
"ignoreFiles": [
"test/helpers/pinned-clock.mjs"
]
},
"portless": "expense"
}