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