1{
2 "name": "sidetrail",
3 "version": "0.1.0",
4 "private": true,
5 "workspaces": [
6 "db",
7 "ingester",
8 "realtime"
9 ],
10 "scripts": {
11 "dev": "next dev --turbopack",
12 "dev:ingester": "npm run -w sidetrail-ingester dev",
13 "dev:realtime": "npm run -w sidetrail-realtime dev",
14 "build": "rm -rf .next/cache/* && next build --webpack",
15 "start": "next start",
16 "lint": "eslint --ext .js,.jsx,.ts,.tsx .",
17 "typecheck": "tsc --noEmit",
18 "check": "npm run lint && npm run typecheck",
19 "format": "prettier --write .",
20 "format:check": "prettier --check .",
21 "prepare": "husky",
22 "postinstall": "patch-package && npm run lex:build",
23 "lex:build": "lex build --lexicons ./lexicons --out ./lib/lexicons --clear --importExt \"\"",
24 "db:push": "drizzle-kit push",
25 "db:studio": "drizzle-kit studio",
26 "test": "npx vitest run",
27 "test:watch": "npx vitest",
28 "deploy:app": "railway link --service sidetrail && railway up",
29 "deploy:ingester": "railway link --service ingester && railway up",
30 "deploy:realtime": "railway link --service realtime && railway up",
31 "deploy:all": "npm run deploy:app & npm run deploy:ingester & npm run deploy:realtime & wait"
32 },
33 "dependencies": {
34 "@atproto/api": "^0.17.4",
35 "@atproto/identity": "^0.4.9",
36 "@atproto/lex": "^0.0.4",
37 "@atproto/oauth-client-node": "^0.3.11",
38 "@atproto/syntax": "^0.4.2",
39 "@opentelemetry/api": "^1.9.0",
40 "@opentelemetry/instrumentation-pg": "^0.61.1",
41 "@radix-ui/react-dialog": "^1.1.15",
42 "@radix-ui/react-dropdown-menu": "^2.1.16",
43 "@types/pg": "^8.15.6",
44 "@types/ws": "^8.18.1",
45 "@vercel/otel": "^2.1.0",
46 "drizzle-orm": "^0.44.7",
47 "eslint-plugin-react-hooks": "^7.0.1",
48 "hls.js": "^1.6.13",
49 "ioredis": "^5.8.2",
50 "iron-session": "^8.0.4",
51 "lru-cache": "^11.2.4",
52 "next": "16.1.0-canary.12",
53 "pg": "^8.16.3",
54 "react": "^19",
55 "react-dom": "^19",
56 "ws": "^8.18.3"
57 },
58 "devDependencies": {
59 "@eslint/js": "^9.39.1",
60 "@types/node": "^22.14.1",
61 "@types/react": "^19.2.7",
62 "@types/react-dom": "^19.2.3",
63 "@vitest/ui": "^4.0.1",
64 "drizzle-kit": "^0.31.7",
65 "eslint": "^9.39.1",
66 "husky": "^9.1.7",
67 "lint-staged": "^16.2.6",
68 "patch-package": "^8.0.0",
69 "prettier": "^3.6.2",
70 "server-only": "^0.0.1",
71 "typescript": "^5.9.3",
72 "typescript-eslint": "^8.46.4",
73 "vitest": "^4.0.1"
74 },
75 "overrides": {
76 "next": "16.1.0-canary.12"
77 },
78 "engines": {
79 "node": ">=22.16.0"
80 },
81 "lint-staged": {
82 "*": "prettier --write --ignore-unknown"
83 }
84}