@slingr/cli 0.0.3 → 0.0.4

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 (251) hide show
  1. package/LICENSE.txt +202 -0
  2. package/README.md +490 -319
  3. package/bin/dev.cmd +2 -2
  4. package/bin/dev.js +5 -5
  5. package/bin/run.cmd +2 -2
  6. package/bin/run.js +4 -4
  7. package/bin/slingr +1 -0
  8. package/dist/commands/build.d.ts +20 -0
  9. package/dist/commands/build.d.ts.map +1 -0
  10. package/dist/commands/build.js +206 -0
  11. package/dist/commands/build.js.map +1 -0
  12. package/dist/commands/create-app.d.ts +0 -1
  13. package/dist/commands/create-app.d.ts.map +1 -1
  14. package/dist/commands/create-app.js +38 -57
  15. package/dist/commands/create-app.js.map +1 -1
  16. package/dist/commands/debug.d.ts +28 -0
  17. package/dist/commands/debug.d.ts.map +1 -0
  18. package/dist/commands/debug.js +474 -0
  19. package/dist/commands/debug.js.map +1 -0
  20. package/dist/commands/ds.d.ts +14 -1
  21. package/dist/commands/ds.d.ts.map +1 -1
  22. package/dist/commands/ds.js +450 -121
  23. package/dist/commands/ds.js.map +1 -1
  24. package/dist/commands/gql.d.ts +1 -1
  25. package/dist/commands/gql.d.ts.map +1 -1
  26. package/dist/commands/gql.js +190 -184
  27. package/dist/commands/gql.js.map +1 -1
  28. package/dist/commands/infra/down.d.ts.map +1 -1
  29. package/dist/commands/infra/down.js +8 -7
  30. package/dist/commands/infra/down.js.map +1 -1
  31. package/dist/commands/infra/up.d.ts.map +1 -1
  32. package/dist/commands/infra/up.js +8 -7
  33. package/dist/commands/infra/up.js.map +1 -1
  34. package/dist/commands/infra/update.d.ts +1 -0
  35. package/dist/commands/infra/update.d.ts.map +1 -1
  36. package/dist/commands/infra/update.js +33 -69
  37. package/dist/commands/infra/update.js.map +1 -1
  38. package/dist/commands/run.d.ts +29 -2
  39. package/dist/commands/run.d.ts.map +1 -1
  40. package/dist/commands/run.js +628 -130
  41. package/dist/commands/run.js.map +1 -1
  42. package/dist/commands/setup.d.ts +1 -1
  43. package/dist/commands/setup.d.ts.map +1 -1
  44. package/dist/commands/setup.js +34 -71
  45. package/dist/commands/setup.js.map +1 -1
  46. package/dist/commands/sync-metadata.d.ts +15 -0
  47. package/dist/commands/sync-metadata.d.ts.map +1 -0
  48. package/dist/commands/sync-metadata.js +225 -0
  49. package/dist/commands/sync-metadata.js.map +1 -0
  50. package/dist/commands/users.d.ts +30 -0
  51. package/dist/commands/users.d.ts.map +1 -0
  52. package/dist/commands/users.js +472 -0
  53. package/dist/commands/users.js.map +1 -0
  54. package/dist/commands/views.d.ts +11 -0
  55. package/dist/commands/views.d.ts.map +1 -0
  56. package/dist/commands/views.js +73 -0
  57. package/dist/commands/views.js.map +1 -0
  58. package/dist/projectStructure.d.ts +2 -2
  59. package/dist/projectStructure.d.ts.map +1 -1
  60. package/dist/projectStructure.js +281 -69
  61. package/dist/projectStructure.js.map +1 -1
  62. package/dist/scripts/generate-metadata.d.ts +13 -0
  63. package/dist/scripts/generate-metadata.d.ts.map +1 -0
  64. package/dist/scripts/generate-metadata.js +412 -0
  65. package/dist/scripts/generate-metadata.js.map +1 -0
  66. package/dist/scripts/generate-metadata.ts +498 -0
  67. package/dist/scripts/generate-schema.d.ts +1 -1
  68. package/dist/scripts/generate-schema.js +168 -74
  69. package/dist/scripts/generate-schema.js.map +1 -1
  70. package/dist/scripts/generate-schema.ts +258 -143
  71. package/dist/templates/.env.template +23 -0
  72. package/dist/templates/.firebaserc.template +5 -0
  73. package/dist/templates/.github/copilot-instructions.md.template +652 -17
  74. package/dist/templates/backend/Dockerfile.template +30 -0
  75. package/dist/templates/config/datasource.ts.template +12 -9
  76. package/dist/templates/config/jest.config.ts +30 -30
  77. package/dist/templates/config/jest.setup.ts +1 -1
  78. package/dist/templates/config/tsconfig.json.template +50 -29
  79. package/dist/templates/dataSources/mysql.ts.template +16 -13
  80. package/dist/templates/dataSources/postgres.ts.template +15 -13
  81. package/dist/templates/dataset-generator-script.ts.template +139 -139
  82. package/dist/templates/datasets/mysql-default/.slingr-schema.json.template +5 -0
  83. package/dist/templates/datasets/mysql-default/Address.jsonl.template +3 -3
  84. package/dist/templates/datasets/mysql-default/App.jsonl.template +4 -4
  85. package/dist/templates/datasets/mysql-default/Company.jsonl.template +3 -3
  86. package/dist/templates/datasets/mysql-default/Person.jsonl.template +2 -2
  87. package/dist/templates/datasets/mysql-default/User.jsonl.template +1 -0
  88. package/dist/templates/datasets/mysql-default/instructions.md.template +1 -0
  89. package/dist/templates/datasets/postgres-default/.slingr-schema.json.template +5 -0
  90. package/dist/templates/datasets/postgres-default/Address.jsonl.template +3 -3
  91. package/dist/templates/datasets/postgres-default/App.jsonl.template +4 -4
  92. package/dist/templates/datasets/postgres-default/Company.jsonl.template +3 -3
  93. package/dist/templates/datasets/postgres-default/Person.jsonl.template +2 -2
  94. package/dist/templates/datasets/postgres-default/User.jsonl.template +1 -0
  95. package/dist/templates/datasets/postgres-default/instructions.md.template +1 -0
  96. package/dist/templates/docker-compose.prod-test.yml.template +32 -0
  97. package/dist/templates/docker-compose.yml.template +24 -0
  98. package/dist/templates/docs/app-description.md.template +33 -33
  99. package/dist/templates/firebase.json.template +68 -0
  100. package/dist/templates/frontend/.umirc.ts.template +23 -0
  101. package/dist/templates/frontend/package.json.template +45 -0
  102. package/dist/templates/frontend/public/config.json +6 -0
  103. package/dist/templates/frontend/public/logo.svg +6 -0
  104. package/dist/templates/frontend/src/app.tsx.template +44 -0
  105. package/dist/templates/frontend/src/global.less.template +117 -0
  106. package/dist/templates/frontend/src/layouts/MainLayout.tsx.template +75 -0
  107. package/dist/templates/frontend/src/types/graphql-augmentation.d.ts.template +44 -0
  108. package/dist/templates/frontend/src/views/customViews/user/UserCreateView.tsx.template +18 -0
  109. package/dist/templates/frontend/src/views/customViews/user/UserEditView.tsx.template +29 -0
  110. package/dist/templates/frontend/src/views/customViews/user/UserReadView.tsx.template +24 -0
  111. package/dist/templates/frontend/src/views/customViews/user/UserTableView.tsx.template +38 -0
  112. package/dist/templates/frontend/src/views/customViews/welcome.tsx.template +34 -0
  113. package/dist/templates/frontend/tsconfig.json.template +50 -0
  114. package/dist/templates/gql/codegen.yml.template +25 -25
  115. package/dist/templates/gql/index.ts.template +17 -24
  116. package/dist/templates/gql/operations.graphql.template +30 -30
  117. package/dist/templates/ops/README.md.template +1045 -0
  118. package/dist/templates/ops/cloudbuild.yaml.template +161 -0
  119. package/dist/templates/ops/scripts/_utils.js.template +217 -0
  120. package/dist/templates/ops/scripts/deploy.js.template +145 -0
  121. package/dist/templates/ops/scripts/setup-gcp.js.template +330 -0
  122. package/dist/templates/ops/scripts/setup-secrets.js.template +76 -0
  123. package/dist/templates/ops/scripts/test-prod-local.js.template +49 -0
  124. package/dist/templates/package.json.template +50 -38
  125. package/dist/templates/pnpm-workspace.yaml.template +3 -0
  126. package/dist/templates/prompt-analysis.md.template +110 -110
  127. package/dist/templates/prompt-script-generation.md.template +258 -258
  128. package/dist/templates/src/Address.ts.template +28 -31
  129. package/dist/templates/src/App.ts.template +17 -61
  130. package/dist/templates/src/Company.ts.template +41 -47
  131. package/dist/templates/src/Models.test.ts.template +654 -654
  132. package/dist/templates/src/Person.test.ts.template +289 -289
  133. package/dist/templates/src/Person.ts.template +90 -105
  134. package/dist/templates/src/actions/index.ts.template +11 -11
  135. package/dist/templates/src/auth/permissions.ts.template +34 -0
  136. package/dist/templates/src/data/App.ts.template +48 -0
  137. package/dist/templates/src/data/User.ts.template +35 -0
  138. package/dist/templates/src/types/gql.d.ts.template +17 -17
  139. package/dist/templates/vscode/extensions.json +4 -3
  140. package/dist/templates/vscode/settings.json +17 -11
  141. package/dist/templates/workspace-package.json.template +21 -0
  142. package/dist/utils/buildCache.d.ts +12 -0
  143. package/dist/utils/buildCache.d.ts.map +1 -0
  144. package/dist/utils/buildCache.js +102 -0
  145. package/dist/utils/buildCache.js.map +1 -0
  146. package/dist/utils/checkFramework.d.ts +27 -0
  147. package/dist/utils/checkFramework.d.ts.map +1 -0
  148. package/dist/utils/checkFramework.js +104 -0
  149. package/dist/utils/checkFramework.js.map +1 -0
  150. package/dist/utils/datasourceParser.d.ts +11 -0
  151. package/dist/utils/datasourceParser.d.ts.map +1 -1
  152. package/dist/utils/datasourceParser.js +154 -56
  153. package/dist/utils/datasourceParser.js.map +1 -1
  154. package/dist/utils/dockerManager.d.ts +25 -0
  155. package/dist/utils/dockerManager.d.ts.map +1 -0
  156. package/dist/utils/dockerManager.js +281 -0
  157. package/dist/utils/dockerManager.js.map +1 -0
  158. package/dist/utils/infraFileParser.d.ts +26 -0
  159. package/dist/utils/infraFileParser.d.ts.map +1 -0
  160. package/dist/utils/infraFileParser.js +75 -0
  161. package/dist/utils/infraFileParser.js.map +1 -0
  162. package/dist/utils/jsonlLoader.d.ts +91 -12
  163. package/dist/utils/jsonlLoader.d.ts.map +1 -1
  164. package/dist/utils/jsonlLoader.js +674 -63
  165. package/dist/utils/jsonlLoader.js.map +1 -1
  166. package/dist/utils/model-analyzer.d.ts.map +1 -1
  167. package/dist/utils/model-analyzer.js +67 -13
  168. package/dist/utils/model-analyzer.js.map +1 -1
  169. package/dist/utils/userManagement.d.ts +57 -0
  170. package/dist/utils/userManagement.d.ts.map +1 -0
  171. package/dist/utils/userManagement.js +288 -0
  172. package/dist/utils/userManagement.js.map +1 -0
  173. package/dist/utils/viewsGenerator.d.ts +15 -0
  174. package/dist/utils/viewsGenerator.d.ts.map +1 -0
  175. package/dist/utils/viewsGenerator.js +311 -0
  176. package/dist/utils/viewsGenerator.js.map +1 -0
  177. package/oclif.manifest.json +445 -20
  178. package/package.json +29 -26
  179. package/src/templates/.env.template +23 -0
  180. package/src/templates/.firebaserc.template +5 -0
  181. package/src/templates/.github/copilot-instructions.md.template +652 -17
  182. package/src/templates/backend/Dockerfile.template +30 -0
  183. package/src/templates/config/datasource.ts.template +12 -9
  184. package/src/templates/config/jest.config.ts +30 -30
  185. package/src/templates/config/jest.setup.ts +1 -1
  186. package/src/templates/config/tsconfig.json.template +50 -29
  187. package/src/templates/dataSources/mysql.ts.template +16 -13
  188. package/src/templates/dataSources/postgres.ts.template +15 -13
  189. package/src/templates/dataset-generator-script.ts.template +139 -139
  190. package/src/templates/datasets/mysql-default/.slingr-schema.json.template +5 -0
  191. package/src/templates/datasets/mysql-default/Address.jsonl.template +3 -3
  192. package/src/templates/datasets/mysql-default/App.jsonl.template +4 -4
  193. package/src/templates/datasets/mysql-default/Company.jsonl.template +3 -3
  194. package/src/templates/datasets/mysql-default/Person.jsonl.template +2 -2
  195. package/src/templates/datasets/mysql-default/User.jsonl.template +1 -0
  196. package/src/templates/datasets/mysql-default/instructions.md.template +1 -0
  197. package/src/templates/datasets/postgres-default/.slingr-schema.json.template +5 -0
  198. package/src/templates/datasets/postgres-default/Address.jsonl.template +3 -3
  199. package/src/templates/datasets/postgres-default/App.jsonl.template +4 -4
  200. package/src/templates/datasets/postgres-default/Company.jsonl.template +3 -3
  201. package/src/templates/datasets/postgres-default/Person.jsonl.template +2 -2
  202. package/src/templates/datasets/postgres-default/User.jsonl.template +1 -0
  203. package/src/templates/datasets/postgres-default/instructions.md.template +1 -0
  204. package/src/templates/docker-compose.prod-test.yml.template +32 -0
  205. package/src/templates/docker-compose.yml.template +24 -0
  206. package/src/templates/docs/app-description.md.template +33 -33
  207. package/src/templates/firebase.json.template +68 -0
  208. package/src/templates/frontend/.umirc.ts.template +23 -0
  209. package/src/templates/frontend/package.json.template +45 -0
  210. package/src/templates/frontend/public/config.json +6 -0
  211. package/src/templates/frontend/public/logo.svg +6 -0
  212. package/src/templates/frontend/src/app.tsx.template +44 -0
  213. package/src/templates/frontend/src/global.less.template +117 -0
  214. package/src/templates/frontend/src/layouts/MainLayout.tsx.template +75 -0
  215. package/src/templates/frontend/src/types/graphql-augmentation.d.ts.template +44 -0
  216. package/src/templates/frontend/src/views/customViews/user/UserCreateView.tsx.template +18 -0
  217. package/src/templates/frontend/src/views/customViews/user/UserEditView.tsx.template +29 -0
  218. package/src/templates/frontend/src/views/customViews/user/UserReadView.tsx.template +24 -0
  219. package/src/templates/frontend/src/views/customViews/user/UserTableView.tsx.template +38 -0
  220. package/src/templates/frontend/src/views/customViews/welcome.tsx.template +34 -0
  221. package/src/templates/frontend/tsconfig.json.template +50 -0
  222. package/src/templates/gql/codegen.yml.template +25 -25
  223. package/src/templates/gql/index.ts.template +17 -24
  224. package/src/templates/gql/operations.graphql.template +30 -30
  225. package/src/templates/ops/README.md.template +1045 -0
  226. package/src/templates/ops/cloudbuild.yaml.template +161 -0
  227. package/src/templates/ops/scripts/_utils.js.template +217 -0
  228. package/src/templates/ops/scripts/deploy.js.template +145 -0
  229. package/src/templates/ops/scripts/setup-gcp.js.template +330 -0
  230. package/src/templates/ops/scripts/setup-secrets.js.template +76 -0
  231. package/src/templates/ops/scripts/test-prod-local.js.template +49 -0
  232. package/src/templates/package.json.template +50 -38
  233. package/src/templates/pnpm-workspace.yaml.template +3 -0
  234. package/src/templates/prompt-analysis.md.template +110 -110
  235. package/src/templates/prompt-script-generation.md.template +258 -258
  236. package/src/templates/src/Address.ts.template +28 -31
  237. package/src/templates/src/App.ts.template +17 -61
  238. package/src/templates/src/Company.ts.template +41 -47
  239. package/src/templates/src/Models.test.ts.template +654 -654
  240. package/src/templates/src/Person.test.ts.template +289 -289
  241. package/src/templates/src/Person.ts.template +90 -105
  242. package/src/templates/src/actions/index.ts.template +11 -11
  243. package/src/templates/src/auth/permissions.ts.template +34 -0
  244. package/src/templates/src/data/App.ts.template +48 -0
  245. package/src/templates/src/data/User.ts.template +35 -0
  246. package/src/templates/src/types/gql.d.ts.template +17 -17
  247. package/src/templates/vscode/extensions.json +4 -3
  248. package/src/templates/vscode/settings.json +17 -11
  249. package/src/templates/workspace-package.json.template +21 -0
  250. package/dist/templates/src/index.ts +0 -66
  251. package/src/templates/src/index.ts +0 -66
