the statusphere demo reworked into a vite/react app in a monorepo

build lexicon package in build pipeline

+17 -13
+13 -11
README.md
··· 43 44 ```bash 45 # Build commands 46 - pnpm build # Build frontend first, then backend 47 - pnpm build:appview # Build only the backend 48 - pnpm build:client # Build only the frontend 49 50 # Start commands 51 - pnpm start # Start the server (serves API and frontend) 52 - pnpm start:client # Start frontend development server only 53 - pnpm start:dev # Start both backend and frontend separately (development only) 54 55 # Other utilities 56 - pnpm typecheck # Run type checking 57 - pnpm format # Format all code 58 ``` 59 60 ## Deployment 61 62 For production deployment: 63 64 - 1. Build both packages: 65 ```bash 66 pnpm build 67 ``` 68 69 This will: 70 - - Build the frontend (`packages/client`) first 71 - - Then build the backend (`packages/appview`) 72 73 2. Start the server: 74 ```bash
··· 43 44 ```bash 45 # Build commands 46 + pnpm build # Build in correct order: lexicon → client → appview 47 + pnpm build:lexicon # Build only the lexicon package (type definitions) 48 + pnpm build:client # Build only the frontend 49 + pnpm build:appview # Build only the backend 50 51 # Start commands 52 + pnpm start # Start the server (serves API and frontend) 53 + pnpm start:client # Start frontend development server only 54 + pnpm start:dev # Start both backend and frontend separately (development only) 55 56 # Other utilities 57 + pnpm typecheck # Run type checking 58 + pnpm format # Format all code 59 ``` 60 61 ## Deployment 62 63 For production deployment: 64 65 + 1. Build all packages in the correct order: 66 ```bash 67 pnpm build 68 ``` 69 70 This will: 71 + - Build the lexicon package first (shared type definitions) 72 + - Build the frontend (`packages/client`) next 73 + - Finally build the backend (`packages/appview`) 74 75 2. Start the server: 76 ```bash
+2 -1
package.json
··· 12 "dev:oauth": "node scripts/setup-ngrok.js", 13 "lexgen": "pnpm --filter @statusphere/lexicon build", 14 15 - "build": "pnpm build:client && pnpm build:appview", 16 "build:appview": "pnpm --filter @statusphere/appview build", 17 "build:client": "pnpm --filter @statusphere/client build", 18
··· 12 "dev:oauth": "node scripts/setup-ngrok.js", 13 "lexgen": "pnpm --filter @statusphere/lexicon build", 14 15 + "build": "pnpm build:lexicon && pnpm build:client && pnpm build:appview", 16 + "build:lexicon": "pnpm --filter @statusphere/lexicon build", 17 "build:appview": "pnpm --filter @statusphere/appview build", 18 "build:client": "pnpm --filter @statusphere/client build", 19
+2 -1
packages/lexicon/package.json
··· 12 "dev": "tsup --watch", 13 "clean": "rimraf dist", 14 "typecheck": "tsc --noEmit", 15 - "lexgen": "lex gen-api ./src ../../lexicons/xyz/statusphere/* ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* --yes" 16 }, 17 "dependencies": { 18 "@atproto/api": "^0.14.7",
··· 12 "dev": "tsup --watch", 13 "clean": "rimraf dist", 14 "typecheck": "tsc --noEmit", 15 + "lexgen": "lex gen-api ./src ../../lexicons/xyz/statusphere/* ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* --yes", 16 + "postinstall": "pnpm run build" 17 }, 18 "dependencies": { 19 "@atproto/api": "^0.14.7",