@exanderal/stackcraft 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -18,7 +18,8 @@ Follow the prompts — you'll have an Nx monorepo with deps installed and ready
|
|
|
18
18
|
your-project/
|
|
19
19
|
├── apps/
|
|
20
20
|
│ ├── backend/ # NestJS REST or GraphQL API
|
|
21
|
-
│
|
|
21
|
+
│ ├── web/ # Vite + React or Next.js
|
|
22
|
+
│ └── mobile/ # Expo (optional)
|
|
22
23
|
├── packages/
|
|
23
24
|
│ └── types/ # auto-generated types shared across all apps
|
|
24
25
|
└── tools/
|
|
@@ -51,6 +52,13 @@ src/
|
|
|
51
52
|
- TypeScript
|
|
52
53
|
- GraphQL projects: Apollo Client pre-configured, `ApolloProvider` already wired at the app root
|
|
53
54
|
|
|
55
|
+
### Mobile (`apps/mobile`) — optional
|
|
56
|
+
|
|
57
|
+
- Expo with Expo Router (file-based navigation)
|
|
58
|
+
- React Native
|
|
59
|
+
- `@local/types` already wired — import shared types directly
|
|
60
|
+
- GraphQL projects: Apollo Client added automatically
|
|
61
|
+
|
|
54
62
|
### Types (`packages/types`)
|
|
55
63
|
|
|
56
64
|
Auto-generated TypeScript types shared across all apps — import from `@local/types/rest` or `@local/types/graphql`:
|
|
@@ -88,9 +96,10 @@ Generate a new domain module (model + repository + service):
|
|
|
88
96
|
|
|
89
97
|
```sh
|
|
90
98
|
pnpm generate:module --name=trainer
|
|
91
|
-
pnpm generate:module --name=trainer --graphql # adds @ObjectType() to the model
|
|
92
99
|
```
|
|
93
100
|
|
|
101
|
+
You'll be prompted whether to add `@ObjectType()` to the model (required for GraphQL resolvers). Pass `--graphql` to skip the prompt.
|
|
102
|
+
|
|
94
103
|
Generate a REST controller:
|
|
95
104
|
|
|
96
105
|
```sh
|
|
@@ -137,6 +146,7 @@ const { data, loading } = useGetTrainersQuery()
|
|
|
137
146
|
| Backend | NestJS, TypeORM |
|
|
138
147
|
| Database | PostgreSQL or MySQL |
|
|
139
148
|
| Frontend | Vite + React or Next.js |
|
|
149
|
+
| Mobile | Expo + Expo Router |
|
|
140
150
|
| Styles | Tailwind CSS v4 |
|
|
141
151
|
| GraphQL client | Apollo Client |
|
|
142
152
|
| REST types | @hey-api/openapi-ts |
|
|
@@ -151,7 +161,8 @@ const { data, loading } = useGetTrainersQuery()
|
|
|
151
161
|
- [x] `codegen:watch` for live type generation during dev
|
|
152
162
|
- [x] Apollo Client pre-configured in GraphQL projects
|
|
153
163
|
- [x] Typed Apollo hooks from `.graphql` operation files
|
|
154
|
-
- [
|
|
164
|
+
- [x] Expo mobile with Expo Router
|
|
165
|
+
- [x] Interactive `generate:module` prompt
|
|
155
166
|
- [ ] `stackcraft add` addon system (auth, Supabase, etc.)
|
|
156
167
|
- [ ] Presets and `--config` for non-interactive use
|
|
157
168
|
|