@idealyst/cli 1.2.0 → 1.2.3

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 (324) hide show
  1. package/dist/commands/add.js +233 -0
  2. package/dist/commands/add.js.map +1 -0
  3. package/dist/commands/index.js +13 -0
  4. package/dist/commands/index.js.map +1 -0
  5. package/dist/commands/info.js +193 -0
  6. package/dist/commands/info.js.map +1 -0
  7. package/dist/commands/init.js +155 -0
  8. package/dist/commands/init.js.map +1 -0
  9. package/dist/constants.js +125 -0
  10. package/dist/constants.js.map +1 -0
  11. package/dist/generators/core/index.js +23 -0
  12. package/dist/generators/core/index.js.map +1 -0
  13. package/dist/generators/core/mobile.js +251 -0
  14. package/dist/generators/core/mobile.js.map +1 -0
  15. package/dist/generators/core/shared.js +474 -0
  16. package/dist/generators/core/shared.js.map +1 -0
  17. package/dist/generators/core/web.js +330 -0
  18. package/dist/generators/core/web.js.map +1 -0
  19. package/dist/generators/extensions/api.js +223 -0
  20. package/dist/generators/extensions/api.js.map +1 -0
  21. package/dist/generators/extensions/devcontainer.js +575 -0
  22. package/dist/generators/extensions/devcontainer.js.map +1 -0
  23. package/dist/generators/extensions/graphql.js +202 -0
  24. package/dist/generators/extensions/graphql.js.map +1 -0
  25. package/dist/generators/extensions/index.js +17 -0
  26. package/dist/generators/extensions/index.js.map +1 -0
  27. package/dist/generators/extensions/prisma.js +249 -0
  28. package/dist/generators/extensions/prisma.js.map +1 -0
  29. package/dist/generators/extensions/trpc.js +258 -0
  30. package/dist/generators/extensions/trpc.js.map +1 -0
  31. package/dist/generators/index.js +122 -4
  32. package/dist/generators/index.js.map +1 -1
  33. package/dist/generators/reactNative.js +253 -0
  34. package/dist/generators/reactNative.js.map +1 -0
  35. package/dist/generators/workspace.js +303 -0
  36. package/dist/generators/workspace.js.map +1 -0
  37. package/dist/identifiers/android.js +75 -0
  38. package/dist/identifiers/android.js.map +1 -0
  39. package/dist/identifiers/index.js +35 -0
  40. package/dist/identifiers/index.js.map +1 -0
  41. package/dist/identifiers/ios.js +65 -0
  42. package/dist/identifiers/ios.js.map +1 -0
  43. package/dist/index.js +41 -319
  44. package/dist/index.js.map +1 -1
  45. package/dist/templates/copier.js +135 -0
  46. package/dist/templates/copier.js.map +1 -0
  47. package/dist/templates/index.js +23 -0
  48. package/dist/templates/index.js.map +1 -0
  49. package/dist/templates/merger.js +113 -0
  50. package/dist/templates/merger.js.map +1 -0
  51. package/dist/templates/processor.js +142 -0
  52. package/dist/templates/processor.js.map +1 -0
  53. package/dist/types/commands/add.d.ts +14 -0
  54. package/dist/types/commands/index.d.ts +6 -0
  55. package/dist/types/commands/info.d.ts +10 -0
  56. package/dist/types/commands/init.d.ts +19 -0
  57. package/dist/types/constants.d.ts +82 -0
  58. package/dist/types/generators/core/index.d.ts +6 -0
  59. package/dist/types/generators/core/mobile.d.ts +14 -0
  60. package/dist/types/generators/core/shared.d.ts +8 -0
  61. package/dist/types/generators/core/web.d.ts +8 -0
  62. package/dist/types/generators/extensions/api.d.ts +8 -0
  63. package/dist/types/generators/extensions/devcontainer.d.ts +15 -0
  64. package/dist/types/generators/extensions/graphql.d.ts +8 -0
  65. package/dist/types/generators/extensions/index.d.ts +8 -0
  66. package/dist/types/generators/extensions/prisma.d.ts +8 -0
  67. package/dist/types/generators/extensions/trpc.d.ts +9 -0
  68. package/dist/types/generators/index.d.ts +11 -3
  69. package/dist/types/generators/reactNative.d.ts +19 -0
  70. package/dist/types/generators/workspace.d.ts +8 -0
  71. package/dist/types/identifiers/android.d.ts +26 -0
  72. package/dist/types/identifiers/index.d.ts +26 -0
  73. package/dist/types/identifiers/ios.d.ts +21 -0
  74. package/dist/types/index.d.ts +3 -0
  75. package/dist/types/templates/copier.d.ts +24 -0
  76. package/dist/types/templates/index.d.ts +6 -0
  77. package/dist/types/templates/merger.d.ts +43 -0
  78. package/dist/types/templates/processor.d.ts +39 -0
  79. package/dist/types/types.d.ts +184 -5
  80. package/dist/types/utils/filesystem.d.ts +56 -0
  81. package/dist/types/utils/index.d.ts +7 -0
  82. package/dist/types/utils/logger.d.ts +64 -0
  83. package/dist/types/utils/shell.d.ts +35 -0
  84. package/dist/types/utils/validation.d.ts +32 -0
  85. package/dist/types/wizard/index.d.ts +20 -0
  86. package/dist/types/wizard/steps/apiExtension.d.ts +5 -0
  87. package/dist/types/wizard/steps/appDisplayName.d.ts +5 -0
  88. package/dist/types/wizard/steps/devcontainerExtension.d.ts +5 -0
  89. package/dist/types/wizard/steps/graphqlExtension.d.ts +5 -0
  90. package/dist/types/wizard/steps/index.d.ts +12 -0
  91. package/dist/types/wizard/steps/orgDomain.d.ts +5 -0
  92. package/dist/types/wizard/steps/prismaExtension.d.ts +5 -0
  93. package/dist/types/wizard/steps/projectName.d.ts +5 -0
  94. package/dist/types/wizard/steps/summary.d.ts +5 -0
  95. package/dist/types/wizard/steps/trpcExtension.d.ts +5 -0
  96. package/dist/types/wizard/validators.d.ts +17 -0
  97. package/dist/types.js +74 -0
  98. package/dist/types.js.map +1 -1
  99. package/dist/utils/filesystem.js +173 -0
  100. package/dist/utils/filesystem.js.map +1 -0
  101. package/dist/utils/index.js +24 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/logger.js +106 -0
  104. package/dist/utils/logger.js.map +1 -0
  105. package/dist/utils/shell.js +113 -0
  106. package/dist/utils/shell.js.map +1 -0
  107. package/dist/utils/validation.js +196 -0
  108. package/dist/utils/validation.js.map +1 -0
  109. package/dist/wizard/index.js +177 -0
  110. package/dist/wizard/index.js.map +1 -0
  111. package/dist/wizard/steps/apiExtension.js +33 -0
  112. package/dist/wizard/steps/apiExtension.js.map +1 -0
  113. package/dist/wizard/steps/appDisplayName.js +53 -0
  114. package/dist/wizard/steps/appDisplayName.js.map +1 -0
  115. package/dist/wizard/steps/devcontainerExtension.js +131 -0
  116. package/dist/wizard/steps/devcontainerExtension.js.map +1 -0
  117. package/dist/wizard/steps/graphqlExtension.js +37 -0
  118. package/dist/wizard/steps/graphqlExtension.js.map +1 -0
  119. package/dist/wizard/steps/index.js +25 -0
  120. package/dist/wizard/steps/index.js.map +1 -0
  121. package/dist/wizard/steps/orgDomain.js +40 -0
  122. package/dist/wizard/steps/orgDomain.js.map +1 -0
  123. package/dist/wizard/steps/prismaExtension.js +33 -0
  124. package/dist/wizard/steps/prismaExtension.js.map +1 -0
  125. package/dist/wizard/steps/projectName.js +40 -0
  126. package/dist/wizard/steps/projectName.js.map +1 -0
  127. package/dist/wizard/steps/summary.js +119 -0
  128. package/dist/wizard/steps/summary.js.map +1 -0
  129. package/dist/wizard/steps/trpcExtension.js +37 -0
  130. package/dist/wizard/steps/trpcExtension.js.map +1 -0
  131. package/dist/wizard/validators.js +35 -0
  132. package/dist/wizard/validators.js.map +1 -0
  133. package/package.json +6 -19
  134. package/README.md +0 -110
  135. package/dist/generators/init.js +0 -268
  136. package/dist/generators/init.js.map +0 -1
  137. package/dist/generators/utils.js +0 -682
  138. package/dist/generators/utils.js.map +0 -1
  139. package/dist/scripts/configure-react-native-monorepo.js +0 -144
  140. package/dist/scripts/configure-react-native-monorepo.js.map +0 -1
  141. package/dist/template/.devcontainer/Dockerfile +0 -26
  142. package/dist/template/.devcontainer/devcontainer.json +0 -113
  143. package/dist/template/.devcontainer/docker-compose.yml +0 -59
  144. package/dist/template/.devcontainer/figma-mcp.sh +0 -32
  145. package/dist/template/.devcontainer/gitignore.template +0 -2
  146. package/dist/template/.devcontainer/setup.sh +0 -45
  147. package/dist/template/DOCKER.md +0 -0
  148. package/dist/template/Dockerfile +0 -111
  149. package/dist/template/README.md +0 -233
  150. package/dist/template/docker/nginx/prod.conf +0 -238
  151. package/dist/template/docker/nginx.conf +0 -131
  152. package/dist/template/docker/postgres/init.sql +0 -41
  153. package/dist/template/docker/prometheus/prometheus.yml +0 -52
  154. package/dist/template/docker-compose.prod.yml +0 -146
  155. package/dist/template/docker-compose.yml +0 -143
  156. package/dist/template/dockerignore.template +0 -151
  157. package/dist/template/env.example.template +0 -36
  158. package/dist/template/gitignore.template +0 -56
  159. package/dist/template/jest.config.js +0 -20
  160. package/dist/template/mcp.json.template +0 -8
  161. package/dist/template/package.json +0 -45
  162. package/dist/template/packages/api/README.md +0 -510
  163. package/dist/template/packages/api/__tests__/api.test.ts +0 -26
  164. package/dist/template/packages/api/env.example.template +0 -6
  165. package/dist/template/packages/api/gitignore.template +0 -35
  166. package/dist/template/packages/api/jest.config.js +0 -23
  167. package/dist/template/packages/api/jest.setup.js +0 -9
  168. package/dist/template/packages/api/package.json +0 -66
  169. package/dist/template/packages/api/src/context.ts +0 -52
  170. package/dist/template/packages/api/src/controllers/TestController.ts +0 -0
  171. package/dist/template/packages/api/src/graphql/builder.ts +0 -75
  172. package/dist/template/packages/api/src/graphql/generated.ts +0 -64
  173. package/dist/template/packages/api/src/graphql/index.ts +0 -75
  174. package/dist/template/packages/api/src/graphql/types/index.ts +0 -44
  175. package/dist/template/packages/api/src/graphql/types/test.ts +0 -245
  176. package/dist/template/packages/api/src/index.ts +0 -26
  177. package/dist/template/packages/api/src/lib/database.ts +0 -23
  178. package/dist/template/packages/api/src/router/index.ts +0 -163
  179. package/dist/template/packages/api/src/routers/test.ts +0 -161
  180. package/dist/template/packages/api/src/server.ts +0 -68
  181. package/dist/template/packages/api/src/trpc.ts +0 -28
  182. package/dist/template/packages/api/tsconfig.json +0 -44
  183. package/dist/template/packages/database/README.md +0 -162
  184. package/dist/template/packages/database/gitignore.template +0 -41
  185. package/dist/template/packages/database/package.json +0 -49
  186. package/dist/template/packages/database/prisma/seed.ts +0 -64
  187. package/dist/template/packages/database/schema.prisma +0 -107
  188. package/dist/template/packages/database/src/index.ts +0 -15
  189. package/dist/template/packages/database/src/validators.ts +0 -10
  190. package/dist/template/packages/database/tsconfig.json +0 -18
  191. package/dist/template/packages/mobile/README.md +0 -86
  192. package/dist/template/packages/mobile/__tests__/App.test.tsx +0 -156
  193. package/dist/template/packages/mobile/__tests__/components.test.tsx +0 -300
  194. package/dist/template/packages/mobile/app.json +0 -5
  195. package/dist/template/packages/mobile/babel.config.js +0 -10
  196. package/dist/template/packages/mobile/gitignore.template +0 -73
  197. package/dist/template/packages/mobile/index.js +0 -6
  198. package/dist/template/packages/mobile/jest.config.js +0 -21
  199. package/dist/template/packages/mobile/jest.setup.js +0 -12
  200. package/dist/template/packages/mobile/metro.config.js +0 -36
  201. package/dist/template/packages/mobile/package.json +0 -60
  202. package/dist/template/packages/mobile/src/App.tsx +0 -8
  203. package/dist/template/packages/mobile/src/utils/trpc.ts +0 -7
  204. package/dist/template/packages/mobile/tsconfig.json +0 -28
  205. package/dist/template/packages/shared/README.md +0 -135
  206. package/dist/template/packages/shared/__tests__/shared.test.ts +0 -51
  207. package/dist/template/packages/shared/gitignore.template +0 -35
  208. package/dist/template/packages/shared/jest.config.js +0 -22
  209. package/dist/template/packages/shared/package.json +0 -68
  210. package/dist/template/packages/shared/src/components/App.tsx +0 -57
  211. package/dist/template/packages/shared/src/components/HelloWorld.tsx +0 -531
  212. package/dist/template/packages/shared/src/components/index.ts +0 -1
  213. package/dist/template/packages/shared/src/graphql/client.ts +0 -34
  214. package/dist/template/packages/shared/src/index.ts +0 -22
  215. package/dist/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
  216. package/dist/template/packages/shared/src/trpc/client.ts +0 -44
  217. package/dist/template/packages/shared/tsconfig.json +0 -22
  218. package/dist/template/packages/web/README.md +0 -131
  219. package/dist/template/packages/web/__tests__/App.test.tsx +0 -342
  220. package/dist/template/packages/web/__tests__/components.test.tsx +0 -564
  221. package/dist/template/packages/web/gitignore.template +0 -35
  222. package/dist/template/packages/web/index.html +0 -13
  223. package/dist/template/packages/web/jest.config.js +0 -27
  224. package/dist/template/packages/web/jest.setup.js +0 -24
  225. package/dist/template/packages/web/package.json +0 -69
  226. package/dist/template/packages/web/src/App.tsx +0 -14
  227. package/dist/template/packages/web/src/components/TestDemo.tsx +0 -164
  228. package/dist/template/packages/web/src/main.tsx +0 -25
  229. package/dist/template/packages/web/src/utils/trpc.ts +0 -7
  230. package/dist/template/packages/web/tsconfig.json +0 -26
  231. package/dist/template/packages/web/vite.config.ts +0 -98
  232. package/dist/template/setup.sh +0 -30
  233. package/dist/template/tsconfig.json +0 -22
  234. package/dist/template/yarnrc.yml.template +0 -4
  235. package/dist/types/generators/init.d.ts +0 -5
  236. package/dist/types/generators/utils.d.ts +0 -45
  237. package/dist/types/scripts/configure-react-native-monorepo.d.ts +0 -23
  238. package/template/.devcontainer/Dockerfile +0 -26
  239. package/template/.devcontainer/devcontainer.json +0 -113
  240. package/template/.devcontainer/docker-compose.yml +0 -59
  241. package/template/.devcontainer/figma-mcp.sh +0 -32
  242. package/template/.devcontainer/setup.sh +0 -45
  243. package/template/.dockerignore +0 -151
  244. package/template/.env.example +0 -36
  245. package/template/.env.production +0 -56
  246. package/template/DOCKER.md +0 -0
  247. package/template/Dockerfile +0 -111
  248. package/template/README.md +0 -233
  249. package/template/docker/nginx/prod.conf +0 -238
  250. package/template/docker/nginx.conf +0 -131
  251. package/template/docker/postgres/init.sql +0 -41
  252. package/template/docker/prometheus/prometheus.yml +0 -52
  253. package/template/docker-compose.prod.yml +0 -146
  254. package/template/docker-compose.yml +0 -143
  255. package/template/jest.config.js +0 -20
  256. package/template/package.json +0 -45
  257. package/template/packages/api/.env.example +0 -6
  258. package/template/packages/api/README.md +0 -510
  259. package/template/packages/api/__tests__/api.test.ts +0 -26
  260. package/template/packages/api/jest.config.js +0 -23
  261. package/template/packages/api/jest.setup.js +0 -9
  262. package/template/packages/api/package.json +0 -66
  263. package/template/packages/api/src/context.ts +0 -52
  264. package/template/packages/api/src/controllers/TestController.ts +0 -0
  265. package/template/packages/api/src/graphql/builder.ts +0 -75
  266. package/template/packages/api/src/graphql/generated.ts +0 -64
  267. package/template/packages/api/src/graphql/index.ts +0 -75
  268. package/template/packages/api/src/graphql/types/index.ts +0 -44
  269. package/template/packages/api/src/graphql/types/test.ts +0 -245
  270. package/template/packages/api/src/index.ts +0 -26
  271. package/template/packages/api/src/lib/database.ts +0 -23
  272. package/template/packages/api/src/router/index.ts +0 -163
  273. package/template/packages/api/src/routers/test.ts +0 -161
  274. package/template/packages/api/src/server.ts +0 -68
  275. package/template/packages/api/src/trpc.ts +0 -28
  276. package/template/packages/api/tsconfig.json +0 -44
  277. package/template/packages/database/README.md +0 -162
  278. package/template/packages/database/package.json +0 -49
  279. package/template/packages/database/prisma/seed.ts +0 -64
  280. package/template/packages/database/schema.prisma +0 -107
  281. package/template/packages/database/src/index.ts +0 -15
  282. package/template/packages/database/src/validators.ts +0 -10
  283. package/template/packages/database/tsconfig.json +0 -18
  284. package/template/packages/mobile/README.md +0 -86
  285. package/template/packages/mobile/__tests__/App.test.tsx +0 -156
  286. package/template/packages/mobile/__tests__/components.test.tsx +0 -300
  287. package/template/packages/mobile/app.json +0 -5
  288. package/template/packages/mobile/babel.config.js +0 -26
  289. package/template/packages/mobile/index.js +0 -8
  290. package/template/packages/mobile/jest.config.js +0 -21
  291. package/template/packages/mobile/jest.setup.js +0 -12
  292. package/template/packages/mobile/metro.config.js +0 -36
  293. package/template/packages/mobile/package.json +0 -60
  294. package/template/packages/mobile/src/App.tsx +0 -8
  295. package/template/packages/mobile/src/utils/trpc.ts +0 -7
  296. package/template/packages/mobile/tsconfig.json +0 -28
  297. package/template/packages/shared/README.md +0 -135
  298. package/template/packages/shared/__tests__/shared.test.ts +0 -51
  299. package/template/packages/shared/jest.config.js +0 -22
  300. package/template/packages/shared/package.json +0 -68
  301. package/template/packages/shared/src/components/App.tsx +0 -57
  302. package/template/packages/shared/src/components/HelloWorld.tsx +0 -531
  303. package/template/packages/shared/src/components/index.ts +0 -1
  304. package/template/packages/shared/src/graphql/client.ts +0 -34
  305. package/template/packages/shared/src/index.ts +0 -25
  306. package/template/packages/shared/src/navigation/AppRouter.tsx +0 -565
  307. package/template/packages/shared/src/trpc/client.ts +0 -44
  308. package/template/packages/shared/src/unistyles.ts +0 -50
  309. package/template/packages/shared/tsconfig.json +0 -22
  310. package/template/packages/web/README.md +0 -131
  311. package/template/packages/web/__tests__/App.test.tsx +0 -342
  312. package/template/packages/web/__tests__/components.test.tsx +0 -564
  313. package/template/packages/web/index.html +0 -13
  314. package/template/packages/web/jest.config.js +0 -27
  315. package/template/packages/web/jest.setup.js +0 -24
  316. package/template/packages/web/package.json +0 -69
  317. package/template/packages/web/src/App.tsx +0 -14
  318. package/template/packages/web/src/components/TestDemo.tsx +0 -164
  319. package/template/packages/web/src/main.tsx +0 -27
  320. package/template/packages/web/src/utils/trpc.ts +0 -7
  321. package/template/packages/web/tsconfig.json +0 -26
  322. package/template/packages/web/vite.config.ts +0 -114
  323. package/template/setup.sh +0 -30
  324. package/template/tsconfig.json +0 -22
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactNative.js","sourceRoot":"","sources":["../../src/generators/reactNative.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace root generator
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.generateWorkspace = generateWorkspace;
10
+ const fs_extra_1 = __importDefault(require("fs-extra"));
11
+ const path_1 = __importDefault(require("path"));
12
+ const copier_1 = require("../templates/copier");
13
+ const logger_1 = require("../utils/logger");
14
+ /**
15
+ * Generate workspace root structure
16
+ */
17
+ async function generateWorkspace(projectPath, data) {
18
+ logger_1.logger.info(`Creating workspace at ${projectPath}...`);
19
+ // Ensure project directory exists
20
+ await fs_extra_1.default.ensureDir(projectPath);
21
+ // Copy workspace template or generate programmatically
22
+ const templatePath = (0, copier_1.getTemplatePath)('core', 'workspace');
23
+ if (await (0, copier_1.templateHasContent)(templatePath)) {
24
+ await (0, copier_1.copyTemplateDirectory)(templatePath, projectPath, data);
25
+ }
26
+ else {
27
+ // Generate workspace files programmatically if no template exists
28
+ await generateWorkspaceFiles(projectPath, data);
29
+ }
30
+ }
31
+ /**
32
+ * Generate workspace files programmatically
33
+ */
34
+ async function generateWorkspaceFiles(projectPath, data) {
35
+ // Create packages directory
36
+ await fs_extra_1.default.ensureDir(path_1.default.join(projectPath, 'packages'));
37
+ // Generate root package.json
38
+ const packageJson = createRootPackageJson(data);
39
+ await fs_extra_1.default.writeJson(path_1.default.join(projectPath, 'package.json'), packageJson, { spaces: 2 });
40
+ // Generate tsconfig.json
41
+ const tsconfig = createRootTsConfig();
42
+ await fs_extra_1.default.writeJson(path_1.default.join(projectPath, 'tsconfig.json'), tsconfig, { spaces: 2 });
43
+ // Generate .gitignore
44
+ const gitignore = createGitignore();
45
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, '.gitignore'), gitignore);
46
+ // Generate .yarnrc.yml
47
+ const yarnrc = createYarnrc();
48
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, '.yarnrc.yml'), yarnrc);
49
+ // Generate README.md
50
+ const readme = createReadme(data);
51
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, 'README.md'), readme);
52
+ // Generate react-native.config.js for monorepo setup
53
+ const rnConfig = createReactNativeConfig(data);
54
+ await fs_extra_1.default.writeFile(path_1.default.join(projectPath, 'react-native.config.js'), rnConfig);
55
+ }
56
+ /**
57
+ * Create root package.json content
58
+ */
59
+ function createRootPackageJson(data) {
60
+ const scripts = {
61
+ 'dev': 'concurrently "yarn web:dev" "yarn mobile:start"',
62
+ 'build': 'yarn build:packages && yarn web:build',
63
+ 'build:packages': 'yarn workspace @' + data.workspaceScope + '/shared build',
64
+ 'test': 'jest',
65
+ 'test:watch': 'jest --watch',
66
+ 'test:coverage': 'jest --coverage',
67
+ 'web:dev': 'yarn workspace @' + data.workspaceScope + '/web dev',
68
+ 'web:build': 'yarn workspace @' + data.workspaceScope + '/web build',
69
+ 'web:preview': 'yarn workspace @' + data.workspaceScope + '/web preview',
70
+ 'mobile:start': 'yarn workspace @' + data.workspaceScope + '/mobile start',
71
+ 'mobile:android': 'yarn workspace @' + data.workspaceScope + '/mobile android',
72
+ 'mobile:ios': 'yarn workspace @' + data.workspaceScope + '/mobile ios',
73
+ };
74
+ // Add API scripts if API is enabled
75
+ if (data.hasApi) {
76
+ scripts['api:dev'] = 'yarn workspace @' + data.workspaceScope + '/api dev';
77
+ scripts['api:build'] = 'yarn workspace @' + data.workspaceScope + '/api build';
78
+ scripts['dev'] = 'concurrently "yarn api:dev" "yarn web:dev" "yarn mobile:start"';
79
+ }
80
+ // Add database scripts if Prisma is enabled
81
+ if (data.hasPrisma) {
82
+ scripts['db:generate'] = 'yarn workspace @' + data.workspaceScope + '/database db:generate';
83
+ scripts['db:push'] = 'yarn workspace @' + data.workspaceScope + '/database db:push';
84
+ scripts['db:migrate'] = 'yarn workspace @' + data.workspaceScope + '/database db:migrate';
85
+ scripts['db:studio'] = 'yarn workspace @' + data.workspaceScope + '/database db:studio';
86
+ scripts['db:seed'] = 'yarn workspace @' + data.workspaceScope + '/database db:seed';
87
+ scripts['build:packages'] = 'yarn db:generate && yarn workspace @' + data.workspaceScope + '/shared build';
88
+ }
89
+ return {
90
+ name: `@${data.workspaceScope}/${data.projectName}`,
91
+ version: data.version,
92
+ private: true,
93
+ packageManager: 'yarn@4.1.0',
94
+ workspaces: ['packages/*'],
95
+ scripts,
96
+ devDependencies: {
97
+ 'concurrently': '^9.0.0',
98
+ 'jest': '^29.7.0',
99
+ '@types/jest': '^29.5.0',
100
+ 'ts-jest': '^29.1.0',
101
+ 'typescript': '^5.0.0',
102
+ },
103
+ };
104
+ }
105
+ /**
106
+ * Create root tsconfig.json
107
+ */
108
+ function createRootTsConfig() {
109
+ return {
110
+ compilerOptions: {
111
+ target: 'ES2020',
112
+ module: 'commonjs',
113
+ declaration: true,
114
+ declarationMap: true,
115
+ sourceMap: true,
116
+ strict: true,
117
+ esModuleInterop: true,
118
+ skipLibCheck: true,
119
+ forceConsistentCasingInFileNames: true,
120
+ moduleResolution: 'node',
121
+ resolveJsonModule: true,
122
+ },
123
+ include: ['packages/*/src/**/*'],
124
+ exclude: ['node_modules', 'dist', 'build'],
125
+ };
126
+ }
127
+ /**
128
+ * Create .gitignore content
129
+ */
130
+ function createGitignore() {
131
+ return `# Dependencies
132
+ node_modules/
133
+ .yarn/*
134
+ !.yarn/patches
135
+ !.yarn/plugins
136
+ !.yarn/releases
137
+ !.yarn/sdks
138
+ !.yarn/versions
139
+
140
+ # Build outputs
141
+ dist/
142
+ build/
143
+ .cache/
144
+ *.tsbuildinfo
145
+
146
+ # Environment
147
+ .env
148
+ .env.local
149
+ .env.*.local
150
+
151
+ # IDE
152
+ .idea/
153
+ .vscode/
154
+ *.swp
155
+ *.swo
156
+
157
+ # OS
158
+ .DS_Store
159
+ Thumbs.db
160
+
161
+ # Testing
162
+ coverage/
163
+ .jest/
164
+
165
+ # Mobile
166
+ ios/Pods/
167
+ android/.gradle/
168
+ android/app/build/
169
+ *.keystore
170
+ *.jks
171
+
172
+ # Logs
173
+ *.log
174
+ npm-debug.log*
175
+ yarn-debug.log*
176
+ yarn-error.log*
177
+
178
+ # Misc
179
+ *.tmp
180
+ *.bak
181
+ `;
182
+ }
183
+ /**
184
+ * Create .yarnrc.yml content
185
+ */
186
+ function createYarnrc() {
187
+ return `nodeLinker: node-modules
188
+
189
+ enableGlobalCache: true
190
+ `;
191
+ }
192
+ /**
193
+ * Create README.md content
194
+ */
195
+ function createReadme(data) {
196
+ return `# ${data.appDisplayName}
197
+
198
+ ${data.description}
199
+
200
+ Built with [Idealyst Framework](https://github.com/IdealystIO/idealyst-framework).
201
+
202
+ ## Getting Started
203
+
204
+ ### Install Dependencies
205
+
206
+ \`\`\`bash
207
+ yarn install
208
+ \`\`\`
209
+
210
+ ### Development
211
+
212
+ Start all development servers:
213
+
214
+ \`\`\`bash
215
+ yarn dev
216
+ \`\`\`
217
+
218
+ Or run individually:
219
+
220
+ \`\`\`bash
221
+ # Web
222
+ yarn web:dev
223
+
224
+ # Mobile
225
+ yarn mobile:start
226
+ yarn mobile:android # or yarn mobile:ios
227
+ ${data.hasApi ? `
228
+ # API
229
+ yarn api:dev
230
+ ` : ''}
231
+ \`\`\`
232
+ ${data.hasPrisma ? `
233
+ ### Database
234
+
235
+ \`\`\`bash
236
+ # Generate Prisma client
237
+ yarn db:generate
238
+
239
+ # Push schema to database
240
+ yarn db:push
241
+
242
+ # Open Prisma Studio
243
+ yarn db:studio
244
+ \`\`\`
245
+ ` : ''}
246
+ ### Build
247
+
248
+ \`\`\`bash
249
+ yarn build
250
+ \`\`\`
251
+
252
+ ### Testing
253
+
254
+ \`\`\`bash
255
+ yarn test
256
+ yarn test:watch
257
+ yarn test:coverage
258
+ \`\`\`
259
+
260
+ ## Project Structure
261
+
262
+ \`\`\`
263
+ ${data.projectName}/
264
+ ├── packages/
265
+ │ ├── shared/ # Shared components and utilities
266
+ │ ├── web/ # React web application
267
+ │ └── mobile/ # React Native mobile application${data.hasApi ? `
268
+ │ └── api/ # API server` : ''}${data.hasPrisma ? `
269
+ │ └── database/ # Database layer (Prisma)` : ''}
270
+ ├── package.json
271
+ └── README.md
272
+ \`\`\`
273
+ `;
274
+ }
275
+ /**
276
+ * Create react-native.config.js for monorepo setup
277
+ *
278
+ * This file tells the React Native CLI where to find the mobile project
279
+ * and its dependencies in a Yarn workspace monorepo structure.
280
+ */
281
+ function createReactNativeConfig(data) {
282
+ return `/**
283
+ * React Native configuration for monorepo setup
284
+ *
285
+ * This file tells the React Native CLI where to find the mobile project
286
+ * and its dependencies in a Yarn workspace monorepo structure.
287
+ */
288
+ module.exports = {
289
+ project: {
290
+ android: {
291
+ sourceDir: './packages/mobile/android',
292
+ appName: 'app',
293
+ packageName: '${data.androidPackageName}',
294
+ },
295
+ ios: {
296
+ sourceDir: './packages/mobile/ios',
297
+ },
298
+ },
299
+ // Dependencies are auto-detected from node_modules
300
+ };
301
+ `;
302
+ }
303
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/generators/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Android Package Name generation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateAndroidPackageName = generateAndroidPackageName;
7
+ exports.validateAndroidPackageName = validateAndroidPackageName;
8
+ exports.toAndroidSegment = toAndroidSegment;
9
+ const constants_1 = require("../constants");
10
+ /**
11
+ * Generate Android package name
12
+ * Android does NOT allow hyphens - must be lowercase alphanumeric with dots
13
+ *
14
+ * @param orgDomain - Organization domain (e.g., "com.company")
15
+ * @param projectName - Project name in kebab-case
16
+ * @returns Android package name (hyphens removed)
17
+ *
18
+ * @example
19
+ * generateAndroidPackageName('com.mycompany', 'my-app')
20
+ * // Returns: 'com.mycompany.myapp'
21
+ */
22
+ function generateAndroidPackageName(orgDomain, projectName) {
23
+ // Normalize org domain
24
+ const normalizedDomain = orgDomain.toLowerCase().replace(/\.+$/, '');
25
+ // Normalize project name - remove hyphens for Android
26
+ const normalizedName = projectName
27
+ .toLowerCase()
28
+ .replace(/-/g, '') // Remove hyphens
29
+ .replace(/[^a-z0-9]/g, ''); // Remove any other non-alphanumeric
30
+ return `${normalizedDomain}.${normalizedName}`;
31
+ }
32
+ /**
33
+ * Validate Android package name format
34
+ */
35
+ function validateAndroidPackageName(packageName) {
36
+ // Must be all lowercase with dots separating segments
37
+ if (!constants_1.PATTERNS.ANDROID_PACKAGE.test(packageName)) {
38
+ return {
39
+ valid: false,
40
+ error: 'Package name must be lowercase, start with letter, and have dot-separated segments',
41
+ };
42
+ }
43
+ // Check for reserved keywords
44
+ const segments = packageName.split('.');
45
+ for (const segment of segments) {
46
+ if (constants_1.JAVA_RESERVED_KEYWORDS.includes(segment)) {
47
+ return {
48
+ valid: false,
49
+ error: `"${segment}" is a Java reserved keyword and cannot be used`,
50
+ suggestions: [`Change "${segment}" to something else like "${segment}app"`],
51
+ };
52
+ }
53
+ }
54
+ // Each segment must not be empty
55
+ for (const segment of segments) {
56
+ if (segment.length === 0) {
57
+ return {
58
+ valid: false,
59
+ error: 'Package name segments cannot be empty',
60
+ };
61
+ }
62
+ }
63
+ return { valid: true };
64
+ }
65
+ /**
66
+ * Convert a kebab-case string to a valid Android package segment
67
+ * Removes hyphens and ensures lowercase
68
+ */
69
+ function toAndroidSegment(input) {
70
+ return input
71
+ .toLowerCase()
72
+ .replace(/-/g, '')
73
+ .replace(/[^a-z0-9]/g, '');
74
+ }
75
+ //# sourceMappingURL=android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/identifiers/android.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiBH,gEAWC;AAKD,gEAgCC;AAMD,4CAKC;AAzED,4CAAgE;AAEhE;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CAAC,SAAiB,EAAE,WAAmB;IAC/E,uBAAuB;IACvB,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErE,sDAAsD;IACtD,MAAM,cAAc,GAAG,WAAW;SAC/B,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAE,iBAAiB;SACpC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,oCAAoC;IAElE,OAAO,GAAG,gBAAgB,IAAI,cAAc,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,0BAA0B,CAAC,WAAmB;IAC5D,sDAAsD;IACtD,IAAI,CAAC,oBAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,oFAAoF;SAC5F,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,kCAAsB,CAAC,QAAQ,CAAC,OAAgD,CAAC,EAAE,CAAC;YACtF,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,IAAI,OAAO,iDAAiD;gBACnE,WAAW,EAAE,CAAC,WAAW,OAAO,6BAA6B,OAAO,MAAM,CAAC;aAC5E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,uCAAuC;aAC/C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Mobile identifier generation
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateAndroidPackageName = exports.generateAndroidPackageName = exports.validateIosBundleId = exports.generateIosBundleId = void 0;
7
+ exports.generateIdentifiers = generateIdentifiers;
8
+ const ios_1 = require("./ios");
9
+ Object.defineProperty(exports, "generateIosBundleId", { enumerable: true, get: function () { return ios_1.generateIosBundleId; } });
10
+ Object.defineProperty(exports, "validateIosBundleId", { enumerable: true, get: function () { return ios_1.validateIosBundleId; } });
11
+ const android_1 = require("./android");
12
+ Object.defineProperty(exports, "generateAndroidPackageName", { enumerable: true, get: function () { return android_1.generateAndroidPackageName; } });
13
+ Object.defineProperty(exports, "validateAndroidPackageName", { enumerable: true, get: function () { return android_1.validateAndroidPackageName; } });
14
+ /**
15
+ * Generate iOS and Android identifiers from org domain and project name
16
+ *
17
+ * @param orgDomain - Organization domain (e.g., "com.company")
18
+ * @param projectName - Project name in kebab-case
19
+ * @returns Generated identifiers for both platforms
20
+ *
21
+ * @example
22
+ * generateIdentifiers('com.mycompany', 'awesome-app')
23
+ * // Returns:
24
+ * // {
25
+ * // iosBundleId: 'com.mycompany.awesome-app',
26
+ * // androidPackageName: 'com.mycompany.awesomeapp'
27
+ * // }
28
+ */
29
+ function generateIdentifiers(orgDomain, projectName) {
30
+ return {
31
+ iosBundleId: (0, ios_1.generateIosBundleId)(orgDomain, projectName),
32
+ androidPackageName: (0, android_1.generateAndroidPackageName)(orgDomain, projectName),
33
+ };
34
+ }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identifiers/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAyBH,kDAQC;AA/BD,+BAAiE;AAkC/D,oGAlCO,yBAAmB,OAkCP;AACnB,oGAnC4B,yBAAmB,OAmC5B;AAlCrB,uCAAmF;AAmCjF,2GAnCO,oCAA0B,OAmCP;AAC1B,2GApCmC,oCAA0B,OAoCnC;AA7B5B;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CACjC,SAAiB,EACjB,WAAmB;IAEnB,OAAO;QACL,WAAW,EAAE,IAAA,yBAAmB,EAAC,SAAS,EAAE,WAAW,CAAC;QACxD,kBAAkB,EAAE,IAAA,oCAA0B,EAAC,SAAS,EAAE,WAAW,CAAC;KACvE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /**
3
+ * iOS Bundle ID generation utilities
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateIosBundleId = generateIosBundleId;
7
+ exports.validateIosBundleId = validateIosBundleId;
8
+ const constants_1 = require("../constants");
9
+ /**
10
+ * Generate iOS bundle identifier
11
+ * iOS allows hyphens in bundle IDs
12
+ *
13
+ * @param orgDomain - Organization domain (e.g., "com.company")
14
+ * @param projectName - Project name in kebab-case
15
+ * @returns iOS bundle identifier
16
+ *
17
+ * @example
18
+ * generateIosBundleId('com.mycompany', 'my-app')
19
+ * // Returns: 'com.mycompany.my-app'
20
+ */
21
+ function generateIosBundleId(orgDomain, projectName) {
22
+ // Normalize org domain (ensure lowercase, no trailing dots)
23
+ const normalizedDomain = orgDomain.toLowerCase().replace(/\.+$/, '');
24
+ // Normalize project name (lowercase, keep hyphens)
25
+ const normalizedName = projectName.toLowerCase();
26
+ return `${normalizedDomain}.${normalizedName}`;
27
+ }
28
+ /**
29
+ * Validate iOS bundle ID format
30
+ */
31
+ function validateIosBundleId(bundleId) {
32
+ // Must start with letter
33
+ if (!/^[a-zA-Z]/.test(bundleId)) {
34
+ return {
35
+ valid: false,
36
+ error: 'Bundle ID must start with a letter',
37
+ };
38
+ }
39
+ // Only alphanumeric, dots, and hyphens
40
+ if (!constants_1.PATTERNS.IOS_BUNDLE_ID.test(bundleId)) {
41
+ return {
42
+ valid: false,
43
+ error: 'Bundle ID can only contain letters, numbers, dots, and hyphens',
44
+ };
45
+ }
46
+ // Must have at least two segments (e.g., com.app)
47
+ const segments = bundleId.split('.');
48
+ if (segments.length < 2) {
49
+ return {
50
+ valid: false,
51
+ error: 'Bundle ID must have at least two segments (e.g., com.app)',
52
+ };
53
+ }
54
+ // Each segment must not be empty
55
+ for (const segment of segments) {
56
+ if (segment.length === 0) {
57
+ return {
58
+ valid: false,
59
+ error: 'Bundle ID segments cannot be empty',
60
+ };
61
+ }
62
+ }
63
+ return { valid: true };
64
+ }
65
+ //# sourceMappingURL=ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ios.js","sourceRoot":"","sources":["../../src/identifiers/ios.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAiBH,kDAQC;AAKD,kDAqCC;AAhED,4CAAwC;AAExC;;;;;;;;;;;GAWG;AACH,SAAgB,mBAAmB,CAAC,SAAiB,EAAE,WAAmB;IACxE,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAErE,mDAAmD;IACnD,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAEjD,OAAO,GAAG,gBAAgB,IAAI,cAAc,EAAE,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,yBAAyB;IACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,oCAAoC;SAC5C,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,oBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,gEAAgE;SACxE,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,2DAA2D;SACnE,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,oCAAoC;aAC5C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}