fragment-ts 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +401 -0
  2. package/USAGE.md +1439 -0
  3. package/bin/fragment.js +2 -0
  4. package/dist/ai/ai.module.d.ts +27 -0
  5. package/dist/ai/ai.module.d.ts.map +1 -0
  6. package/dist/ai/ai.module.js +77 -0
  7. package/dist/ai/ai.module.js.map +1 -0
  8. package/dist/auth/auth.module.d.ts +18 -0
  9. package/dist/auth/auth.module.d.ts.map +1 -0
  10. package/dist/auth/auth.module.js +89 -0
  11. package/dist/auth/auth.module.js.map +1 -0
  12. package/dist/cli/commands/build.command.d.ts +6 -1
  13. package/dist/cli/commands/build.command.d.ts.map +1 -0
  14. package/dist/cli/commands/build.command.js +131 -10
  15. package/dist/cli/commands/build.command.js.map +1 -0
  16. package/dist/cli/commands/diagnostics.command.d.ts +16 -0
  17. package/dist/cli/commands/diagnostics.command.d.ts.map +1 -0
  18. package/dist/cli/commands/diagnostics.command.js +419 -0
  19. package/dist/cli/commands/diagnostics.command.js.map +1 -0
  20. package/dist/cli/commands/generate.command.d.ts +13 -6
  21. package/dist/cli/commands/generate.command.d.ts.map +1 -0
  22. package/dist/cli/commands/generate.command.js +201 -128
  23. package/dist/cli/commands/generate.command.js.map +1 -0
  24. package/dist/cli/commands/init.command.d.ts +11 -5
  25. package/dist/cli/commands/init.command.d.ts.map +1 -0
  26. package/dist/cli/commands/init.command.js +268 -305
  27. package/dist/cli/commands/init.command.js.map +1 -0
  28. package/dist/cli/commands/migrate.command.d.ts +12 -5
  29. package/dist/cli/commands/migrate.command.d.ts.map +1 -0
  30. package/dist/cli/commands/migrate.command.js +212 -83
  31. package/dist/cli/commands/migrate.command.js.map +1 -0
  32. package/dist/cli/commands/serve.command.d.ts +5 -4
  33. package/dist/cli/commands/serve.command.d.ts.map +1 -0
  34. package/dist/cli/commands/serve.command.js +179 -21
  35. package/dist/cli/commands/serve.command.js.map +1 -0
  36. package/dist/cli/index.d.ts +2 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/index.js +22 -0
  39. package/dist/cli/index.js.map +1 -0
  40. package/dist/core/container/di-container.d.ts +13 -7
  41. package/dist/core/container/di-container.d.ts.map +1 -0
  42. package/dist/core/container/di-container.js +76 -25
  43. package/dist/core/container/di-container.js.map +1 -0
  44. package/dist/core/decorators/application.decorator.d.ts +8 -0
  45. package/dist/core/decorators/application.decorator.d.ts.map +1 -0
  46. package/dist/core/decorators/application.decorator.js +16 -0
  47. package/dist/core/decorators/application.decorator.js.map +1 -0
  48. package/dist/core/decorators/auto-configuration.decorator.d.ts +2 -0
  49. package/dist/core/decorators/auto-configuration.decorator.d.ts.map +1 -0
  50. package/dist/core/decorators/auto-configuration.decorator.js +19 -0
  51. package/dist/core/decorators/auto-configuration.decorator.js.map +1 -0
  52. package/dist/core/decorators/conditional.decorators.d.ts +4 -0
  53. package/dist/core/decorators/conditional.decorators.d.ts.map +1 -0
  54. package/dist/core/decorators/conditional.decorators.js +22 -0
  55. package/dist/core/decorators/conditional.decorators.js.map +1 -0
  56. package/dist/core/decorators/controller.decorator.d.ts +1 -3
  57. package/dist/core/decorators/controller.decorator.d.ts.map +1 -0
  58. package/dist/core/decorators/controller.decorator.js +13 -9
  59. package/dist/core/decorators/controller.decorator.js.map +1 -0
  60. package/dist/core/decorators/http.decorators.d.ts +12 -0
  61. package/dist/core/decorators/http.decorators.d.ts.map +1 -0
  62. package/dist/core/decorators/http.decorators.js +52 -0
  63. package/dist/core/decorators/http.decorators.js.map +1 -0
  64. package/dist/core/decorators/injectable.decorator.d.ts +3 -3
  65. package/dist/core/decorators/injectable.decorator.d.ts.map +1 -0
  66. package/dist/core/decorators/injectable.decorator.js +12 -8
  67. package/dist/core/decorators/injectable.decorator.js.map +1 -0
  68. package/dist/core/decorators/injection.decorators.d.ts +5 -0
  69. package/dist/core/decorators/injection.decorators.d.ts.map +1 -0
  70. package/dist/core/decorators/injection.decorators.js +29 -0
  71. package/dist/core/decorators/injection.decorators.js.map +1 -0
  72. package/dist/core/decorators/repository.decorator.d.ts +1 -0
  73. package/dist/core/decorators/repository.decorator.d.ts.map +1 -0
  74. package/dist/core/decorators/repository.decorator.js +13 -1
  75. package/dist/core/decorators/repository.decorator.js.map +1 -0
  76. package/dist/core/decorators/service.decorator.d.ts +1 -0
  77. package/dist/core/decorators/service.decorator.d.ts.map +1 -0
  78. package/dist/core/decorators/service.decorator.js +13 -1
  79. package/dist/core/decorators/service.decorator.js.map +1 -0
  80. package/dist/core/index.d.ts +13 -0
  81. package/dist/core/index.d.ts.map +1 -0
  82. package/dist/core/index.js +29 -0
  83. package/dist/core/index.js.map +1 -0
  84. package/dist/core/loader/file-loader.d.ts +5 -0
  85. package/dist/core/loader/file-loader.d.ts.map +1 -0
  86. package/dist/core/loader/file-loader.js +85 -0
  87. package/dist/core/loader/file-loader.js.map +1 -0
  88. package/dist/core/metadata/metadata-keys.d.ts +20 -0
  89. package/dist/core/metadata/metadata-keys.d.ts.map +1 -0
  90. package/dist/core/metadata/metadata-keys.js +23 -0
  91. package/dist/core/metadata/metadata-keys.js.map +1 -0
  92. package/dist/core/metadata/metadata-storage.d.ts +36 -0
  93. package/dist/core/metadata/metadata-storage.d.ts.map +1 -0
  94. package/dist/core/metadata/metadata-storage.js +53 -0
  95. package/dist/core/metadata/metadata-storage.js.map +1 -0
  96. package/dist/core/scanner/component-scanner.d.ts +16 -0
  97. package/dist/core/scanner/component-scanner.d.ts.map +1 -0
  98. package/dist/core/scanner/component-scanner.js +147 -0
  99. package/dist/core/scanner/component-scanner.js.map +1 -0
  100. package/dist/index.d.ts +22 -0
  101. package/dist/index.d.ts.map +1 -0
  102. package/dist/index.js +60 -0
  103. package/dist/index.js.map +1 -0
  104. package/dist/plugins/plugin-manager.d.ts +14 -0
  105. package/dist/plugins/plugin-manager.d.ts.map +1 -0
  106. package/dist/{cli/utils/file-generator.js → plugins/plugin-manager.js} +32 -23
  107. package/dist/plugins/plugin-manager.js.map +1 -0
  108. package/dist/shared/errors.d.ts +18 -0
  109. package/dist/shared/errors.d.ts.map +1 -0
  110. package/dist/shared/errors.js +41 -0
  111. package/dist/shared/errors.js.map +1 -0
  112. package/dist/testing/runner.d.ts +26 -0
  113. package/dist/testing/runner.d.ts.map +1 -0
  114. package/dist/testing/runner.js +143 -0
  115. package/dist/testing/runner.js.map +1 -0
  116. package/dist/typeorm/typeorm-module.d.ts +36 -0
  117. package/dist/typeorm/typeorm-module.d.ts.map +1 -0
  118. package/dist/typeorm/typeorm-module.js +150 -0
  119. package/dist/typeorm/typeorm-module.js.map +1 -0
  120. package/dist/web/application.d.ts +29 -0
  121. package/dist/web/application.d.ts.map +1 -0
  122. package/dist/web/application.js +301 -0
  123. package/dist/web/application.js.map +1 -0
  124. package/dist/web/interfaces.d.ts +14 -0
  125. package/dist/web/interfaces.d.ts.map +1 -0
  126. package/dist/{auth/dto/login.dto.js → web/interfaces.js} +1 -0
  127. package/dist/web/interfaces.js.map +1 -0
  128. package/examples/ai-assistant/fragment.json +18 -0
  129. package/examples/ai-assistant/package-lock.json +2921 -0
  130. package/examples/ai-assistant/package.json +20 -0
  131. package/examples/ai-assistant/src/controllers/app.controller.ts +9 -0
  132. package/examples/ai-assistant/src/controllers/chat.controller.ts +69 -0
  133. package/examples/ai-assistant/src/controllers/conversation.controller.ts +29 -0
  134. package/examples/ai-assistant/src/controllers/message.controller.ts +29 -0
  135. package/examples/ai-assistant/src/controllers/search.controller.ts +16 -0
  136. package/examples/ai-assistant/src/dto/create-conversation.dto.ts +6 -0
  137. package/examples/ai-assistant/src/dto/create-message.dto.ts +6 -0
  138. package/examples/ai-assistant/src/entities/conversation.entity.ts +23 -0
  139. package/examples/ai-assistant/src/entities/message.entity.ts +27 -0
  140. package/examples/ai-assistant/src/entities/user.entity.ts +16 -0
  141. package/examples/ai-assistant/src/main.ts +15 -0
  142. package/examples/ai-assistant/src/migrations/1767738396740-CreateConversationTables.ts +37 -0
  143. package/examples/ai-assistant/src/repositories/conversation.repository.ts +32 -0
  144. package/examples/ai-assistant/src/repositories/message.repository.ts +30 -0
  145. package/examples/ai-assistant/src/services/ai.service.ts +41 -0
  146. package/examples/ai-assistant/src/services/app.service.ts +8 -0
  147. package/examples/ai-assistant/src/services/conversation.service.ts +75 -0
  148. package/examples/ai-assistant/src/services/message.service.ts +27 -0
  149. package/examples/ai-assistant/tsconfig.json +23 -0
  150. package/examples/blog-api/fragment.json +18 -0
  151. package/examples/blog-api/package.json +19 -0
  152. package/examples/blog-api/src/controllers/app.controller.ts +9 -0
  153. package/examples/blog-api/src/controllers/auth.controller.ts +17 -0
  154. package/examples/blog-api/src/controllers/category.controller.ts +29 -0
  155. package/examples/blog-api/src/controllers/comment.controller.ts +27 -0
  156. package/examples/blog-api/src/controllers/post.controller.ts +46 -0
  157. package/examples/blog-api/src/dto/create-category.dto.ts +6 -0
  158. package/examples/blog-api/src/dto/create-comment.dto.ts +6 -0
  159. package/examples/blog-api/src/dto/create-post.dto.ts +6 -0
  160. package/examples/blog-api/src/entities/category.entity.ts +16 -0
  161. package/examples/blog-api/src/entities/comment.entity.ts +29 -0
  162. package/examples/blog-api/src/entities/post.entity.ts +42 -0
  163. package/examples/blog-api/src/entities/user.entity.ts +25 -0
  164. package/examples/blog-api/src/main.ts +16 -0
  165. package/examples/blog-api/src/migrations/1767737463842-InitialSchema.ts +60 -0
  166. package/examples/blog-api/src/repositories/category.repository.ts +25 -0
  167. package/examples/blog-api/src/repositories/comment.repository.ts +25 -0
  168. package/examples/blog-api/src/repositories/post.repository.ts +29 -0
  169. package/examples/blog-api/src/seeds/SampleData.seed.ts +41 -0
  170. package/examples/blog-api/src/services/app.service.ts +8 -0
  171. package/examples/blog-api/src/services/auth.service.ts +15 -0
  172. package/examples/blog-api/src/services/category.service.ts +27 -0
  173. package/examples/blog-api/src/services/comment.service.ts +31 -0
  174. package/examples/blog-api/src/services/post.service.ts +35 -0
  175. package/examples/blog-api/tsconfig.json +23 -0
  176. package/package.json +56 -33
  177. package/src/ai/ai.module.ts +110 -0
  178. package/src/auth/auth.module.ts +77 -0
  179. package/src/cli/commands/build.command.ts +123 -13
  180. package/src/cli/commands/diagnostics.command.ts +438 -0
  181. package/src/cli/commands/generate.command.ts +206 -137
  182. package/src/cli/commands/init.command.ts +337 -349
  183. package/src/cli/commands/migrate.command.ts +203 -88
  184. package/src/cli/commands/serve.command.ts +176 -24
  185. package/src/cli/index.ts +23 -0
  186. package/src/core/container/di-container.ts +83 -26
  187. package/src/core/decorators/application.decorator.ts +26 -0
  188. package/src/core/decorators/auto-configuration.decorator.ts +17 -0
  189. package/src/core/decorators/conditional.decorators.ts +19 -0
  190. package/src/core/decorators/controller.decorator.ts +14 -11
  191. package/src/core/decorators/http.decorators.ts +71 -0
  192. package/src/core/decorators/injectable.decorator.ts +14 -9
  193. package/src/core/decorators/injection.decorators.ts +26 -0
  194. package/src/core/decorators/repository.decorator.ts +13 -2
  195. package/src/core/decorators/service.decorator.ts +13 -2
  196. package/src/core/index.ts +13 -0
  197. package/src/core/loader/file-loader.ts +55 -0
  198. package/src/core/metadata/metadata-keys.ts +19 -0
  199. package/src/core/metadata/metadata-storage.ts +91 -0
  200. package/src/core/scanner/component-scanner.ts +129 -0
  201. package/src/index.ts +45 -0
  202. package/src/plugins/plugin-manager.ts +52 -0
  203. package/src/shared/errors.ts +34 -0
  204. package/src/testing/runner.ts +143 -0
  205. package/src/typeorm/typeorm-module.ts +216 -0
  206. package/src/web/application.ts +348 -0
  207. package/src/web/interfaces.ts +17 -0
  208. package/tsconfig.json +8 -5
  209. package/.env.example +0 -0
  210. package/base.ts +0 -1810
  211. package/base2.ts +0 -968
  212. package/bin/frg.ts +0 -5
  213. package/config/fragment.lock.yaml +0 -0
  214. package/config/fragment.yaml +0 -0
  215. package/dist/app.d.ts +0 -15
  216. package/dist/app.js +0 -90
  217. package/dist/auth/auth.controller.d.ts +0 -10
  218. package/dist/auth/auth.controller.js +0 -87
  219. package/dist/auth/auth.middleware.d.ts +0 -2
  220. package/dist/auth/auth.middleware.js +0 -24
  221. package/dist/auth/auth.service.d.ts +0 -20
  222. package/dist/auth/auth.service.js +0 -143
  223. package/dist/auth/dto/login.dto.d.ts +0 -9
  224. package/dist/cli/cli.d.ts +0 -12
  225. package/dist/cli/cli.js +0 -186
  226. package/dist/cli/commands/config.command.d.ts +0 -6
  227. package/dist/cli/commands/config.command.js +0 -284
  228. package/dist/cli/templates/controller.template.d.ts +0 -1
  229. package/dist/cli/templates/controller.template.js +0 -52
  230. package/dist/cli/templates/entity.template.d.ts +0 -1
  231. package/dist/cli/templates/entity.template.js +0 -23
  232. package/dist/cli/templates/repository.template.d.ts +0 -1
  233. package/dist/cli/templates/repository.template.js +0 -43
  234. package/dist/cli/templates/service.template.d.ts +0 -1
  235. package/dist/cli/templates/service.template.js +0 -43
  236. package/dist/cli/utils/file-generator.d.ts +0 -9
  237. package/dist/cli/utils/logger.d.ts +0 -14
  238. package/dist/cli/utils/logger.js +0 -49
  239. package/dist/controllers/health.controller.d.ts +0 -13
  240. package/dist/controllers/health.controller.js +0 -50
  241. package/dist/core/config/config-loader.d.ts +0 -31
  242. package/dist/core/config/config-loader.js +0 -98
  243. package/dist/core/decorators/auth-guard.decorator.d.ts +0 -3
  244. package/dist/core/decorators/auth-guard.decorator.js +0 -18
  245. package/dist/core/decorators/autowire.decorator.d.ts +0 -3
  246. package/dist/core/decorators/autowire.decorator.js +0 -17
  247. package/dist/core/decorators/middleware.decorator.d.ts +0 -3
  248. package/dist/core/decorators/middleware.decorator.js +0 -20
  249. package/dist/core/decorators/route.decorator.d.ts +0 -14
  250. package/dist/core/decorators/route.decorator.js +0 -32
  251. package/dist/core/openai/openai-client.d.ts +0 -12
  252. package/dist/core/openai/openai-client.js +0 -93
  253. package/dist/database/data-source.d.ts +0 -4
  254. package/dist/database/data-source.js +0 -26
  255. package/dist/entities/session.entity.d.ts +0 -9
  256. package/dist/entities/session.entity.js +0 -45
  257. package/dist/entities/user.entity.d.ts +0 -10
  258. package/dist/entities/user.entity.js +0 -48
  259. package/dist/middlewares/logging.middleware.d.ts +0 -2
  260. package/dist/middlewares/logging.middleware.js +0 -28
  261. package/dist/repositories/session.repository.d.ts +0 -9
  262. package/dist/repositories/session.repository.js +0 -50
  263. package/dist/repositories/user.repository.d.ts +0 -10
  264. package/dist/repositories/user.repository.js +0 -43
  265. package/dist/server.d.ts +0 -1
  266. package/dist/server.js +0 -30
  267. package/dist/services/health.service.d.ts +0 -13
  268. package/dist/services/health.service.js +0 -44
  269. package/readme.md +0 -120
  270. package/src/app.ts +0 -121
  271. package/src/auth/auth.controller.ts +0 -52
  272. package/src/auth/auth.middleware.ts +0 -27
  273. package/src/auth/auth.service.ts +0 -110
  274. package/src/auth/dto/login.dto.ts +0 -11
  275. package/src/cli/cli.ts +0 -212
  276. package/src/cli/commands/config.command.ts +0 -280
  277. package/src/cli/templates/controller.template.ts +0 -51
  278. package/src/cli/templates/entity.template.ts +0 -22
  279. package/src/cli/templates/repository.template.ts +0 -42
  280. package/src/cli/templates/service.template.ts +0 -42
  281. package/src/cli/utils/file-generator.ts +0 -37
  282. package/src/cli/utils/logger.ts +0 -52
  283. package/src/controllers/health.controller.ts +0 -24
  284. package/src/core/config/config-loader.ts +0 -98
  285. package/src/core/decorators/auth-guard.decorator.ts +0 -15
  286. package/src/core/decorators/autowire.decorator.ts +0 -18
  287. package/src/core/decorators/middleware.decorator.ts +0 -18
  288. package/src/core/decorators/route.decorator.ts +0 -33
  289. package/src/core/openai/openai-client.ts +0 -99
  290. package/src/database/data-source.ts +0 -29
  291. package/src/entities/session.entity.ts +0 -25
  292. package/src/entities/user.entity.ts +0 -27
  293. package/src/middlewares/logging.middleware.ts +0 -28
  294. package/src/repositories/session.repository.ts +0 -42
  295. package/src/repositories/user.repository.ts +0 -37
  296. package/src/server.ts +0 -32
  297. package/src/services/health.service.ts +0 -29
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.DiagnosticsCommand = void 0;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const child_process_1 = require("child_process");
44
+ class DiagnosticsCommand {
45
+ static register(program) {
46
+ program
47
+ .command("routes")
48
+ .description("List all registered routes")
49
+ .option("--env <environment>", "Environment mode: dev (use src/) or prod (use dist/)", "auto")
50
+ .action(async (options) => {
51
+ await this.showRoutes(options.env);
52
+ });
53
+ program
54
+ .command("beans")
55
+ .description("List all registered beans")
56
+ .option("--tree", "Show as tree")
57
+ .option("--env <environment>", "Environment mode: dev (use src/) or prod (use dist/)", "auto")
58
+ .action(async (options) => {
59
+ await this.showBeans(options.tree, options.env);
60
+ });
61
+ program
62
+ .command("info")
63
+ .description("Show application info")
64
+ .action(() => {
65
+ this.showInfo();
66
+ });
67
+ program
68
+ .command("config")
69
+ .description("Show current configuration")
70
+ .action(() => {
71
+ this.showConfig();
72
+ });
73
+ program
74
+ .command("version")
75
+ .description("Show Fragment version")
76
+ .action(() => {
77
+ this.showVersion();
78
+ });
79
+ }
80
+ static async showRoutes(env = "auto") {
81
+ console.log(chalk_1.default.blue("\n📍 Scanning for routes...\n"));
82
+ const result = await this.runDiagnosticScript("routes", env);
83
+ if (!result.success) {
84
+ console.log(chalk_1.default.yellow(" Unable to load routes."));
85
+ if (result.error) {
86
+ console.log(chalk_1.default.red(` Error: ${result.error}`));
87
+ }
88
+ return;
89
+ }
90
+ if (!result.data || result.data.length === 0) {
91
+ console.log(chalk_1.default.yellow(" No routes registered"));
92
+ return;
93
+ }
94
+ result.data.forEach((controller) => {
95
+ if (controller.methods.length > 0) {
96
+ console.log(chalk_1.default.green(` ${controller.name}:`));
97
+ controller.methods.forEach((method) => {
98
+ const methodColor = this.getMethodColor(method.method);
99
+ const methodIcon = this.getMethodIcon(method.method);
100
+ console.log(` ${methodIcon} ${methodColor}${method.method.toUpperCase().padEnd(7)}\x1b[0m ${method.path}`);
101
+ });
102
+ console.log("");
103
+ }
104
+ });
105
+ }
106
+ static async showBeans(tree, env = "auto") {
107
+ console.log(chalk_1.default.blue("\n🫘 Scanning for beans...\n"));
108
+ const result = await this.runDiagnosticScript("beans", env);
109
+ if (!result.success) {
110
+ console.log(chalk_1.default.yellow(" Unable to load beans."));
111
+ if (result.error) {
112
+ console.log(chalk_1.default.red(` Error: ${result.error}`));
113
+ }
114
+ return;
115
+ }
116
+ if (!result.data || Object.keys(result.data).length === 0) {
117
+ console.log(chalk_1.default.yellow(" No beans registered"));
118
+ return;
119
+ }
120
+ Object.entries(result.data).forEach(([type, beans]) => {
121
+ const icon = this.getTypeIcon(type);
122
+ console.log(chalk_1.default.green(` ${icon} ${type.toUpperCase()}:`));
123
+ beans.forEach((bean) => {
124
+ const scope = bean.scope || "singleton";
125
+ console.log(` ${tree ? "├─" : "•"} ${bean.name} ${chalk_1.default.gray(`(${scope})`)}`);
126
+ });
127
+ console.log("");
128
+ });
129
+ }
130
+ static async runDiagnosticScript(type, env = "auto") {
131
+ return new Promise((resolve) => {
132
+ const cwd = process.cwd();
133
+ // Detect available directories
134
+ const hasSource = fs.existsSync(path.join(cwd, "src"));
135
+ const hasDist = fs.existsSync(path.join(cwd, "dist"));
136
+ // Determine which mode to use based on --env flag
137
+ let useTypeScript;
138
+ let mode;
139
+ if (env === "dev") {
140
+ // Force development mode (TypeScript source)
141
+ if (!hasSource) {
142
+ resolve({
143
+ success: false,
144
+ error: "Development mode requested but src/ directory not found",
145
+ });
146
+ return;
147
+ }
148
+ useTypeScript = true;
149
+ mode = "development (src/)";
150
+ }
151
+ else if (env === "prod") {
152
+ // Force production mode (compiled JavaScript)
153
+ if (!hasDist) {
154
+ resolve({
155
+ success: false,
156
+ error: "Production mode requested but dist/ directory not found. Run: fragment build",
157
+ });
158
+ return;
159
+ }
160
+ useTypeScript = false;
161
+ mode = "production (dist/)";
162
+ }
163
+ else {
164
+ // Auto-detect - DEFAULT TO SOURCE
165
+ if (hasSource) {
166
+ // Prefer source (development)
167
+ useTypeScript = true;
168
+ mode = "auto-detected development (src/)";
169
+ }
170
+ else if (hasDist) {
171
+ // Fall back to compiled
172
+ useTypeScript = false;
173
+ mode = "auto-detected production (dist/)";
174
+ }
175
+ else {
176
+ resolve({
177
+ success: false,
178
+ error: "No src/ or dist/ directory found. Run: fragment init",
179
+ });
180
+ return;
181
+ }
182
+ }
183
+ const userBasePath = useTypeScript ? "src" : "dist";
184
+ console.log(chalk_1.default.gray(` Mode: ${mode}\n`));
185
+ // Create diagnostic script
186
+ const scriptContent = `
187
+ ${useTypeScript ? "require('ts-node/register/transpile-only');" : ""}
188
+ require('reflect-metadata');
189
+
190
+ async function diagnose() {
191
+ try {
192
+ // Load Fragment framework from node_modules
193
+ const { MetadataStorage } = require('fragment');
194
+ const { ComponentScanner } = require('fragment');
195
+
196
+ // Scan user's components
197
+ const patterns = [
198
+ '${userBasePath}/**/*.controller.${useTypeScript ? "ts" : "js"}',
199
+ '${userBasePath}/**/*.service.${useTypeScript ? "ts" : "js"}',
200
+ '${userBasePath}/**/*.repository.${useTypeScript ? "ts" : "js"}',
201
+ '${userBasePath}/**/*.entity.${useTypeScript ? "ts" : "js"}'
202
+ ];
203
+
204
+ ${useTypeScript
205
+ ? "await ComponentScanner.scanSource(patterns);"
206
+ : "await ComponentScanner.scan(patterns);"}
207
+
208
+ const storage = MetadataStorage.getInstance();
209
+
210
+ if ('${type}' === 'routes') {
211
+ const controllers = storage.getAllClasses().filter(c => c.type === 'controller');
212
+ const result = controllers.map(ctrl => {
213
+ const methods = storage.getAllMethods()
214
+ .filter(m => m.target === ctrl.target)
215
+ .map(m => ({
216
+ method: m.method,
217
+ path: (ctrl.path || '') + m.path || '/'
218
+ }));
219
+
220
+ return {
221
+ name: ctrl.target.name,
222
+ methods
223
+ };
224
+ }).filter(c => c.methods.length > 0);
225
+
226
+ console.log(JSON.stringify({ success: true, data: result }));
227
+ } else if ('${type}' === 'beans') {
228
+ const classes = storage.getAllClasses();
229
+ const grouped = classes.reduce((acc, cls) => {
230
+ if (!acc[cls.type]) acc[cls.type] = [];
231
+ acc[cls.type].push({
232
+ name: cls.target.name,
233
+ scope: cls.scope || 'singleton'
234
+ });
235
+ return acc;
236
+ }, {});
237
+
238
+ console.log(JSON.stringify({ success: true, data: grouped }));
239
+ }
240
+ } catch (error) {
241
+ console.log(JSON.stringify({
242
+ success: false,
243
+ error: error.message,
244
+ stack: error.stack
245
+ }));
246
+ }
247
+ process.exit(0);
248
+ }
249
+
250
+ diagnose();
251
+ `;
252
+ const scriptPath = path.join(cwd, ".fragment-diagnostic-temp.js");
253
+ try {
254
+ fs.writeFileSync(scriptPath, scriptContent);
255
+ const proc = (0, child_process_1.spawn)("node", [scriptPath], {
256
+ cwd,
257
+ stdio: ["ignore", "pipe", "pipe"],
258
+ env: { ...process.env, TS_NODE_TRANSPILE_ONLY: "true" },
259
+ });
260
+ let output = "";
261
+ let errorOutput = "";
262
+ proc.stdout?.on("data", (data) => {
263
+ output += data.toString();
264
+ });
265
+ proc.stderr?.on("data", (data) => {
266
+ errorOutput += data.toString();
267
+ });
268
+ proc.on("close", (code) => {
269
+ // Clean up temp file
270
+ try {
271
+ fs.unlinkSync(scriptPath);
272
+ }
273
+ catch { }
274
+ if (output) {
275
+ try {
276
+ // Find the JSON output (last line that's valid JSON)
277
+ const lines = output.trim().split("\n");
278
+ for (let i = lines.length - 1; i >= 0; i--) {
279
+ try {
280
+ const result = JSON.parse(lines[i]);
281
+ if (result.success !== undefined) {
282
+ resolve(result);
283
+ return;
284
+ }
285
+ }
286
+ catch { }
287
+ }
288
+ }
289
+ catch { }
290
+ }
291
+ resolve({
292
+ success: false,
293
+ error: errorOutput || "Failed to parse diagnostic output",
294
+ });
295
+ });
296
+ proc.on("error", (error) => {
297
+ try {
298
+ fs.unlinkSync(scriptPath);
299
+ }
300
+ catch { }
301
+ resolve({ success: false, error: error.message });
302
+ });
303
+ // Timeout after 15 seconds
304
+ setTimeout(() => {
305
+ proc.kill();
306
+ try {
307
+ fs.unlinkSync(scriptPath);
308
+ }
309
+ catch { }
310
+ resolve({ success: false, error: "Diagnostic scan timed out" });
311
+ }, 15000);
312
+ }
313
+ catch (error) {
314
+ resolve({ success: false, error: error.message });
315
+ }
316
+ });
317
+ }
318
+ static getMethodColor(method) {
319
+ const colors = {
320
+ GET: "\x1b[32m", // Green
321
+ POST: "\x1b[33m", // Yellow
322
+ PUT: "\x1b[34m", // Blue
323
+ DELETE: "\x1b[31m", // Red
324
+ PATCH: "\x1b[35m", // Magenta
325
+ };
326
+ return colors[method.toUpperCase()] || "\x1b[37m";
327
+ }
328
+ static getMethodIcon(method) {
329
+ const icons = {
330
+ GET: "🔍",
331
+ POST: "➕",
332
+ PUT: "✏️",
333
+ DELETE: "🗑️",
334
+ PATCH: "🔧",
335
+ };
336
+ return icons[method.toUpperCase()] || "•";
337
+ }
338
+ static getTypeIcon(type) {
339
+ const icons = {
340
+ controller: "🎮",
341
+ service: "⚙️",
342
+ repository: "💾",
343
+ injectable: "💉",
344
+ "auto-configuration": "🔧",
345
+ };
346
+ return icons[type] || "📌";
347
+ }
348
+ static showInfo() {
349
+ console.log(chalk_1.default.blue("\n📊 Application Information:\n"));
350
+ const packageJson = this.loadPackageJson();
351
+ const cwd = process.cwd();
352
+ const hasSource = fs.existsSync(path.join(cwd, "src"));
353
+ const hasDist = fs.existsSync(path.join(cwd, "dist"));
354
+ console.log(` Name: ${packageJson.name || "N/A"}`);
355
+ console.log(` Version: ${packageJson.version || "N/A"}`);
356
+ console.log(` Node: ${process.version}`);
357
+ console.log(` Platform: ${process.platform}`);
358
+ console.log(` Architecture: ${process.arch}`);
359
+ console.log(` Environment: ${process.env.NODE_ENV || "development"}`);
360
+ console.log(` Source: ${hasSource ? "✓ src/" : "✗ src/"}`);
361
+ console.log(` Built: ${hasDist ? "✓ dist/" : "✗ dist/"}`);
362
+ console.log("");
363
+ }
364
+ static showConfig() {
365
+ console.log(chalk_1.default.blue("\n⚙️ Configuration:\n"));
366
+ const configPath = path.join(process.cwd(), "fragment.json");
367
+ if (fs.existsSync(configPath)) {
368
+ try {
369
+ const config = JSON.parse(fs.readFileSync(configPath, "utf-8"));
370
+ console.log(" " + JSON.stringify(config, null, 2).replace(/\n/g, "\n "));
371
+ }
372
+ catch (error) {
373
+ console.log(chalk_1.default.red(" Error reading fragment.json"));
374
+ }
375
+ }
376
+ else {
377
+ console.log(chalk_1.default.yellow(" No fragment.json found"));
378
+ console.log(chalk_1.default.gray("\n Create one with:"));
379
+ console.log(chalk_1.default.cyan(" fragment init"));
380
+ }
381
+ console.log("");
382
+ }
383
+ static showVersion() {
384
+ const packageJson = this.loadFragmentPackageJson();
385
+ const version = packageJson.version || "1.0.0";
386
+ console.log(chalk_1.default.bold(`\n✨ Fragment Framework v${version}\n`));
387
+ console.log(` Node: ${process.version}`);
388
+ console.log(` Platform: ${process.platform}-${process.arch}\n`);
389
+ }
390
+ static loadPackageJson() {
391
+ try {
392
+ const packagePath = path.join(process.cwd(), "package.json");
393
+ return JSON.parse(fs.readFileSync(packagePath, "utf-8"));
394
+ }
395
+ catch {
396
+ return {};
397
+ }
398
+ }
399
+ static loadFragmentPackageJson() {
400
+ try {
401
+ const possiblePaths = [
402
+ path.join(__dirname, "..", "..", "..", "package.json"),
403
+ path.join(__dirname, "..", "..", "package.json"),
404
+ path.join(process.cwd(), "node_modules", "fragment", "package.json"),
405
+ ];
406
+ for (const packagePath of possiblePaths) {
407
+ if (fs.existsSync(packagePath)) {
408
+ return JSON.parse(fs.readFileSync(packagePath, "utf-8"));
409
+ }
410
+ }
411
+ return { version: "1.0.0" };
412
+ }
413
+ catch {
414
+ return { version: "1.0.0" };
415
+ }
416
+ }
417
+ }
418
+ exports.DiagnosticsCommand = DiagnosticsCommand;
419
+ //# sourceMappingURL=diagnostics.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.command.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnostics.command.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,15 @@
1
+ import { Command } from 'commander';
1
2
  export declare class GenerateCommand {
2
- execute(type: string, name?: string): Promise<void>;
3
- private generateController;
4
- private generateService;
5
- private generateRepository;
6
- private generateEntity;
7
- private generateResource;
3
+ static register(program: Command): void;
4
+ static execute(type: string, name: string, options: any): Promise<void>;
5
+ private static generateController;
6
+ private static generateService;
7
+ private static generateResource;
8
+ private static generateEntity;
9
+ private static generateDto;
10
+ private static generateRepository;
11
+ private static capitalize;
12
+ private static kebabCase;
13
+ private static camelCase;
8
14
  }
15
+ //# sourceMappingURL=generate.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAW1B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;mBAqCxD,kBAAkB;mBAwClB,eAAe;mBA+Cf,gBAAgB;mBAOhB,cAAc;mBA2Bd,WAAW;mBAcX,kBAAkB;IAqCvC,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,OAAO,CAAC,MAAM,CAAC,SAAS;IAIxB,OAAO,CAAC,MAAM,CAAC,SAAS;CAGzB"}