Skip to content
File

Blob: package.json

json80 lines
1{
2 "name": "tessera",
3 "version": "0.1.0",
4 "private": true,
5 "license": "MIT",
6 "engines": {
7 "node": ">=24.11.0 <25"
8 },
9 "type": "module",
10 "scripts": {
11 "dev": "vite dev",
12 "build": "vite build",
13 "preview": "vite preview",
14 "test": "vitest run",
15 "test:watch": "vitest",
16 "test:e2e": "playwright test -c tests/e2e/playwright.config.ts",
17 "test:client": "tsx scripts/test-client/run.ts",
18 "test:consent": "tsx scripts/test-consent/run.ts",
19 "lint": "eslint . --max-warnings=0",
20 "types:generate": "wrangler types --env-file .dev.vars.example",
21 "typecheck": "npm run types:generate && tsc -p tsconfig.json --noEmit && tsc -p tests/tsconfig.json --noEmit",
22 "db:generate": "drizzle-kit generate --config=drizzle-d1.config.ts",
23 "db:migrate": "wrangler d1 migrations apply tessera-prod --remote",
24 "db:migrate:local": "wrangler d1 migrations apply tessera-prod --local",
25 "db:seed-initial-user": "tsx scripts/seed-bootstrap-invite.ts --remote",
26 "db:seed-initial-user:local": "tsx scripts/seed-bootstrap-invite.ts --local",
27 "auth:generate": "NODE_OPTIONS='--import tsx/esm' auth generate --config src/worker/auth/cli-config.ts --output src/worker/db/schema/auth.ts -y",
28 "deploy": "npm run build && npm run db:migrate && wrangler deploy --keep-vars",
29 "format": "prettier --write .",
30 "format:check": "prettier --check ."
31 },
32 "dependencies": {
33 "@better-auth/drizzle-adapter": "1.7.3",
34 "@better-auth/oauth-provider": "1.7.3",
35 "@fontsource-variable/hanken-grotesk": "^5.3.0",
36 "@fontsource-variable/jetbrains-mono": "^5.3.0",
37 "@fontsource/spectral": "^5.3.0",
38 "@marsidev/react-turnstile": "^1.6.1",
39 "@noble/hashes": "^2.4.0",
40 "@tanstack/react-query": "^5.102.8",
41 "better-auth": "1.7.3",
42 "drizzle-orm": "^0.45.2",
43 "hono": "^4.13.7",
44 "lucide-react": "^0.546.0",
45 "react": "^19.3.0",
46 "react-dom": "^19.3.0",
47 "react-router": "^8.3.1"
48 },
49 "devDependencies": {
50 "@babel/core": "^8.0.1",
51 "@cloudflare/vite-plugin": "^1.54.6",
52 "@cloudflare/vitest-plugin": "^1.1.6",
53 "@eslint/js": "^10.0.1",
54 "@playwright/test": "^1.63.0",
55 "@rolldown/plugin-babel": "^0.2.4",
56 "@tailwindcss/vite": "^4.3.3",
57 "@types/node": "^24.13.4",
58 "@types/react": "^19.3.0",
59 "@types/react-dom": "^19.3.0",
60 "@typescript/native": "npm:typescript@^7.0.2",
61 "@vitejs/plugin-react": "^6.1.1",
62 "auth": "1.7.3",
63 "babel-plugin-react-compiler": "^1.0.0",
64 "drizzle-kit": "^0.31.10",
65 "eslint": "^10.10.0",
66 "eslint-plugin-react-hooks": "^7.1.1",
67 "eslint-plugin-react-refresh": "^0.5.6",
68 "globals": "^17.12.0",
69 "jose": "^6.2.12",
70 "prettier": "^3.9.6",
71 "tailwindcss": "^4.3.3",
72 "tsx": "^4.23.13",
73 "typescript": "npm:@typescript/typescript6@^6.0.2",
74 "typescript-eslint": "^8.70.0",
75 "vite": "^8.2.2",
76 "vitest": "^4.1.11",
77 "wrangler": "^4.130.0"
78 }
79}