package/bin/dev.cmd CHANGED
@@ -1,3 +1,3 @@
1
- @echo off
2
-
1
+ @echo off
2
+
3
3
  node --loader ts-node/esm --no-warnings=ExperimentalWarning "%~dp0\dev" %*
package/bin/dev.js CHANGED
@@ -1,5 +1,5 @@
1
- #!/usr/bin/env node
2
-
3
- const { execute } = require('@oclif/core');
4
-
5
- execute({ development: true, dir: __dirname });
1
+ #!/usr/bin/env node
2
+
3
+ const { execute } = require('@oclif/core');
4
+
5
+ execute({ development: true, dir: __dirname });
package/bin/run.cmd CHANGED
@@ -1,3 +1,3 @@
1
- @echo off
2
-
1
+ @echo off
2
+
3
3
  node "%~dp0\run" %*
package/bin/run.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
-
3
- const { execute } = require('@oclif/core');
4
-
5
- execute({ dir: __dirname });
2
+
3
+ const { execute } = require('@oclif/core');
4
+
5
+ execute({ dir: __dirname });
package/bin/slingr ADDED
@@ -0,0 +1 @@
1
+ ../lib/node_modules/@slingr/cli/bin/run.js
@@ -0,0 +1,20 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Build extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
7
+ 'skip-metadata': import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ 'skip-backend': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ 'skip-frontend': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ private verbose;
13
+ private stepResults;
14
+ private summarized;
15
+ private recordStep;
16
+ private extractBuildOutput;
17
+ private printSummary;
18
+ run(): Promise<void>;
19
+ }
20
+ //# sourceMappingURL=build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAa7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAI+D;IAE1F,OAAgB,QAAQ,WAKtB;IAEF,OAAgB,KAAK;;;;;;MAsBnB;IAEF,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAkCP,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+GlC"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@oclif/core");
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const node_child_process_1 = require("node:child_process");
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const checkFramework_js_1 = require("../utils/checkFramework.js");
11
+ class Build extends core_1.Command {
12
+ static description = 'Build a Slingr application: sync metadata, compile backend TypeScript, and build frontend.\n\n' +
13
+ 'Use this command instead of running `npm run build` directly. It ensures all generated files\n' +
14
+ '(view registries, GraphQL schema and SDK) are up-to-date before TypeScript compilation,\n' +
15
+ 'preventing errors like "Cannot find module \'../src/views/...\'" in generated/ files.';
16
+ static examples = [
17
+ '<%= config.bin %> <%= command.id %>',
18
+ '<%= config.bin %> <%= command.id %> --skip-frontend',
19
+ '<%= config.bin %> <%= command.id %> --skip-metadata',
20
+ '<%= config.bin %> <%= command.id %> --verbose',
21
+ ];
22
+ static flags = {
23
+ help: core_1.Flags.help({ char: 'h' }),
24
+ 'skip-metadata': core_1.Flags.boolean({
25
+ char: 'm',
26
+ description: 'Skip sync-metadata step (view registries, schema, SDK generation)',
27
+ required: false,
28
+ }),
29
+ 'skip-backend': core_1.Flags.boolean({
30
+ char: 'b',
31
+ description: 'Skip backend TypeScript compilation',
32
+ required: false,
33
+ }),
34
+ 'skip-frontend': core_1.Flags.boolean({
35
+ char: 'f',
36
+ description: 'Skip frontend build',
37
+ required: false,
38
+ }),
39
+ verbose: core_1.Flags.boolean({
40
+ char: 'v',
41
+ description: 'Show detailed build and compilation output',
42
+ required: false,
43
+ }),
44
+ };
45
+ verbose = false;
46
+ stepResults = [];
47
+ summarized = false;
48
+ recordStep(name, status, message) {
49
+ const step = { name, status };
50
+ if (message !== undefined)
51
+ step.message = message;
52
+ this.stepResults.push(step);
53
+ }
54
+ extractBuildOutput(error) {
55
+ const parts = [];
56
+ if (error?.stdout) {
57
+ const stdout = error.stdout.toString().trim();
58
+ if (stdout)
59
+ parts.push(stdout);
60
+ }
61
+ if (error?.stderr) {
62
+ const stderr = error.stderr.toString().trim();
63
+ if (stderr)
64
+ parts.push(stderr);
65
+ }
66
+ return parts.length > 0 ? '\n' + parts.join('\n') : '';
67
+ }
68
+ printSummary() {
69
+ if (this.stepResults.length === 0 || this.summarized)
70
+ return;
71
+ this.summarized = true;
72
+ const hasErrors = this.stepResults.some(s => s.status === 'error');
73
+ const hasWarnings = this.stepResults.some(s => s.status === 'warning');
74
+ this.log('');
75
+ this.log('━'.repeat(60));
76
+ if (hasErrors) {
77
+ this.log('❌ Build completed with errors');
78
+ }
79
+ else if (hasWarnings) {
80
+ this.log('⚠️ Build completed with warnings');
81
+ }
82
+ else {
83
+ this.log('✅ Build completed successfully');
84
+ }
85
+ this.log('━'.repeat(60));
86
+ for (const step of this.stepResults) {
87
+ const icon = step.status === 'success' ? '✅' : step.status === 'warning' ? '⚠️ ' : step.status === 'skipped' ? '⏭️ ' : '❌';
88
+ const msg = step.status === 'skipped'
89
+ ? ` — skipped${step.message ? ` (${step.message})` : ''}`
90
+ : step.message
91
+ ? ` — ${step.message}`
92
+ : '';
93
+ this.log(` ${icon} ${step.name}${msg}`);
94
+ }
95
+ this.log('━'.repeat(60));
96
+ this.log('');
97
+ }
98
+ async run() {
99
+ const { flags } = await this.parse(Build);
100
+ this.verbose = flags.verbose ?? false;
101
+ try {
102
+ // Validate environment
103
+ const packageJsonPath = node_path_1.default.join(process.cwd(), 'package.json');
104
+ if (!(await fs_extra_1.default.pathExists(packageJsonPath))) {
105
+ this.error("Not in a Slingr application directory. Please run this command from your app's root directory.");
106
+ }
107
+ if (!(await (0, checkFramework_js_1.hasSlingrFramework)())) {
108
+ this.error('This directory does not contain a Slingr application.');
109
+ }
110
+ const backendPath = (0, checkFramework_js_1.getBackendPath)();
111
+ const srcAppPath = node_path_1.default.join(backendPath, 'src', 'App.ts');
112
+ if (!(await fs_extra_1.default.pathExists(srcAppPath))) {
113
+ this.error('backend/src/App.ts not found. This does not appear to be a valid Slingr application.');
114
+ }
115
+ this.log('🔨 Building Slingr application...');
116
+ this.log('');
117
+ // Step 1: Sync metadata (view registries, GraphQL schema, SDK)
118
+ if (flags['skip-metadata']) {
119
+ this.recordStep('Sync metadata', 'skipped', '--skip-metadata');
120
+ }
121
+ else {
122
+ this.log('🔄 Step 1/3: Syncing metadata (view registries, schema, SDK)...');
123
+ try {
124
+ await this.config.runCommand('sync-metadata');
125
+ this.recordStep('Sync metadata', 'success');
126
+ }
127
+ catch (error) {
128
+ this.recordStep('Sync metadata', 'warning', error.message);
129
+ this.warn(`Metadata sync encountered issues: ${error.message}`);
130
+ this.warn('Proceeding with compilation using any generated stubs...');
131
+ }
132
+ this.log('');
133
+ }
134
+ // Step 2: Backend TypeScript compilation
135
+ if (flags['skip-backend']) {
136
+ this.recordStep('Backend compilation', 'skipped', '--skip-backend');
137
+ }
138
+ else {
139
+ this.log('⚙️ Step 2/3: Compiling backend TypeScript...');
140
+ try {
141
+ // Remove stale compiled output before recompiling.
142
+ // Only remove src/ and generated/ (not dist/ui/ which holds the frontend build).
143
+ await fs_extra_1.default.remove(node_path_1.default.join(backendPath, 'dist', 'src'));
144
+ await fs_extra_1.default.remove(node_path_1.default.join(backendPath, 'dist', 'generated'));
145
+ if (this.verbose) {
146
+ (0, node_child_process_1.execSync)('npm run build', { stdio: 'inherit', cwd: backendPath });
147
+ }
148
+ else {
149
+ (0, node_child_process_1.execSync)('npm run build', { stdio: 'pipe', cwd: backendPath });
150
+ }
151
+ this.log('✅ Backend compiled successfully');
152
+ this.recordStep('Backend compilation', 'success');
153
+ }
154
+ catch (error) {
155
+ const detail = this.extractBuildOutput(error);
156
+ this.recordStep('Backend compilation', 'error', 'Compilation failed');
157
+ this.printSummary();
158
+ this.error(`Backend TypeScript compilation failed:${detail || ` ${error.message}`}`);
159
+ }
160
+ this.log('');
161
+ }
162
+ // Step 3: Frontend build
163
+ const frontendPath = node_path_1.default.join(process.cwd(), 'frontend');
164
+ const frontendDirExists = await fs_extra_1.default.pathExists(frontendPath);
165
+ const frontendPkgExists = frontendDirExists && (await fs_extra_1.default.pathExists(node_path_1.default.join(frontendPath, 'package.json')));
166
+ if (frontendDirExists && !frontendPkgExists) {
167
+ this.recordStep('Frontend build', 'error', 'frontend/ directory exists but package.json is missing');
168
+ this.printSummary();
169
+ this.error('frontend/package.json not found. The frontend directory exists but appears to be incomplete.');
170
+ }
171
+ if (flags['skip-frontend'] || !frontendDirExists) {
172
+ this.recordStep('Frontend build', 'skipped', flags['skip-frontend'] ? '--skip-frontend' : 'No frontend directory found');
173
+ }
174
+ else {
175
+ this.log('📦 Step 3/3: Building frontend...');
176
+ try {
177
+ if (this.verbose) {
178
+ (0, node_child_process_1.execSync)('npm run build', { stdio: 'inherit', cwd: frontendPath });
179
+ }
180
+ else {
181
+ (0, node_child_process_1.execSync)('npm run build', { stdio: 'pipe', cwd: frontendPath });
182
+ }
183
+ this.log('✅ Frontend built successfully');
184
+ this.recordStep('Frontend build', 'success');
185
+ }
186
+ catch (error) {
187
+ const detail = this.extractBuildOutput(error);
188
+ this.recordStep('Frontend build', 'error', 'Build failed');
189
+ this.printSummary();
190
+ this.error(`Frontend build failed:${detail || ` ${error.message}`}`);
191
+ }
192
+ this.log('');
193
+ }
194
+ this.printSummary();
195
+ }
196
+ catch (error) {
197
+ if (!error.oclif) {
198
+ this.printSummary();
199
+ this.error(error.message);
200
+ }
201
+ throw error;
202
+ }
203
+ }
204
+ }
205
+ exports.default = Build;
206
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":";;;;;AAAA,sCAA6C;AAC7C,wDAA0B;AAC1B,2DAA8C;AAC9C,0DAA6B;AAE7B,kEAAgF;AAQhF,MAAqB,KAAM,SAAQ,cAAO;IACxC,MAAM,CAAU,WAAW,GACzB,gGAAgG;QAChG,gGAAgG;QAChG,2FAA2F;QAC3F,uFAAuF,CAAC;IAE1F,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,qDAAqD;QACrD,qDAAqD;QACrD,+CAA+C;KAChD,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,YAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAC/B,eAAe,EAAE,YAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mEAAmE;YAChF,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,cAAc,EAAE,YAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,eAAe,EAAE,YAAK,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4CAA4C;YACzD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH,CAAC;IAEM,OAAO,GAAY,KAAK,CAAC;IACzB,WAAW,GAAiB,EAAE,CAAC;IAC/B,UAAU,GAAY,KAAK,CAAC;IAE5B,UAAU,CAAC,IAAY,EAAE,MAA4B,EAAE,OAAgB;QAC7E,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,kBAAkB,CAAC,KAAU;QACnC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAEvE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YAChH,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,KAAK,SAAS;gBACvB,CAAC,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzD,CAAC,CAAC,IAAI,CAAC,OAAO;oBACZ,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE;oBACtB,CAAC,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC;QAEtC,IAAI,CAAC;YACH,uBAAuB;YACvB,MAAM,eAAe,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YACjE,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,gGAAgG,CAAC,CAAC;YAC/G,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,IAAA,sCAAkB,GAAE,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,WAAW,GAAG,IAAA,kCAAc,GAAE,CAAC;YACrC,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEb,+DAA+D;YAC/D,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;gBAC5E,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC9C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;oBACtE,IAAI,CAAC,IAAI,CAAC,qCAAsC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3E,IAAI,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YAED,yCAAyC;YACzC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC1D,IAAI,CAAC;oBACH,mDAAmD;oBACnD,iFAAiF;oBACjF,MAAM,kBAAE,CAAC,MAAM,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;oBACvD,MAAM,kBAAE,CAAC,MAAM,CAAC,mBAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAA,6BAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,IAAA,6BAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;oBACtE,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,yCAAyC,MAAM,IAAI,IAAK,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClG,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YAED,yBAAyB;YACzB,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;YAC1D,MAAM,iBAAiB,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,MAAM,kBAAE,CAAC,UAAU,CAAC,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;YAE9G,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5C,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,wDAAwD,CAAC,CAAC;gBACrG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,8FAA8F,CAAC,CAAC;YAC7G,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACjD,IAAI,CAAC,UAAU,CACb,gBAAgB,EAChB,SAAS,EACT,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,6BAA6B,CAC3E,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBAC9C,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAA,6BAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;oBACrE,CAAC;yBAAM,CAAC;wBACN,IAAA,6BAAQ,EAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC1C,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC9C,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;oBAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,CAAC,yBAAyB,MAAM,IAAI,IAAK,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAE,KAAa,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;;AA7MH,wBA8MC"}
@@ -13,7 +13,6 @@ export default class CreateApp extends Command {
13
13
  help: import("@oclif/core/interfaces").BooleanFlag<void>;
14
14
  'skip-setup': import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
15
  templates: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  };
