an app to share curated trails sidetrail.app
1

Configure Feed

Select the types of activity you want to include in your feed.

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 "@opentelemetry/api": "^1.9.0", 39 "@opentelemetry/instrumentation-pg": "^0.61.1", 40 "@radix-ui/react-dialog": "^1.1.15", 41 "@radix-ui/react-dropdown-menu": "^2.1.16", 42 "@types/pg": "^8.15.6", 43 "@types/ws": "^8.18.1", 44 "@vercel/otel": "^2.1.0", 45 "drizzle-orm": "^0.44.7", 46 "eslint-plugin-react-hooks": "^7.0.1", 47 "hls.js": "^1.6.13", 48 "ioredis": "^5.8.2", 49 "iron-session": "^8.0.4", 50 "lru-cache": "^11.2.4", 51 "next": "16.1.0-canary.12", 52 "pg": "^8.16.3", 53 "react": "^19", 54 "react-dom": "^19", 55 "ws": "^8.18.3" 56 }, 57 "devDependencies": { 58 "@eslint/js": "^9.39.1", 59 "@types/node": "^22.14.1", 60 "@types/react": "^19.2.7", 61 "@types/react-dom": "^19.2.3", 62 "@vitest/ui": "^4.0.1", 63 "drizzle-kit": "^0.31.7", 64 "eslint": "^9.39.1", 65 "husky": "^9.1.7", 66 "lint-staged": "^16.2.6", 67 "patch-package": "^8.0.0", 68 "prettier": "^3.6.2", 69 "server-only": "^0.0.1", 70 "typescript": "^5.9.3", 71 "typescript-eslint": "^8.46.4", 72 "vitest": "^4.0.1" 73 }, 74 "overrides": { 75 "next": "16.1.0-canary.12" 76 }, 77 "engines": { 78 "node": ">=22.16.0" 79 }, 80 "lint-staged": { 81 "*": "prettier --write --ignore-unknown" 82 } 83}