@idealyst/cli 1.0.88 → 1.0.90

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.
Files changed (208) hide show
  1. package/dist/generators/index.js +3 -40
  2. package/dist/generators/index.js.map +1 -1
  3. package/dist/generators/init.js +273 -0
  4. package/dist/generators/init.js.map +1 -0
  5. package/dist/generators/utils.js +5 -0
  6. package/dist/generators/utils.js.map +1 -1
  7. package/dist/index.js +20 -202
  8. package/dist/index.js.map +1 -1
  9. package/dist/scripts/configure-react-native-monorepo.js +144 -0
  10. package/dist/scripts/configure-react-native-monorepo.js.map +1 -0
  11. package/dist/{templates/workspace → template}/README.md +66 -12
  12. package/dist/template/package.json +45 -0
  13. package/{templates → dist/template/packages}/api/package.json +3 -1
  14. package/{templates → dist/template/packages}/database/package.json +1 -1
  15. package/dist/{templates/native → template/packages/mobile}/babel.config.js +1 -0
  16. package/{templates/native → dist/template/packages/mobile}/metro.config.js +4 -4
  17. package/{templates/native → dist/template/packages/mobile}/package.json +5 -2
  18. package/{templates → dist/template/packages}/shared/package.json +2 -2
  19. package/{templates → dist/template/packages}/web/package.json +4 -1
  20. package/dist/types/generators/index.d.ts +1 -7
  21. package/dist/types/generators/init.d.ts +5 -0
  22. package/dist/types/scripts/configure-react-native-monorepo.d.ts +23 -0
  23. package/dist/types/types.d.ts +0 -4
  24. package/package.json +1 -1
  25. package/dist/generators/api.js +0 -31
  26. package/dist/generators/api.js.map +0 -1
  27. package/dist/generators/database.js +0 -31
  28. package/dist/generators/database.js.map +0 -1
  29. package/dist/generators/fullstack.js +0 -418
  30. package/dist/generators/fullstack.js.map +0 -1
  31. package/dist/generators/native.js +0 -112
  32. package/dist/generators/native.js.map +0 -1
  33. package/dist/generators/shared.js +0 -29
  34. package/dist/generators/shared.js.map +0 -1
  35. package/dist/generators/web.js +0 -45
  36. package/dist/generators/web.js.map +0 -1
  37. package/dist/generators/workspace.js +0 -83
  38. package/dist/generators/workspace.js.map +0 -1
  39. package/dist/templates/api/package.json +0 -54
  40. package/dist/templates/database/package.json +0 -49
  41. package/dist/templates/native/metro.config.js +0 -27
  42. package/dist/templates/native/package.json +0 -49
  43. package/dist/templates/native/src/App.tsx +0 -8
  44. package/dist/templates/shared/package.json +0 -62
  45. package/dist/templates/shared/src/components/App.tsx +0 -47
  46. package/dist/templates/shared/src/components/HelloWorld.tsx +0 -307
  47. package/dist/templates/shared/src/navigation/AppRouter.tsx +0 -98
  48. package/dist/templates/web/package.json +0 -66
  49. package/dist/templates/web/src/App.tsx +0 -14
  50. package/dist/templates/workspace/package.json +0 -35
  51. package/dist/types/generators/api.d.ts +0 -2
  52. package/dist/types/generators/database.d.ts +0 -2
  53. package/dist/types/generators/fullstack.d.ts +0 -2
  54. package/dist/types/generators/native.d.ts +0 -2
  55. package/dist/types/generators/shared.d.ts +0 -2
  56. package/dist/types/generators/web.d.ts +0 -2
  57. package/dist/types/generators/workspace.d.ts +0 -2
  58. package/templates/api/.env.example +0 -6
  59. package/templates/api/README.md +0 -274
  60. package/templates/api/__tests__/api.test.ts +0 -26
  61. package/templates/api/jest.config.js +0 -23
  62. package/templates/api/jest.setup.js +0 -9
  63. package/templates/api/src/context.ts +0 -19
  64. package/templates/api/src/controllers/TestController.ts +0 -0
  65. package/templates/api/src/index.ts +0 -9
  66. package/templates/api/src/lib/crud.ts +0 -150
  67. package/templates/api/src/lib/database.ts +0 -23
  68. package/templates/api/src/router/index.ts +0 -163
  69. package/templates/api/src/routers/test.ts +0 -59
  70. package/templates/api/src/routers/user.example.ts +0 -83
  71. package/templates/api/src/server.ts +0 -50
  72. package/templates/api/src/trpc.ts +0 -28
  73. package/templates/api/tsconfig.json +0 -43
  74. package/templates/database/README.md +0 -162
  75. package/templates/database/prisma/seed.ts +0 -64
  76. package/templates/database/schema.prisma +0 -107
  77. package/templates/database/src/index.ts +0 -15
  78. package/templates/database/src/validators.ts +0 -10
  79. package/templates/database/tsconfig.json +0 -18
  80. package/templates/native/README.md +0 -86
  81. package/templates/native/__tests__/App.test.tsx +0 -156
  82. package/templates/native/__tests__/components.test.tsx +0 -300
  83. package/templates/native/app.json +0 -5
  84. package/templates/native/babel.config.js +0 -10
  85. package/templates/native/index.js +0 -6
  86. package/templates/native/jest.config.js +0 -21
  87. package/templates/native/jest.setup.js +0 -12
  88. package/templates/native/src/App-with-trpc.tsx +0 -30
  89. package/templates/native/src/App.tsx +0 -8
  90. package/templates/native/src/utils/trpc.ts +0 -7
  91. package/templates/native/tsconfig.json +0 -28
  92. package/templates/shared/README.md +0 -135
  93. package/templates/shared/__tests__/shared.test.ts +0 -51
  94. package/templates/shared/jest.config.js +0 -22
  95. package/templates/shared/src/components/index.ts +0 -1
  96. package/templates/shared/src/index.ts +0 -14
  97. package/templates/shared/src/trpc/client.ts +0 -44
  98. package/templates/shared/tsconfig.json +0 -22
  99. package/templates/web/README.md +0 -131
  100. package/templates/web/__tests__/App.test.tsx +0 -342
  101. package/templates/web/__tests__/components.test.tsx +0 -564
  102. package/templates/web/index.html +0 -13
  103. package/templates/web/jest.config.js +0 -27
  104. package/templates/web/jest.setup.js +0 -24
  105. package/templates/web/src/App-with-trpc.tsx +0 -32
  106. package/templates/web/src/App.tsx +0 -14
  107. package/templates/web/src/components/TestDemo.tsx +0 -164
  108. package/templates/web/src/main.tsx +0 -25
  109. package/templates/web/src/utils/trpc.ts +0 -7
  110. package/templates/web/tsconfig.json +0 -26
  111. package/templates/web/vite.config.ts +0 -98
  112. package/templates/workspace/.devcontainer/Dockerfile +0 -26
  113. package/templates/workspace/.devcontainer/devcontainer.json +0 -113
  114. package/templates/workspace/.devcontainer/docker-compose.yml +0 -59
  115. package/templates/workspace/.devcontainer/figma-mcp.sh +0 -32
  116. package/templates/workspace/.devcontainer/setup.sh +0 -45
  117. package/templates/workspace/.dockerignore +0 -151
  118. package/templates/workspace/.env.example +0 -36
  119. package/templates/workspace/.env.production +0 -56
  120. package/templates/workspace/DOCKER.md +0 -0
  121. package/templates/workspace/Dockerfile +0 -111
  122. package/templates/workspace/README.md +0 -179
  123. package/templates/workspace/docker/nginx/prod.conf +0 -238
  124. package/templates/workspace/docker/nginx.conf +0 -131
  125. package/templates/workspace/docker/postgres/init.sql +0 -41
  126. package/templates/workspace/docker/prometheus/prometheus.yml +0 -52
  127. package/templates/workspace/docker-compose.prod.yml +0 -146
  128. package/templates/workspace/docker-compose.yml +0 -143
  129. package/templates/workspace/jest.config.js +0 -20
  130. package/templates/workspace/package.json +0 -38
  131. package/templates/workspace/setup.sh +0 -30
  132. package/templates/workspace/tsconfig.json +0 -31
  133. /package/dist/{templates/workspace → template}/.devcontainer/Dockerfile +0 -0
  134. /package/dist/{templates/workspace → template}/.devcontainer/devcontainer.json +0 -0
  135. /package/dist/{templates/workspace → template}/.devcontainer/docker-compose.yml +0 -0
  136. /package/dist/{templates/workspace → template}/.devcontainer/figma-mcp.sh +0 -0
  137. /package/dist/{templates/workspace → template}/.devcontainer/setup.sh +0 -0
  138. /package/dist/{templates/workspace → template}/.dockerignore +0 -0
  139. /package/dist/{templates/workspace → template}/.env.example +0 -0
  140. /package/dist/{templates/workspace → template}/DOCKER.md +0 -0
  141. /package/dist/{templates/workspace → template}/Dockerfile +0 -0
  142. /package/dist/{templates/workspace → template}/docker/nginx/prod.conf +0 -0
  143. /package/dist/{templates/workspace → template}/docker/nginx.conf +0 -0
  144. /package/dist/{templates/workspace → template}/docker/postgres/init.sql +0 -0
  145. /package/dist/{templates/workspace → template}/docker/prometheus/prometheus.yml +0 -0
  146. /package/dist/{templates/workspace → template}/docker-compose.prod.yml +0 -0
  147. /package/dist/{templates/workspace → template}/docker-compose.yml +0 -0
  148. /package/dist/{templates/workspace → template}/jest.config.js +0 -0
  149. /package/dist/{templates → template/packages}/api/.env.example +0 -0
  150. /package/dist/{templates → template/packages}/api/README.md +0 -0
  151. /package/dist/{templates → template/packages}/api/__tests__/api.test.ts +0 -0
  152. /package/dist/{templates → template/packages}/api/jest.config.js +0 -0
  153. /package/dist/{templates → template/packages}/api/jest.setup.js +0 -0
  154. /package/dist/{templates → template/packages}/api/src/context.ts +0 -0
  155. /package/dist/{templates → template/packages}/api/src/controllers/TestController.ts +0 -0
  156. /package/dist/{templates → template/packages}/api/src/index.ts +0 -0
  157. /package/dist/{templates → template/packages}/api/src/lib/crud.ts +0 -0
  158. /package/dist/{templates → template/packages}/api/src/lib/database.ts +0 -0
  159. /package/dist/{templates → template/packages}/api/src/router/index.ts +0 -0
  160. /package/dist/{templates → template/packages}/api/src/routers/test.ts +0 -0
  161. /package/dist/{templates → template/packages}/api/src/routers/user.example.ts +0 -0
  162. /package/dist/{templates → template/packages}/api/src/server.ts +0 -0
  163. /package/dist/{templates → template/packages}/api/src/trpc.ts +0 -0
  164. /package/dist/{templates → template/packages}/api/tsconfig.json +0 -0
  165. /package/dist/{templates → template/packages}/database/README.md +0 -0
  166. /package/dist/{templates → template/packages}/database/prisma/seed.ts +0 -0
  167. /package/dist/{templates → template/packages}/database/schema.prisma +0 -0
  168. /package/dist/{templates → template/packages}/database/src/index.ts +0 -0
  169. /package/dist/{templates → template/packages}/database/src/validators.ts +0 -0
  170. /package/dist/{templates → template/packages}/database/tsconfig.json +0 -0
  171. /package/dist/{templates/native → template/packages/mobile}/README.md +0 -0
  172. /package/dist/{templates/native → template/packages/mobile}/__tests__/App.test.tsx +0 -0
  173. /package/dist/{templates/native → template/packages/mobile}/__tests__/components.test.tsx +0 -0
  174. /package/dist/{templates/native → template/packages/mobile}/app.json +0 -0
  175. /package/dist/{templates/native → template/packages/mobile}/index.js +0 -0
  176. /package/dist/{templates/native → template/packages/mobile}/jest.config.js +0 -0
  177. /package/dist/{templates/native → template/packages/mobile}/jest.setup.js +0 -0
  178. /package/dist/{templates/native → template/packages/mobile}/src/App-with-trpc-and-shared.tsx +0 -0
  179. /package/dist/{templates/native → template/packages/mobile}/src/App-with-trpc.tsx +0 -0
  180. /package/{templates/native/src/App-with-trpc-and-shared.tsx → dist/template/packages/mobile/src/App.tsx} +0 -0
  181. /package/dist/{templates/native → template/packages/mobile}/src/utils/trpc.ts +0 -0
  182. /package/dist/{templates/native → template/packages/mobile}/tsconfig.json +0 -0
  183. /package/dist/{templates → template/packages}/shared/README.md +0 -0
  184. /package/dist/{templates → template/packages}/shared/__tests__/shared.test.ts +0 -0
  185. /package/dist/{templates → template/packages}/shared/jest.config.js +0 -0
  186. /package/{templates → dist/template/packages}/shared/src/components/App.tsx +0 -0
  187. /package/{templates → dist/template/packages}/shared/src/components/HelloWorld.tsx +0 -0
  188. /package/dist/{templates → template/packages}/shared/src/components/index.ts +0 -0
  189. /package/dist/{templates → template/packages}/shared/src/index.ts +0 -0
  190. /package/{templates → dist/template/packages}/shared/src/navigation/AppRouter.tsx +0 -0
  191. /package/dist/{templates → template/packages}/shared/src/trpc/client.ts +0 -0
  192. /package/dist/{templates → template/packages}/shared/tsconfig.json +0 -0
  193. /package/dist/{templates → template/packages}/web/README.md +0 -0
  194. /package/dist/{templates → template/packages}/web/__tests__/App.test.tsx +0 -0
  195. /package/dist/{templates → template/packages}/web/__tests__/components.test.tsx +0 -0
  196. /package/dist/{templates → template/packages}/web/index.html +0 -0
  197. /package/dist/{templates → template/packages}/web/jest.config.js +0 -0
  198. /package/dist/{templates → template/packages}/web/jest.setup.js +0 -0
  199. /package/dist/{templates → template/packages}/web/src/App-with-trpc-and-shared.tsx +0 -0
  200. /package/dist/{templates → template/packages}/web/src/App-with-trpc.tsx +0 -0
  201. /package/{templates/web/src/App-with-trpc-and-shared.tsx → dist/template/packages/web/src/App.tsx} +0 -0
  202. /package/dist/{templates → template/packages}/web/src/components/TestDemo.tsx +0 -0
  203. /package/dist/{templates → template/packages}/web/src/main.tsx +0 -0
  204. /package/dist/{templates → template/packages}/web/src/utils/trpc.ts +0 -0
  205. /package/dist/{templates → template/packages}/web/tsconfig.json +0 -0
  206. /package/dist/{templates → template/packages}/web/vite.config.ts +0 -0
  207. /package/dist/{templates/workspace → template}/setup.sh +0 -0
  208. /package/dist/{templates/workspace → template}/tsconfig.json +0 -0