18
17
  run(): Promise<void>;
19
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/commands/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,OAAgB,IAAI;;MAKlB;IACF,OAAgB,WAAW,SAA6B;IACxD,OAAgB,QAAQ,WAMtB;IACF,OAAgB,KAAK;;;;;;;;;MAsCnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqMlC"}
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../../src/commands/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AASnD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,OAAgB,IAAI;;MAKlB;IACF,OAAgB,WAAW,SAA6B;IACxD,OAAgB,QAAQ,WAMtB;IACF,OAAgB,KAAK;;;;;;;;MAkCnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkLlC"}
@@ -9,6 +9,7 @@ const inquirer_1 = __importDefault(require("inquirer"));
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
10
  const child_process_1 = require("child_process");
11
11
  const projectStructure_js_1 = require("../projectStructure.js");
12
+ const viewsGenerator_js_1 = require("../utils/viewsGenerator.js");
12
13
  class CreateApp extends core_1.Command {
13
14
  static args = {
14
15
  name: core_1.Args.string({
@@ -21,8 +22,8 @@ class CreateApp extends core_1.Command {
21
22
  '<%= config.bin %> <%= command.id %>',
22
23
  '<%= config.bin %> <%= command.id %> my-app',
23
24
  '<%= config.bin %> <%= command.id %> task-manager',
24
- '<%= config.bin %> <%= command.id %> my-crm --type="CRM" --database=postgres --description="A CRM system for managing customers"',
25
- '<%= config.bin %> <%= command.id %> my-crm --type="CRM" --database=postgres --description="A CRM system for managing customers" -T',
25
+ '<%= config.bin %> <%= command.id %> my-crm --database=postgres --description="A CRM system for managing customers"',
26
+ '<%= config.bin %> <%= command.id %> my-crm --database=postgres --description="A CRM system for managing customers" -T',
26
27
  ];
27
28
  static flags = {
28
29
  backend: core_1.Flags.boolean({
@@ -58,10 +59,6 @@ class CreateApp extends core_1.Command {
58
59
  default: false,
59
60
  description: 'Include template models and tests in the project',
60
61
  }),
61
- type: core_1.Flags.string({
62
- char: 't',
63
- description: 'Type of app (e.g., CRM, task manager, ERP)',
64
- }),
65
62
  };
66
63
  async run() {
67
64
  const { args, flags } = await this.parse(CreateApp);
@@ -107,72 +104,49 @@ class CreateApp extends core_1.Command {
107
104
  this.log(`\u001B[32m✓\u001B[0m What is the name of your app? ${appName}`);
108
105
  }
109
106
  let answers;
110
- // Check if all required flags are provided (backend/frontend are now always true by default)
111
- // Database defaults to postgres
112
- const hasAllFlags = flags.type && flags.description;
113
- if (hasAllFlags) {
107
+ // Skip prompts if description flag is provided (for non-interactive usage)
108
+ // We make description check sufficient for non-interactive mode since it's the only prompt now
109
+ const isNonInteractive = flags.description !== undefined;
110
+ if (isNonInteractive) {
114
111
  // Use provided flags, backend and frontend default to true, database defaults to postgres
115
112
  answers = {
116
- appType: flags.type,
117
113
  database: flags.database || 'postgres',
118
- description: flags.description,
119
114
  hasBackend: flags.backend ?? true,
120
115
  hasFrontend: flags.frontend ?? true,
121
116
  includeTemplates: flags.templates ?? false,
122
117
  };
118
+ if (flags.description) {
119
+ answers.description = flags.description;
120
+ }
123
121
  }
124
122
  else {
125
- // Ask questions one by one to show checkmarks after each answer
126
- const appTypeAnswer = await inquirer_1.default.prompt([
127
- {
128
- default: flags.type,
129
- message: 'What type of app are you creating?',
130
- name: 'appType',
131
- prefix: '\u001B[36m›\u001B[0m',
132
- suffix: ' (e.g., CRM, task manager, ERP)',
133
- type: 'input',
134
- validate: (input) => input.length > 0 || 'Please provide an app type',
135
- },
136
- ]);
137
- // Clear the question line and show with checkmark
138
- process.stdout.write('\u001B[1A\u001B[2K');
139
- this.log(`\u001B[32m✓\u001B[0m What type of app are you creating? ${appTypeAnswer.appType}`);
123
+ // Ask for description (optional) with improved prompt text
140
124
  const descriptionAnswer = await inquirer_1.default.prompt([
141
125
  {
142
- default: flags.description,
143
- message: 'Please describe what your app needs to do:',
126
+ default: flags.description || '',
127
+ message: 'Describe what your app should do',
144
128
  name: 'description',
145
129
  prefix: '\u001B[36m›\u001B[0m',
130
+ suffix: ' (optional)',
146
131
  type: 'input',
147
- validate: (input) => input.length > 0 || 'Please provide a description',
148
132
  },
149
133
  ]);
150
134
  // Clear the question line and show with checkmark
151
135
  process.stdout.write('\u001B[1A\u001B[2K');
152
- this.log(`\u001B[32m✓\u001B[0m Please describe what your app needs to do: ${descriptionAnswer.description}`);
153
- const templatesAnswer = await inquirer_1.default.prompt([
154
- {
155
- default: flags.templates ?? false,
156
- message: 'Include template models and tests?',
157
- name: 'includeTemplates',
158
- prefix: '\u001B[36m›\u001B[0m',
159
- type: 'confirm',
160
- },
161
- ]);
162
- // Clear the question line and show with checkmark
163
- process.stdout.write('\u001B[1A\u001B[2K');
164
- this.log(`\u001B[32m✓\u001B[0m Include template models and tests? ${templatesAnswer.includeTemplates ? 'Yes' : 'No'}`);
136
+ const descDisplay = descriptionAnswer.description || '(skipped)';
137
+ this.log(`\u001B[32m✓\u001B[0m Describe what your app should do: ${descDisplay}`);
165
138
  // Show database default
166
139
  this.log(`\u001B[32m✓\u001B[0m Database: PostgreSQL (default)`);
167
- // Set backend, frontend to true and database to postgres as they're no longer asked
140
+ // Set backend, frontend to true, database to postgres, and templates to false as defaults
168
141
  answers = {
169
- appType: appTypeAnswer.appType,
170
142
  database: flags.database || 'postgres',
171
- description: descriptionAnswer.description,
172
143
  hasBackend: true,
173
144
  hasFrontend: true,
174
- includeTemplates: templatesAnswer.includeTemplates,
145
+ includeTemplates: flags.templates ?? false,
175
146
  };
147
+ if (descriptionAnswer.description) {
148
+ answers.description = descriptionAnswer.description;
149
+ }
176
150
  }
177
151
  this.log('');
178
152
  this.log(`✨ Creating the app ${appName}...`);
@@ -180,6 +154,10 @@ class CreateApp extends core_1.Command {
180
154
  // Create the project structure
181
155
  const targetDir = node_path_1.default.resolve(process.cwd(), appName);
182
156
  await (0, projectStructure_js_1.createProjectStructure)(appName, answers);
157
+ // Generate the views context.ts file if frontend was created
158
+ if (answers.hasFrontend) {
159
+ await (0, viewsGenerator_js_1.generateViewsContext)(targetDir);
160
+ }
183
161
  this.log('✅ Project created successfully!');
184
162
  this.log('');
185
163
  this.log(`📁 Location: ${targetDir}`);
@@ -188,12 +166,8 @@ class CreateApp extends core_1.Command {
188
166
  this.log('');
189
167
  this.log('To get started:');
190
168
  this.log(` cd ${appName}`);
191
- this.log(` npm install`);
192
- this.log(` npx slingr gql generate-schema`);
193
- this.log(` npx slingr gql generate-sdk`);
194
- this.log('');
195
- this.log('Or run the complete setup automatically:');
196
- this.log(` cd ${appName} && npx slingr setup`);
169
+ this.log(` slingr setup`);
170
+ this.log(` slingr run`);
197
171
  // Ask if user wants to run setup automatically (unless skip-setup flag is used)
198
172
  if (!flags['skip-setup']) {
199
173
  const { runSetup } = await inquirer_1.default.prompt([
@@ -221,10 +195,17 @@ class CreateApp extends core_1.Command {
221
195
  this.log('🎉 Your Slingr application is ready!');
222
196
  this.log('');
223
197
  this.log('To start developing:');
224
- this.log(` cd ${appName}`);
225
- this.log(' npm run dev');
198
+ this.log(' Backend:');
199
+ this.log(` cd ${appName}`);
200
+ this.log(' pnpm run dev');
201
+ this.log('');
202
+ this.log(' Frontend (in another terminal):');
203
+ this.log(` cd ${appName}`);
204
+ this.log(' pnpm run dev:frontend');
205
+ this.log('');
206
+ this.log(' Then visit http://localhost:8000 to see your app!');
226
207
  this.log('');
227
- this.log('Or to run with infrastructure:');
208
+ this.log('Or to run with infrastructure (includes database):');
228
209
  this.log(` cd ${appName}`);
229
210
  this.log(' npx slingr run');
230
211
  }
@@ -233,7 +214,7 @@ class CreateApp extends core_1.Command {
233
214
  this.warn('Setup encountered an issue, but your application was created successfully.');
234
215
  this.log('You can run the setup manually:');
235
216
  this.log(` cd ${appName}`);
236
- this.log(' npx slingr setup');
217
+ this.log(' pnpm run setup');
237
218
  }
238
219
  }
239
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/commands/create-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/commands/create-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Debug extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ help: import("@oclif/core/interfaces").BooleanFlag<void>;
7
+ dev: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ 'inspect-brk': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ 'inspect-port': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'skip-infra': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ port: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ private verbose;
15
+ private vlog;
16
+ run(): Promise<void>;
17
+ private resolveUiPath;
18
+ private buildFramework;
19
+ private buildUI;
20
+ private copyUIToBackend;
21
+ private generateCode;
22
+ private checkInfrastructure;
23
+ private checkPortAvailability;
24
+ private runDevMode;
25
+ private executeApp;
26
+ private loadDataSources;
27
+ }
28
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/commands/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,WAAW,SAI4D;IACvF,OAAgB,QAAQ,WAOtB;IACF,OAAgB,KAAK;;;;;;;;MAmCnB;IAEF,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,IAAI;IAMC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA4CnB,aAAa;YAQb,cAAc;YAYd,OAAO;YAgCP,eAAe;YAoBf,YAAY;YA6DZ,mBAAmB;YAwDnB,qBAAqB;YA8CrB,UAAU;YA8GV,UAAU;YAyCV,eAAe;CAwB9B"}