@@ -1,307 +0,0 @@
1
- import { Button, Card, Input, Screen, Text, View } from "@idealyst/components";
2
- import { useState } from "react";
3
- import { trpc } from "../trpc/client";
4
-
5
- interface HelloWorldProps {
6
- name?: string;
7
- platform?: "web" | "mobile";
8
- projectName?: string;
9
- }
10
-
11
- export const HelloWorld = ({
12
- name = "World",
13
- platform = "web",
14
- projectName = "Your Project",
15
- }: HelloWorldProps) => {
16
- const [newTestName, setNewTestName] = useState("");
17
- const [newTestMessage, setNewTestMessage] = useState("");
18
-
19
- // Use tRPC hooks directly
20
- const tests = trpc.test.getAll.useQuery({});
21
- const createTestMutation = trpc.test.create.useMutation({
22
- onSuccess: () => {
23
- tests.refetch();
24
- setNewTestName("");
25
- setNewTestMessage("");
26
- },
27
- });
28
- const deleteTestMutation = trpc.test.delete.useMutation({
29
- onSuccess: () => {
30
- tests.refetch();
31
- },
32
- });
33
-
34
- const handleCreateTest = async () => {
35
- if (!newTestName || !newTestMessage) return;
36
-
37
- await createTestMutation.mutateAsync({
38
- name: newTestName,
39
- message: newTestMessage,
40
- status: "active",
41
- });
42
- };
43
-
44
- const handleDeleteTest = async (id: string) => {
45
- await deleteTestMutation.mutateAsync({ id });
46
- };
47
-
48
- const platformEmoji = platform === "mobile" ? "📱" : "🌐";
49
- const platformText =
50
- platform === "mobile"
51
- ? "Your mobile development environment is ready. This shared component works seamlessly across mobile and web platforms."
52
- : "Your web development environment is ready. This shared component works seamlessly across web and mobile platforms.";
53
-
54
- return (
55
- <Screen style={{ flex: 1, padding: 20 }}>
56
- <View style={{ maxWidth: 600, alignSelf: "center" }}>
57
- <Text
58
- size="xl"
59
- weight="bold"
60
- style={{
61
- marginBottom: 16,
62
- textAlign: "center",
63
- color: "#1e293b",
64
- }}
65
- >
66
- Welcome to {projectName}! {platformEmoji}
67
- </Text>
68
-
69
- <Text
70
- size="lg"
71
- style={{
72
- marginBottom: 32,
73
- textAlign: "center",
74
- color: "#64748b",
75
- lineHeight: 24,
76
- paddingHorizontal: 16,
77
- }}
78
- >
79
- {platformText}
80
- </Text>
81
- {/* Framework Branding Card */}
82
- <Card variant="elevated" padding="lg" intent="primary">
83
- <View style={{ alignItems: "center" }}>
84
- <Text style={{ fontSize: 32, marginBottom: 16 }}>🚀</Text>
85
- <Text
86
- size="xl"
87
- weight="bold"
88
- style={{ marginBottom: 8, textAlign: "center" }}
89
- >
90
- Idealyst Framework
91
- </Text>
92
- <Text
93
- size="md"
94
- style={{ marginBottom: 16, textAlign: "center" }}
95
- >
96
- Hello, {name}! Welcome to your cross-platform workspace.
97
- </Text>
98
-
99
- {/* Technology Tags */}
100
- <View
101
- style={{
102
- flexDirection: "row",
103
- flexWrap: "wrap",
104
- justifyContent: "center",
105
- gap: 8,
106
- }}
107
- >
108
- <Card
109
- variant="filled"
110
- padding="sm"
111
- style={{ backgroundColor: "rgba(255, 255, 255, 0.2)" }}
112
- >
113
- <Text size="sm" weight="semibold">
114
- React
115
- </Text>
116
- </Card>
117
- <Card
118
- variant="filled"
119
- padding="sm"
120
- style={{ backgroundColor: "rgba(255, 255, 255, 0.2)" }}
121
- >
122
- <Text size="sm" weight="semibold">
123
- TypeScript
124
- </Text>
125
- </Card>
126
- <Card
127
- variant="filled"
128
- padding="sm"
129
- style={{ backgroundColor: "rgba(255, 255, 255, 0.2)" }}
130
- >
131
- <Text size="sm" weight="semibold">
132
- Cross-Platform
133
- </Text>
134
- </Card>
135
- </View>
136
- </View>
137
- </Card>
138
-
139
- {/* Quick Start Guide Card */}
140
- <Card variant="outlined" padding="lg" style={{ marginTop: 16 }}>
141
- <Text size="lg" weight="bold" style={{ marginBottom: 16 }}>
142
- 🎯 Quick Start Guide
143
- </Text>
144
-
145
- <View style={{ marginBottom: 16 }}>
146
- <Text size="md" weight="semibold" style={{ marginBottom: 8 }}>
147
- Your Workspace Overview:
148
- </Text>
149
- <Text size="sm" style={{ marginBottom: 4 }}>
150
- • <Text weight="semibold">packages/web/</Text> - React web
151
- application
152
- </Text>
153
- <Text size="sm" style={{ marginBottom: 4 }}>
154
- • <Text weight="semibold">packages/mobile/</Text> - React Native
155
- mobile app
156
- </Text>
157
- <Text size="sm" style={{ marginBottom: 4 }}>
158
- • <Text weight="semibold">packages/shared/</Text> - Cross-platform
159
- components
160
- </Text>
161
- <Text size="sm" style={{ marginBottom: 4 }}>
162
- • <Text weight="semibold">packages/api/</Text> - tRPC API server
163
- </Text>
164
- </View>
165
-
166
- <View style={{ marginBottom: 16 }}>
167
- <Text size="md" weight="semibold" style={{ marginBottom: 8 }}>
168
- Try Editing:
169
- </Text>
170
- <Text size="sm" style={{ marginBottom: 4 }}>
171
- 1. Edit this component in{" "}
172
- <Text weight="semibold">
173
- packages/shared/src/components/HelloWorld.tsx
174
- </Text>
175
- </Text>
176
- <Text size="sm" style={{ marginBottom: 4 }}>
177
- 2. Watch changes appear in both web and mobile apps instantly!
178
- </Text>
179
- <Text size="sm" style={{ marginBottom: 4 }}>
180
- 3. Run <Text weight="semibold">yarn dev</Text> to start all
181
- development servers
182
- </Text>
183
- </View>
184
-
185
- <Card variant="filled" intent="success" padding="md">
186
- <Text size="sm" weight="semibold" style={{ marginBottom: 4 }}>
187
- ✨ Framework Features:
188
- </Text>
189
- <Text size="sm">
190
- Shared components • Type safety • Hot reload • Cross-platform
191
- compatibility
192
- </Text>
193
- </Card>
194
- </Card>
195
-
196
- {/* API Testing Section */}
197
- <Card variant="outlined" padding="lg" style={{ marginTop: 16 }}>
198
- <Text size="lg" weight="bold" style={{ marginBottom: 16 }}>
199
- 🚀 API Demo - Database Integration
200
- </Text>
201
- <Text size="md" style={{ marginBottom: 16, color: "#64748b" }}>
202
- Test your full-stack integration! This section demonstrates
203
- real-time database operations.
204
- </Text>
205
-
206
- {/* Create New Test Form */}
207
- <Card
208
- variant="filled"
209
- padding="md"
210
- style={{ marginBottom: 16, backgroundColor: "#f8fafc" }}
211
- >
212
- <Text size="md" weight="semibold" style={{ marginBottom: 12 }}>
213
- Create New Test Entry
214
- </Text>
215
-
216
- <View style={{ gap: 12 }}>
217
- <Input
218
- placeholder="Test name"
219
- value={newTestName}
220
- onChangeText={setNewTestName}
221
- />
222
- <Input
223
- placeholder="Test message"
224
- value={newTestMessage}
225
- onChangeText={setNewTestMessage}
226
- />
227
- <Button
228
- onPress={handleCreateTest}
229
- disabled={
230
- !newTestName ||
231
- !newTestMessage ||
232
- createTestMutation.isLoading
233
- }
234
- style={{ alignSelf: "flex-start" }}
235
- >
236
- {createTestMutation.isLoading ? "Creating..." : "Create Test"}
237
- </Button>
238
- </View>
239
- </Card>
240
-
241
- {/* Tests List */}
242
- <View>
243
- <Text size="md" weight="semibold" style={{ marginBottom: 12 }}>
244
- Database Records ({tests.data?.length || 0})
245
- </Text>
246
-
247
- {tests.isLoading ? (
248
- <Card variant="outlined" padding="md">
249
- <Text size="sm" style={{ color: "#64748b" }}>
250
- Loading tests...
251
- </Text>
252
- </Card>
253
- ) : tests.data?.length === 0 ? (
254
- <Card variant="outlined" padding="md">
255
- <Text size="sm" style={{ color: "#64748b" }}>
256
- No tests found. Create one above!
257
- </Text>
258
- </Card>
259
- ) : (
260
- <View style={{ gap: 8 }}>
261
- {tests.data?.map((test: any) => (
262
- <Card key={test.id} variant="outlined" padding="md">
263
- <View
264
- style={{
265
- flexDirection: "row",
266
- justifyContent: "space-between",
267
- alignItems: "center",
268
- }}
269
- >
270
- <View style={{ flex: 1 }}>
271
- <Text
272
- size="sm"
273
- weight="semibold"
274
- style={{ marginBottom: 4 }}
275
- >
276
- {test.name}
277
- </Text>
278
- <Text
279
- size="sm"
280
- style={{ color: "#64748b", marginBottom: 4 }}
281
- >
282
- {test.message}
283
- </Text>
284
- <Text size="sm" style={{ color: "#10b981" }}>
285
- Status: {test.status} •{" "}
286
- {new Date(test.createdAt).toLocaleDateString()}
287
- </Text>
288
- </View>
289
- <Button
290
- variant="destructive"
291
- size="sm"
292
- onPress={() => handleDeleteTest(test.id)}
293
- disabled={deleteTestMutation.isLoading}
294
- >
295
- Delete
296
- </Button>
297
- </View>
298
- </Card>
299
- ))}
300
- </View>
301
- )}
302
- </View>
303
- </Card>
304
- </View>
305
- </Screen>
306
- );
307
- };
@@ -1,98 +0,0 @@
1
- import React from 'react';
2
- import { NavigatorParam } from '@idealyst/navigation';
3
- import { Screen, Text, View, Icon } from '@idealyst/components';
4
- import { HelloWorld } from '../components/HelloWorld';
5
-
6
- const HomeScreen = () => (
7
- <Screen>
8
- <View spacing="lg">
9
- <Text size="xl" weight="bold">Home</Text>
10
- <Text size="md">Welcome to your {{projectName}} app!</Text>
11
- <View spacing="md" style={{ marginTop: 24 }}>
12
- <Text size="sm">
13
- This app uses tab navigation. Navigate between tabs using the bottom bar on mobile or the top tabs on web.
14
- </Text>
15
- </View>
16
-
17
- {/* API Testing Component */}
18
- <View spacing="md" style={{ marginTop: 32 }}>
19
- <Text size="md" weight="semibold">API Test</Text>
20
- <HelloWorld name="{{projectName}}" />
21
- </View>
22
- </View>
23
- </Screen>
24
- );
25
-
26
- const ProfileScreen = () => (
27
- <Screen>
28
- <View spacing="lg">
29
- <Text size="xl" weight="bold">Profile</Text>
30
- <Text size="md">User profile and account settings</Text>
31
- <View spacing="md" style={{ marginTop: 24 }}>
32
- <Text size="sm">
33
- Manage your account details and preferences here.
34
- </Text>
35
- </View>
36
- </View>
37
- </Screen>
38
- );
39
-
40
- const SettingsScreen = () => (
41
- <Screen>
42
- <View spacing="lg">
43
- <Text size="xl" weight="bold">Settings</Text>
44
- <Text size="md">App configuration and preferences</Text>
45
- <View spacing="md" style={{ marginTop: 24 }}>
46
- <Text size="sm">
47
- Customize your app experience with various settings and options.
48
- </Text>
49
- </View>
50
- </View>
51
- </Screen>
52
- );
53
-
54
- const AppRouter: NavigatorParam = {
55
- type: 'navigator',
56
- path: '/',
57
- layout: 'tab',
58
- routes: [
59
- {
60
- type: 'screen',
61
- path: '/',
62
- component: HomeScreen,
63
- options: {
64
- title: 'Home',
65
- tabBarLabel: 'Home',
66
- tabBarIcon: ({ focused, size }) => (
67
- <Icon name="home" color={focused ? 'blue' : 'gray'} size={size || 24} />
68
- ),
69
- },
70
- },
71
- {
72
- type: 'screen',
73
- path: '/profile',
74
- component: ProfileScreen,
75
- options: {
76
- title: 'Profile',
77
- tabBarLabel: 'Profile',
78
- tabBarIcon: ({ focused, size }) => (
79
- <Icon name="account" color={focused ? 'blue' : 'gray'} size={size || 24} />
80
- ),
81
- },
82
- },
83
- {
84
- type: 'screen',
85
- path: '/settings',
86
- component: SettingsScreen,
87
- options: {
88
- title: 'Settings',
89
- tabBarLabel: 'Settings',
90
- tabBarIcon: ({ focused, size }) => (
91
- <Icon name="cog" color={focused ? 'blue' : 'gray'} size={size || 24} />
92
- ),
93
- },
94
- },
95
- ],
96
- };
97
-
98
- export default AppRouter;
@@ -1,66 +0,0 @@
1
- {
2
- "name": "{{packageName}}",
3
- "version": "{{version}}",
4
- "description": "{{description}}",
5
- "private": true,
6
- "type": "module",
7
- "scripts": {
8
- "dev": "vite",
9
- "build": "tsc && vite build",
10
- "preview": "vite preview",
11
- "test": "jest",
12
- "test:watch": "jest --watch",
13
- "test:coverage": "jest --coverage"
14
- },
15
- "dependencies": {
16
- "@idealyst/components": "^{{idealystVersion}}",
17
- "@idealyst/navigation": "^{{idealystVersion}}",
18
- "@idealyst/theme": "^{{idealystVersion}}",
19
- "@mdi/js": "^7.4.47",
20
- "@mdi/react": "^1.6.1",
21
- "@react-native/normalize-colors": "^0.80.1",
22
- "@tanstack/react-query": "^5.83.0",
23
- "@trpc/client": "^11.5.1",
24
- "@trpc/react-query": "^11.5.1",
25
- "@trpc/server": "^11.5.1",
26
- "@types/react-router-dom": "^5.3.3",
27
- "compression": "^1.7.4",
28
- "express": "^4.18.2",
29
- "react": "^19.1.0",
30
- "react-dom": "^19.1.0",
31
- "react-native": "^0.80.1",
32
- "react-native-edge-to-edge": "^1.6.2",
33
- "react-native-nitro-modules": "0.30.0",
34
- "react-native-unistyles": "^3.0.10",
35
- "react-native-web": "^0.20.0",
36
- "react-router": "^7.6.3",
37
- "react-router-dom": "^7.6.3",
38
- "sirv": "^2.0.4"
39
- },
40
- "devDependencies": {
41
- "@babel/core": "^7.28.0",
42
- "@babel/preset-env": "^7.28.0",
43
- "@babel/preset-react": "^7.27.1",
44
- "@babel/preset-typescript": "^7.27.1",
45
- "@testing-library/jest-dom": "^6.4.2",
46
- "@testing-library/react": "^14.2.1",
47
- "@testing-library/user-event": "^14.5.2",
48
- "@types/compression": "^1.7.5",
49
- "@types/express": "^4.17.21",
50
- "@types/jest": "^29.5.12",
51
- "@types/react": "^19.1.0",
52
- "@types/react-dom": "^19.1.0",
53
- "@typescript-eslint/eslint-plugin": "^7.2.0",
54
- "@typescript-eslint/parser": "^7.2.0",
55
- "@vitejs/plugin-react": "^4.6.0",
56
- "eslint": "^8.57.0",
57
- "eslint-plugin-react-hooks": "^4.6.0",
58
- "eslint-plugin-react-refresh": "^0.4.6",
59
- "jest": "^29.7.0",
60
- "jest-environment-jsdom": "^29.7.0",
61
- "ts-jest": "^29.1.2",
62
- "typescript": "^5.2.2",
63
- "vite": "^5.2.0",
64
- "vite-plugin-babel": "^1.3.2"
65
- }
66
- }
@@ -1,14 +0,0 @@
1
- import { BrowserRouter } from 'react-router-dom';
2
- import { App } from '@{{workspaceScope}}/shared';
3
-
4
- function WebApp() {
5
- return (
6
- <div className="App">
7
- <BrowserRouter>
8
- <App />
9
- </BrowserRouter>
10
- </div>
11
- );
12
- }
13
-
14
- export default WebApp;
@@ -1,35 +0,0 @@
1
- {
2
- "name": "{{packageName}}",
3
- "version": "{{version}}",
4
- "description": "{{description}}",
5
- "private": true,
6
- "workspaces": [
7
- "packages/*"
8
- ],
9
- "packageManager": "yarn@4.1.0",
10
- "scripts": {
11
- "test": "yarn workspaces foreach --include '@/*' run test",
12
- "test:watch": "yarn workspaces foreach --include '@/*' run test:watch",
13
- "test:coverage": "yarn workspaces foreach --include '@/*' run test:coverage",
14
- "test:ci": "yarn workspaces foreach --include '@/*' --parallel run test --passWithNoTests",
15
- "test:runner": "node scripts/test-runner.js",
16
- "test:help": "node scripts/test-runner.js help",
17
- "publish:all": "yarn workspaces foreach --include '@/*' npm publish",
18
- "version:patch": "yarn workspaces foreach --include '@/*' version patch",
19
- "version:minor": "yarn workspaces foreach --include '@/*' version minor",
20
- "version:major": "yarn workspaces foreach --include '@/*' version major",
21
- "build:all": "yarn workspaces foreach --include '@/*' run build",
22
- "lint:all": "yarn workspaces foreach --include '@/*' run lint",
23
- "type-check:all": "yarn workspaces foreach --include '@/*' run type-check"
24
- },
25
- "devDependencies": {
26
- "@babel/core": "^7.28.0",
27
- "@babel/preset-env": "^7.28.0",
28
- "@babel/preset-react": "^7.27.1",
29
- "@babel/preset-typescript": "^7.27.1",
30
- "@types/jest": "^29.5.12",
31
- "jest": "^29.7.0",
32
- "ts-jest": "^29.1.2",
33
- "typescript": "^5.0.0"
34
- }
35
- }
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateApiProject(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateDatabaseProject(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateFullStackWorkspace(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateNativeProject(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateSharedLibrary(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateWebProject(options: GenerateProjectOptions): Promise<void>;
@@ -1,2 +0,0 @@
1
- import { GenerateProjectOptions } from '../types';
2
- export declare function generateWorkspace(options: GenerateProjectOptions): Promise<void>;
@@ -1,6 +0,0 @@
1
- # Server Configuration
2
- PORT=3000
3
- NODE_ENV=development
4
-
5
- # Add your environment variables here
6
- # Example: API keys, external service URLs, etc.