@evolith/smart-cli 0.0.2-beta → 1.1.0

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 (271) hide show
  1. package/README.es.md +51 -15
  2. package/README.md +51 -15
  3. package/dist/app.module.js +2 -2
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/app.module.spec.d.ts +1 -0
  6. package/dist/app.module.spec.js +305 -0
  7. package/dist/app.module.spec.js.map +1 -0
  8. package/dist/application/ports/webhook-notifier.port.d.ts +4 -0
  9. package/dist/application/ports/webhook-notifier.port.js +3 -0
  10. package/dist/application/ports/webhook-notifier.port.js.map +1 -0
  11. package/dist/application/services/index.d.ts +1 -0
  12. package/dist/application/services/index.js +28 -2
  13. package/dist/application/services/index.js.map +1 -1
  14. package/dist/application/services/initialize-project.spec.d.ts +1 -0
  15. package/dist/application/services/initialize-project.spec.js +211 -0
  16. package/dist/application/services/initialize-project.spec.js.map +1 -0
  17. package/dist/application/use-cases/evaluate-gate.use-case.d.ts +20 -0
  18. package/dist/application/use-cases/evaluate-gate.use-case.js +72 -0
  19. package/dist/application/use-cases/evaluate-gate.use-case.js.map +1 -0
  20. package/dist/application/use-cases/validate-satellite.use-case.d.ts +1 -0
  21. package/dist/application/use-cases/validate-satellite.use-case.js +7 -3
  22. package/dist/application/use-cases/validate-satellite.use-case.js.map +1 -1
  23. package/dist/commands/adr/adr.command.d.ts +2 -0
  24. package/dist/commands/adr/adr.command.js +36 -14
  25. package/dist/commands/adr/adr.command.js.map +1 -1
  26. package/dist/commands/adr/adr.command.spec.d.ts +1 -0
  27. package/dist/commands/adr/adr.command.spec.js +409 -0
  28. package/dist/commands/adr/adr.command.spec.js.map +1 -0
  29. package/dist/commands/architecture/scaffold.command.d.ts +1 -0
  30. package/dist/commands/architecture/scaffold.command.js +23 -1
  31. package/dist/commands/architecture/scaffold.command.js.map +1 -1
  32. package/dist/commands/architecture/scaffold.command.spec.d.ts +1 -0
  33. package/dist/commands/architecture/scaffold.command.spec.js +207 -0
  34. package/dist/commands/architecture/scaffold.command.spec.js.map +1 -0
  35. package/dist/commands/completion/completion.command.spec.d.ts +1 -0
  36. package/dist/commands/completion/completion.command.spec.js +240 -0
  37. package/dist/commands/completion/completion.command.spec.js.map +1 -0
  38. package/dist/commands/docs/docs.command.spec.d.ts +1 -0
  39. package/dist/commands/docs/docs.command.spec.js +87 -0
  40. package/dist/commands/docs/docs.command.spec.js.map +1 -0
  41. package/dist/commands/drift/drift.command.spec.d.ts +1 -0
  42. package/dist/commands/drift/drift.command.spec.js +327 -0
  43. package/dist/commands/drift/drift.command.spec.js.map +1 -0
  44. package/dist/commands/gate/gate.command.d.ts +23 -0
  45. package/dist/commands/gate/gate.command.js +210 -0
  46. package/dist/commands/gate/gate.command.js.map +1 -0
  47. package/dist/commands/history/history.command.spec.d.ts +1 -0
  48. package/dist/commands/history/history.command.spec.js +392 -0
  49. package/dist/commands/history/history.command.spec.js.map +1 -0
  50. package/dist/commands/init/agents.command.spec.js +398 -0
  51. package/dist/commands/init/agents.command.spec.js.map +1 -1
  52. package/dist/commands/init/init.command.spec.d.ts +1 -0
  53. package/dist/commands/init/init.command.spec.js +272 -0
  54. package/dist/commands/init/init.command.spec.js.map +1 -0
  55. package/dist/commands/init/upgrade.command.spec.d.ts +1 -0
  56. package/dist/commands/init/upgrade.command.spec.js +378 -0
  57. package/dist/commands/init/upgrade.command.spec.js.map +1 -0
  58. package/dist/commands/mcp/mcp-serve.command.spec.d.ts +1 -0
  59. package/dist/commands/mcp/mcp-serve.command.spec.js +58 -0
  60. package/dist/commands/mcp/mcp-serve.command.spec.js.map +1 -0
  61. package/dist/commands/sdlc/gate-status.command.d.ts +3 -1
  62. package/dist/commands/sdlc/gate-status.command.js +78 -3
  63. package/dist/commands/sdlc/gate-status.command.js.map +1 -1
  64. package/dist/commands/sdlc/gate-status.command.spec.d.ts +1 -0
  65. package/dist/commands/sdlc/gate-status.command.spec.js +302 -0
  66. package/dist/commands/sdlc/gate-status.command.spec.js.map +1 -0
  67. package/dist/commands/sdlc/generate-domain.command.d.ts +2 -0
  68. package/dist/commands/sdlc/generate-domain.command.js +123 -12
  69. package/dist/commands/sdlc/generate-domain.command.js.map +1 -1
  70. package/dist/commands/sdlc/generate-domain.command.spec.d.ts +1 -0
  71. package/dist/commands/sdlc/generate-domain.command.spec.js +121 -0
  72. package/dist/commands/sdlc/generate-domain.command.spec.js.map +1 -0
  73. package/dist/commands/sdlc/handoff.command.js +2 -2
  74. package/dist/commands/sdlc/handoff.command.js.map +1 -1
  75. package/dist/commands/sdlc/handoff.command.spec.d.ts +1 -0
  76. package/dist/commands/sdlc/handoff.command.spec.js +395 -0
  77. package/dist/commands/sdlc/handoff.command.spec.js.map +1 -0
  78. package/dist/commands/sdlc/sdlc.command.js +40 -6
  79. package/dist/commands/sdlc/sdlc.command.js.map +1 -1
  80. package/dist/commands/sdlc/sdlc.command.spec.d.ts +1 -0
  81. package/dist/commands/sdlc/sdlc.command.spec.js +79 -0
  82. package/dist/commands/sdlc/sdlc.command.spec.js.map +1 -0
  83. package/dist/commands/standards/standards.command.spec.d.ts +1 -0
  84. package/dist/commands/standards/standards.command.spec.js +311 -0
  85. package/dist/commands/standards/standards.command.spec.js.map +1 -0
  86. package/dist/commands/validate/validate.command.d.ts +2 -0
  87. package/dist/commands/validate/validate.command.js +16 -2
  88. package/dist/commands/validate/validate.command.js.map +1 -1
  89. package/dist/commands/validate/validate.command.spec.d.ts +1 -0
  90. package/dist/commands/validate/validate.command.spec.js +368 -0
  91. package/dist/commands/validate/validate.command.spec.js.map +1 -0
  92. package/dist/core/abstractions/interfaces.d.ts +1 -0
  93. package/dist/core/abstractions/interfaces.js.map +1 -1
  94. package/dist/core/abstractions/providers/config-parser.provider.spec.d.ts +1 -0
  95. package/dist/core/abstractions/providers/config-parser.provider.spec.js +18 -0
  96. package/dist/core/abstractions/providers/config-parser.provider.spec.js.map +1 -0
  97. package/dist/core/abstractions/providers/logger.provider.spec.d.ts +1 -0
  98. package/dist/core/abstractions/providers/logger.provider.spec.js +212 -0
  99. package/dist/core/abstractions/providers/logger.provider.spec.js.map +1 -0
  100. package/dist/core/abstractions/providers/mock-filesystem.provider.d.ts +1 -0
  101. package/dist/core/abstractions/providers/mock-filesystem.provider.js +4 -0
  102. package/dist/core/abstractions/providers/mock-filesystem.provider.js.map +1 -1
  103. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.d.ts +1 -0
  104. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js +56 -0
  105. package/dist/core/abstractions/providers/mock-filesystem.provider.spec.js.map +1 -0
  106. package/dist/core/abstractions/providers/node-filesystem.provider.d.ts +1 -0
  107. package/dist/core/abstractions/providers/node-filesystem.provider.js +4 -0
  108. package/dist/core/abstractions/providers/node-filesystem.provider.js.map +1 -1
  109. package/dist/core/architecture/nx-workspace.strategy.d.ts +3 -0
  110. package/dist/core/architecture/nx-workspace.strategy.js +35 -6
  111. package/dist/core/architecture/nx-workspace.strategy.js.map +1 -1
  112. package/dist/core/architecture/nx-workspace.strategy.spec.d.ts +1 -0
  113. package/dist/core/architecture/nx-workspace.strategy.spec.js +187 -0
  114. package/dist/core/architecture/nx-workspace.strategy.spec.js.map +1 -0
  115. package/dist/core/architecture/workspace-manager.strategy.d.ts +1 -0
  116. package/dist/core/di/container.spec.js +164 -0
  117. package/dist/core/di/container.spec.js.map +1 -1
  118. package/dist/core/generators/hexagonal-scaffolder.d.ts +6 -0
  119. package/dist/core/generators/hexagonal-scaffolder.js +260 -0
  120. package/dist/core/generators/hexagonal-scaffolder.js.map +1 -0
  121. package/dist/core/generators/hexagonal-scaffolder.spec.d.ts +1 -0
  122. package/dist/core/generators/hexagonal-scaffolder.spec.js +164 -0
  123. package/dist/core/generators/hexagonal-scaffolder.spec.js.map +1 -0
  124. package/dist/core/generators/mermaid-class-parser.d.ts +38 -0
  125. package/dist/core/generators/mermaid-class-parser.js +183 -0
  126. package/dist/core/generators/mermaid-class-parser.js.map +1 -0
  127. package/dist/core/generators/mermaid-class-parser.spec.d.ts +1 -0
  128. package/dist/core/generators/mermaid-class-parser.spec.js +148 -0
  129. package/dist/core/generators/mermaid-class-parser.spec.js.map +1 -0
  130. package/dist/core/mcp/metrics.service.spec.d.ts +1 -0
  131. package/dist/core/mcp/metrics.service.spec.js +159 -0
  132. package/dist/core/mcp/metrics.service.spec.js.map +1 -0
  133. package/dist/core/mcp/prompts/index.js +36 -0
  134. package/dist/core/mcp/prompts/index.js.map +1 -1
  135. package/dist/core/mcp/prompts/index.spec.d.ts +1 -0
  136. package/dist/core/mcp/prompts/index.spec.js +150 -0
  137. package/dist/core/mcp/prompts/index.spec.js.map +1 -0
  138. package/dist/core/mcp/resources/index.js +16 -0
  139. package/dist/core/mcp/resources/index.js.map +1 -1
  140. package/dist/core/mcp/resources/index.spec.d.ts +1 -0
  141. package/dist/core/mcp/resources/index.spec.js +212 -0
  142. package/dist/core/mcp/resources/index.spec.js.map +1 -0
  143. package/dist/core/mcp/server.d.ts +4 -1
  144. package/dist/core/mcp/server.js +250 -25
  145. package/dist/core/mcp/server.js.map +1 -1
  146. package/dist/core/mcp/server.spec.d.ts +1 -0
  147. package/dist/core/mcp/server.spec.js +579 -0
  148. package/dist/core/mcp/server.spec.js.map +1 -0
  149. package/dist/core/mcp/tools/agent.spec.d.ts +1 -0
  150. package/dist/core/mcp/tools/agent.spec.js +171 -0
  151. package/dist/core/mcp/tools/agent.spec.js.map +1 -0
  152. package/dist/core/mcp/tools/architecture.d.ts +2 -0
  153. package/dist/core/mcp/tools/architecture.js +68 -0
  154. package/dist/core/mcp/tools/architecture.js.map +1 -1
  155. package/dist/core/mcp/tools/architecture.spec.d.ts +1 -0
  156. package/dist/core/mcp/tools/architecture.spec.js +145 -0
  157. package/dist/core/mcp/tools/architecture.spec.js.map +1 -0
  158. package/dist/core/mcp/tools/gate.d.ts +1 -0
  159. package/dist/core/mcp/tools/gate.js +68 -0
  160. package/dist/core/mcp/tools/gate.js.map +1 -0
  161. package/dist/core/mcp/tools/moscow.d.ts +30 -0
  162. package/dist/core/mcp/tools/moscow.js +113 -0
  163. package/dist/core/mcp/tools/moscow.js.map +1 -0
  164. package/dist/core/mcp/tools/moscow.spec.d.ts +1 -0
  165. package/dist/core/mcp/tools/moscow.spec.js +209 -0
  166. package/dist/core/mcp/tools/moscow.spec.js.map +1 -0
  167. package/dist/core/mcp/tools/sdlc.js +2 -1
  168. package/dist/core/mcp/tools/sdlc.js.map +1 -1
  169. package/dist/core/mcp/tools/sdlc.spec.d.ts +1 -0
  170. package/dist/core/mcp/tools/sdlc.spec.js +170 -0
  171. package/dist/core/mcp/tools/sdlc.spec.js.map +1 -0
  172. package/dist/core/mcp/tools/validate.spec.d.ts +1 -0
  173. package/dist/core/mcp/tools/validate.spec.js +130 -0
  174. package/dist/core/mcp/tools/validate.spec.js.map +1 -0
  175. package/dist/core/mcp/watcher.service.spec.js +109 -8
  176. package/dist/core/mcp/watcher.service.spec.js.map +1 -1
  177. package/dist/core/metrics/dora-calculator.d.ts +18 -0
  178. package/dist/core/metrics/dora-calculator.js +146 -0
  179. package/dist/core/metrics/dora-calculator.js.map +1 -0
  180. package/dist/core/metrics/dora-calculator.spec.d.ts +1 -0
  181. package/dist/core/metrics/dora-calculator.spec.js +164 -0
  182. package/dist/core/metrics/dora-calculator.spec.js.map +1 -0
  183. package/dist/core/metrics/git-log-reader.d.ts +14 -0
  184. package/dist/core/metrics/git-log-reader.js +39 -0
  185. package/dist/core/metrics/git-log-reader.js.map +1 -0
  186. package/dist/core/metrics/git-log-reader.spec.d.ts +1 -0
  187. package/dist/core/metrics/git-log-reader.spec.js +108 -0
  188. package/dist/core/metrics/git-log-reader.spec.js.map +1 -0
  189. package/dist/core/observability/command-watcher.spec.d.ts +1 -0
  190. package/dist/core/observability/command-watcher.spec.js +123 -0
  191. package/dist/core/observability/command-watcher.spec.js.map +1 -0
  192. package/dist/core/observability/error-reporter.spec.d.ts +1 -0
  193. package/dist/core/observability/error-reporter.spec.js +291 -0
  194. package/dist/core/observability/error-reporter.spec.js.map +1 -0
  195. package/dist/core/observability/index.d.ts +1 -0
  196. package/dist/core/observability/index.js +3 -1
  197. package/dist/core/observability/index.js.map +1 -1
  198. package/dist/core/observability/structured-logger.spec.d.ts +1 -0
  199. package/dist/core/observability/structured-logger.spec.js +197 -0
  200. package/dist/core/observability/structured-logger.spec.js.map +1 -0
  201. package/dist/core/observability/timing.spec.d.ts +1 -0
  202. package/dist/core/observability/timing.spec.js +216 -0
  203. package/dist/core/observability/timing.spec.js.map +1 -0
  204. package/dist/core/observability/tool-usage-telemetry.service.d.ts +46 -0
  205. package/dist/core/observability/tool-usage-telemetry.service.js +181 -0
  206. package/dist/core/observability/tool-usage-telemetry.service.js.map +1 -0
  207. package/dist/core/services/command-history.service.d.ts +1 -0
  208. package/dist/core/services/command-history.service.js +4 -0
  209. package/dist/core/services/command-history.service.js.map +1 -1
  210. package/dist/core/services/command-history.service.spec.js +217 -126
  211. package/dist/core/services/command-history.service.spec.js.map +1 -1
  212. package/dist/core/upgrade/satellite-upgrade.service.spec.js +212 -132
  213. package/dist/core/upgrade/satellite-upgrade.service.spec.js.map +1 -1
  214. package/dist/core/validators/deep-architecture-analyzer.d.ts +58 -0
  215. package/dist/core/validators/deep-architecture-analyzer.js +333 -0
  216. package/dist/core/validators/deep-architecture-analyzer.js.map +1 -0
  217. package/dist/core/validators/deep-architecture-analyzer.spec.d.ts +1 -0
  218. package/dist/core/validators/deep-architecture-analyzer.spec.js +186 -0
  219. package/dist/core/validators/deep-architecture-analyzer.spec.js.map +1 -0
  220. package/dist/core/validators/evaluators/evaluator.interface.d.ts +14 -0
  221. package/dist/core/validators/evaluators/evaluator.interface.js +3 -0
  222. package/dist/core/validators/evaluators/evaluator.interface.js.map +1 -0
  223. package/dist/core/validators/evaluators/native-evaluator.d.ts +31 -0
  224. package/dist/core/validators/evaluators/native-evaluator.js +461 -0
  225. package/dist/core/validators/evaluators/native-evaluator.js.map +1 -0
  226. package/dist/core/validators/evaluators/opa-evaluator.d.ts +20 -0
  227. package/dist/core/validators/evaluators/opa-evaluator.js +249 -0
  228. package/dist/core/validators/evaluators/opa-evaluator.js.map +1 -0
  229. package/dist/core/validators/phase-gate-validator.service.d.ts +4 -0
  230. package/dist/core/validators/phase-gate-validator.service.js +76 -9
  231. package/dist/core/validators/phase-gate-validator.service.js.map +1 -1
  232. package/dist/core/validators/rule-evaluation-engine.d.ts +34 -0
  233. package/dist/core/validators/rule-evaluation-engine.js +187 -0
  234. package/dist/core/validators/rule-evaluation-engine.js.map +1 -0
  235. package/dist/core/validators/rule-evaluation-engine.spec.d.ts +1 -0
  236. package/dist/core/validators/rule-evaluation-engine.spec.js +243 -0
  237. package/dist/core/validators/rule-evaluation-engine.spec.js.map +1 -0
  238. package/dist/core/validators/ruleset-validator-architecture.spec.js +2 -2
  239. package/dist/core/validators/ruleset-validator-architecture.spec.js.map +1 -1
  240. package/dist/core/validators/ruleset-validator.service.d.ts +2 -0
  241. package/dist/core/validators/ruleset-validator.service.js +36 -11
  242. package/dist/core/validators/ruleset-validator.service.js.map +1 -1
  243. package/dist/core/validators/ruleset-validator.service.spec.js +347 -0
  244. package/dist/core/validators/ruleset-validator.service.spec.js.map +1 -1
  245. package/dist/domain/gate-evidence.d.ts +59 -0
  246. package/dist/domain/gate-evidence.js +38 -0
  247. package/dist/domain/gate-evidence.js.map +1 -0
  248. package/dist/domain/services/adr.service.d.ts +2 -2
  249. package/dist/domain/services/adr.service.js +12 -8
  250. package/dist/domain/services/adr.service.js.map +1 -1
  251. package/dist/domain/services/index.d.ts +1 -0
  252. package/dist/domain/services/index.js +3 -1
  253. package/dist/domain/services/index.js.map +1 -1
  254. package/dist/domain/services/moscow-prioritization.service.d.ts +44 -0
  255. package/dist/domain/services/moscow-prioritization.service.js +213 -0
  256. package/dist/domain/services/moscow-prioritization.service.js.map +1 -0
  257. package/dist/domain/services/moscow-prioritization.service.spec.d.ts +1 -0
  258. package/dist/domain/services/moscow-prioritization.service.spec.js +285 -0
  259. package/dist/domain/services/moscow-prioritization.service.spec.js.map +1 -0
  260. package/dist/domain/services/standards.service.spec.js +461 -1
  261. package/dist/domain/services/standards.service.spec.js.map +1 -1
  262. package/dist/infrastructure/adapters/webhook.adapter.d.ts +5 -0
  263. package/dist/infrastructure/adapters/webhook.adapter.js +19 -0
  264. package/dist/infrastructure/adapters/webhook.adapter.js.map +1 -0
  265. package/dist/infrastructure/cli/command-executor.spec.d.ts +1 -0
  266. package/dist/infrastructure/cli/command-executor.spec.js +149 -0
  267. package/dist/infrastructure/cli/command-executor.spec.js.map +1 -0
  268. package/dist/infrastructure/cli/providers/providers.spec.d.ts +1 -0
  269. package/dist/infrastructure/cli/providers/providers.spec.js +251 -0
  270. package/dist/infrastructure/cli/providers/providers.spec.js.map +1 -0
  271. package/package.json +23 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.provider.spec.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/logger.provider.spec.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export declare class MockFileSystemProvider implements IFileSystem {
16
16
  exists(filePath: string): Promise<boolean>;
17
17
  existsSync(filePath: string): boolean;
18
18
  readFile(filePath: string): Promise<string>;
19
+ readFileBuffer(filePath: string): Promise<Buffer>;
19
20
  readJson(filePath: string): Promise<unknown>;
20
21
  writeFile(filePath: string, content: string): Promise<void>;
21
22
  writeJson(filePath: string, data: unknown): Promise<void>;
@@ -48,6 +48,10 @@ class MockFileSystemProvider {
48
48
  }
49
49
  return entry.content || '';
50
50
  }
51
+ async readFileBuffer(filePath) {
52
+ const content = await this.readFile(filePath);
53
+ return Buffer.from(content);
54
+ }
51
55
  async readJson(filePath) {
52
56
  const normalized = this.normalize(filePath);
53
57
  const entry = this.files.get(normalized);
@@ -1 +1 @@
1
- {"version":3,"file":"mock-filesystem.provider.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/mock-filesystem.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-filesystem.provider.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/mock-filesystem.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const mock_filesystem_provider_1 = require("./mock-filesystem.provider");
4
+ describe('MockFileSystemProvider', () => {
5
+ let fs;
6
+ beforeEach(() => {
7
+ fs = new mock_filesystem_provider_1.MockFileSystemProvider();
8
+ });
9
+ it('stores, reads, and removes files', async () => {
10
+ fs.setFile('/repo/README.md', 'hello');
11
+ await expect(fs.exists('/repo/README.md')).resolves.toBe(true);
12
+ expect(fs.existsSync('/repo/README.md')).toBe(true);
13
+ await expect(fs.readFile('/repo/README.md')).resolves.toBe('hello');
14
+ await fs.remove('/repo/README.md');
15
+ await expect(fs.exists('/repo/README.md')).resolves.toBe(false);
16
+ });
17
+ it('stores and parses JSON content', async () => {
18
+ fs.setJson('/repo/evolith.json', { name: 'demo' });
19
+ fs.setFile('/repo/from-content.json', '{"enabled":true}');
20
+ await expect(fs.readJson('/repo/evolith.json')).resolves.toEqual({ name: 'demo' });
21
+ await expect(fs.readJson('/repo/from-content.json')).resolves.toEqual({ enabled: true });
22
+ });
23
+ it('handles directories, listings, and recursive removal', async () => {
24
+ await fs.ensureDir('/repo');
25
+ await fs.ensureDir('/repo/docs');
26
+ await fs.writeFile('/repo/docs/a.md', 'A');
27
+ await fs.writeJson('/repo/docs/b.json', { b: true });
28
+ await expect(fs.exists('/repo')).resolves.toBe(true);
29
+ const entries = await fs.readdir('/repo/docs');
30
+ expect(entries.map(e => e.name).sort()).toEqual(['a.md', 'b.json']);
31
+ expect(await fs.readdirNames('/repo/docs')).toEqual(['a.md', 'b.json']);
32
+ await expect(fs.stat('/repo/docs')).resolves.toMatchObject({
33
+ isDirectory: expect.any(Function),
34
+ isFile: expect.any(Function),
35
+ });
36
+ await fs.remove('/repo/docs');
37
+ expect(fs.existsSync('/repo/docs/a.md')).toBe(false);
38
+ });
39
+ it('throws for missing files, directories read as files, and missing JSON content', async () => {
40
+ await fs.ensureDir('/repo/docs');
41
+ await fs.writeFile('/repo/empty.json', '');
42
+ await expect(fs.readFile('/repo/missing.md')).rejects.toThrow('File not found');
43
+ await expect(fs.readFile('/repo/docs')).rejects.toThrow('Path is directory');
44
+ await expect(fs.readJson('/repo/missing.json')).rejects.toThrow('File not found');
45
+ await expect(fs.readJson('/repo/empty.json')).rejects.toThrow('No JSON content');
46
+ await expect(fs.stat('/repo/missing')).rejects.toThrow('Path not found');
47
+ });
48
+ it('normalizes repeated slashes and backslashes', async () => {
49
+ fs.setFile('/repo/docs/a.md', 'A');
50
+ await expect(fs.exists('/repo//docs\\a.md')).resolves.toBe(true);
51
+ await expect(fs.readFile('/repo//docs\\a.md')).resolves.toBe('A');
52
+ fs.clear();
53
+ await expect(fs.exists('/repo/docs/a.md')).resolves.toBe(false);
54
+ });
55
+ });
56
+ //# sourceMappingURL=mock-filesystem.provider.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-filesystem.provider.spec.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/mock-filesystem.provider.spec.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class NodeFileSystemProvider implements IFileSystemProvider, IFil
5
5
  exists(filePath: string, options?: FileExistsOptions): Promise<boolean>;
6
6
  existsSync(filePath: string): boolean;
7
7
  readFile(filePath: string, options?: FileReadOptions): Promise<string>;
8
+ readFileBuffer(filePath: string): Promise<Buffer>;
8
9
  readJson(filePath: string, options?: FileReadOptions): Promise<unknown>;
9
10
  writeFile(filePath: string, content: string, options?: FileWriteOptions): Promise<void>;
10
11
  writeJson(filePath: string, data: unknown, options?: FileWriteOptions): Promise<void>;
@@ -58,6 +58,10 @@ class NodeFileSystemProvider {
58
58
  const resolved = this.resolvePath(filePath, options?.cwd);
59
59
  return fs.readFile(resolved, options?.encoding || 'utf-8');
60
60
  }
61
+ async readFileBuffer(filePath) {
62
+ const resolved = this.resolvePath(filePath);
63
+ return fs.readFile(resolved);
64
+ }
61
65
  async readJson(filePath, options) {
62
66
  const content = await this.readFile(filePath, options);
63
67
  return JSON.parse(content);
@@ -1 +1 @@
1
- {"version":3,"file":"node-filesystem.provider.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/node-filesystem.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-filesystem.provider.js","sourceRoot":"","sources":["../../../../src/core/abstractions/providers/node-filesystem.provider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { WorkspaceManagerStrategy } from './workspace-manager.strategy';
2
2
  export declare class NxWorkspaceStrategy implements WorkspaceManagerStrategy {
3
+ private frontendFramework;
4
+ private dryRun;
5
+ setDryRun(dryRun: boolean): void;
3
6
  private getTargetDir;
4
7
  private runNx;
5
8
  private runNpm;
@@ -41,13 +41,25 @@ const child_process_1 = require("child_process");
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
42
  const path = __importStar(require("path"));
43
43
  const process = __importStar(require("process"));
44
+ const MFE_CAPABLE_FRAMEWORKS = new Set(['react', 'angular']);
44
45
  class NxWorkspaceStrategy {
46
+ constructor() {
47
+ this.frontendFramework = 'react';
48
+ this.dryRun = false;
49
+ }
50
+ setDryRun(dryRun) {
51
+ this.dryRun = dryRun;
52
+ }
45
53
  getTargetDir() {
46
54
  const currentDir = process.cwd();
47
55
  return path.join(currentDir, 'src');
48
56
  }
49
57
  runNx(command) {
50
58
  const targetDir = this.getTargetDir();
59
+ if (this.dryRun) {
60
+ console.log(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npx nx ${command}`));
61
+ return;
62
+ }
51
63
  console.log(chalk_1.default.gray(`> Executing in ${targetDir}: npx nx ${command}`));
52
64
  try {
53
65
  (0, child_process_1.execSync)(`npx nx ${command} --no-interactive`, { cwd: targetDir, stdio: 'inherit' });
@@ -59,6 +71,10 @@ class NxWorkspaceStrategy {
59
71
  }
60
72
  runNpm(command) {
61
73
  const targetDir = this.getTargetDir();
74
+ if (this.dryRun) {
75
+ console.log(chalk_1.default.yellow(`[DRY-RUN] Would execute in ${targetDir}: npm ${command}`));
76
+ return;
77
+ }
62
78
  console.log(chalk_1.default.gray(`> Executing in ${targetDir}: npm ${command}`));
63
79
  try {
64
80
  (0, child_process_1.execSync)(`npm ${command} --legacy-peer-deps`, { cwd: targetDir, stdio: 'inherit' });
@@ -69,8 +85,10 @@ class NxWorkspaceStrategy {
69
85
  }
70
86
  }
71
87
  async installDependencies(frontendFramework, orm) {
72
- console.log(chalk_1.default.cyan(`\n📦 Installing Nx Plugins for ${frontendFramework.toUpperCase()} and NestJS...`));
73
- this.runNpm(`install -D @nx/nest @nx/${frontendFramework.toLowerCase()} @nx/webpack`);
88
+ const fw = frontendFramework.toLowerCase();
89
+ this.frontendFramework = fw;
90
+ console.log(chalk_1.default.cyan(`\n📦 Installing Nx Plugins for ${fw.toUpperCase()} and NestJS...`));
91
+ this.runNpm(`install -D @nx/nest @nx/${fw} @nx/webpack`);
74
92
  if (orm.toLowerCase() === 'prisma') {
75
93
  this.runNpm(`install -D prisma @prisma/client`);
76
94
  }
@@ -79,13 +97,22 @@ class NxWorkspaceStrategy {
79
97
  }
80
98
  }
81
99
  async generateStandardWebApp(name, framework) {
82
- console.log(chalk_1.default.cyan(`\n🏗️ Generating Standard Web App (Phase 1) [${name}]...`));
83
100
  const fw = framework.toLowerCase();
101
+ this.frontendFramework = fw;
102
+ console.log(chalk_1.default.cyan(`\n🏗️ Generating Standard Web App (Phase 1) [${name}] (${fw.toUpperCase()})...`));
84
103
  this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
85
104
  }
86
105
  async generateHostApp(name, remotes, framework) {
87
- console.log(chalk_1.default.cyan(`\n🏗️ Generating MFE Host App [${name}] with Remotes [${remotes.join(', ')}]...`));
88
106
  const fw = framework.toLowerCase();
107
+ this.frontendFramework = fw;
108
+ console.log(chalk_1.default.cyan(`\n🏗️ Generating MFE Host App [${name}] with Remotes [${remotes.join(', ')}] (${fw.toUpperCase()})...`));
109
+ if (!MFE_CAPABLE_FRAMEWORKS.has(fw)) {
110
+ console.log(chalk_1.default.yellow(`⚠ @nx/${fw} does not provide a native Module Federation :host generator.\n` +
111
+ ` Generating a standard ${fw.toUpperCase()} app instead. Configure MFE manually\n` +
112
+ ` (e.g. @originjs/vite-plugin-federation for Vue).`));
113
+ this.runNx(`g @nx/${fw}:app --name=${name} --directory=apps/${name}`);
114
+ return;
115
+ }
89
116
  const remotesFlag = remotes.length > 0 ? `--remotes=${remotes.join(',')}` : '';
90
117
  this.runNx(`g @nx/${fw}:host --name=${name} ${remotesFlag} --directory=apps/${name}`);
91
118
  }
@@ -94,9 +121,11 @@ class NxWorkspaceStrategy {
94
121
  this.runNx(`g @nx/nest:app --name=${name} --directory=apps/${name}`);
95
122
  }
96
123
  async generateLibrary(name, type) {
97
- console.log(chalk_1.default.cyan(`\n📚 Generating NestJS Library [${type}/${name}]...`));
124
+ console.log(chalk_1.default.cyan(`\n📚 Generating Library [${type}/${name}]...`));
98
125
  if (type === 'shared' && name.includes('ui')) {
99
- this.runNx(`g @nx/js:library --name=${name} --directory=libs/${type}/${name}`);
126
+ const fw = this.frontendFramework;
127
+ console.log(chalk_1.default.gray(` Using @nx/${fw}:library for shared UI library.`));
128
+ this.runNx(`g @nx/${fw}:library --name=${name} --directory=libs/${type}/${name}`);
100
129
  }
101
130
  else {
102
131
  this.runNx(`g @nx/nest:library --name=${name} --directory=libs/${type}/${name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"nx-workspace.strategy.js","sourceRoot":"","sources":["../../../src/core/architecture/nx-workspace.strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nx-workspace.strategy.js","sourceRoot":"","sources":["../../../src/core/architecture/nx-workspace.strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const nx_workspace_strategy_1 = require("./nx-workspace.strategy");
4
+ jest.mock('child_process', () => ({ execSync: jest.fn() }));
5
+ jest.mock('process', () => ({ cwd: jest.fn().mockReturnValue('/workspace') }));
6
+ const child_process_1 = require("child_process");
7
+ const mockExec = child_process_1.execSync;
8
+ function nxCalls() {
9
+ return mockExec.mock.calls
10
+ .map((c) => String(c[0]))
11
+ .filter(cmd => cmd.includes('npx nx'));
12
+ }
13
+ function npmCalls() {
14
+ return mockExec.mock.calls
15
+ .map((c) => String(c[0]))
16
+ .filter(cmd => cmd.startsWith('npm '));
17
+ }
18
+ beforeEach(() => {
19
+ jest.clearAllMocks();
20
+ });
21
+ describe('NxWorkspaceStrategy', () => {
22
+ describe('installDependencies', () => {
23
+ it('installs @nx/react plugin for react framework', async () => {
24
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('react', 'prisma');
25
+ expect(npmCalls()[0]).toContain('@nx/react');
26
+ });
27
+ it('installs @nx/angular plugin for angular framework', async () => {
28
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('angular', 'typeorm');
29
+ expect(npmCalls()[0]).toContain('@nx/angular');
30
+ });
31
+ it('installs @nx/vue plugin for vue framework', async () => {
32
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('vue', 'prisma');
33
+ expect(npmCalls()[0]).toContain('@nx/vue');
34
+ });
35
+ it('installs prisma when orm is prisma', async () => {
36
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('react', 'prisma');
37
+ const all = npmCalls().join(' ');
38
+ expect(all).toContain('prisma');
39
+ });
40
+ it('installs typeorm when orm is typeorm', async () => {
41
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('react', 'typeorm');
42
+ const all = npmCalls().join(' ');
43
+ expect(all).toContain('typeorm');
44
+ });
45
+ it('does not install prisma or typeorm for unknown orm', async () => {
46
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('react', 'mongoose');
47
+ expect(npmCalls()).toHaveLength(1);
48
+ });
49
+ it('always installs @nx/nest and @nx/webpack alongside the framework', async () => {
50
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().installDependencies('vue', 'none');
51
+ const cmd = npmCalls()[0];
52
+ expect(cmd).toContain('@nx/nest');
53
+ expect(cmd).toContain('@nx/webpack');
54
+ });
55
+ });
56
+ describe('generateStandardWebApp', () => {
57
+ it('uses @nx/react:app for react', async () => {
58
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateStandardWebApp('my-app', 'react');
59
+ expect(nxCalls()[0]).toContain('@nx/react:app');
60
+ expect(nxCalls()[0]).toContain('--name=my-app');
61
+ });
62
+ it('uses @nx/angular:app for angular', async () => {
63
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateStandardWebApp('ng-app', 'angular');
64
+ expect(nxCalls()[0]).toContain('@nx/angular:app');
65
+ });
66
+ it('uses @nx/vue:app for vue', async () => {
67
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateStandardWebApp('vue-app', 'vue');
68
+ expect(nxCalls()[0]).toContain('@nx/vue:app');
69
+ });
70
+ it('places app in apps/<name> directory', async () => {
71
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateStandardWebApp('tracker-web', 'react');
72
+ expect(nxCalls()[0]).toContain('--directory=apps/tracker-web');
73
+ });
74
+ });
75
+ describe('generateHostApp', () => {
76
+ it('uses @nx/react:host with remotes for react', async () => {
77
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('host', ['remote1', 'remote2'], 'react');
78
+ const cmd = nxCalls()[0];
79
+ expect(cmd).toContain('@nx/react:host');
80
+ expect(cmd).toContain('--remotes=remote1,remote2');
81
+ });
82
+ it('uses @nx/angular:host for angular', async () => {
83
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('ng-host', ['ng-r1'], 'angular');
84
+ expect(nxCalls()[0]).toContain('@nx/angular:host');
85
+ });
86
+ it('generates standard app instead of :host for vue (no native MFE support)', async () => {
87
+ const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
88
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('vue-host', ['remote1'], 'vue');
89
+ const cmd = nxCalls()[0];
90
+ expect(cmd).toContain('@nx/vue:app');
91
+ expect(cmd).not.toContain(':host');
92
+ consoleSpy.mockRestore();
93
+ });
94
+ it('prints warning when vue MFE fallback is triggered', async () => {
95
+ const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => { });
96
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('vue-host', [], 'vue');
97
+ const output = consoleSpy.mock.calls.map(c => String(c[0])).join('\n');
98
+ expect(output).toContain('does not provide a native Module Federation');
99
+ consoleSpy.mockRestore();
100
+ });
101
+ it('omits --remotes flag when remotes array is empty', async () => {
102
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('host', [], 'react');
103
+ expect(nxCalls()[0]).not.toContain('--remotes');
104
+ });
105
+ it('places host in apps/<name> directory', async () => {
106
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateHostApp('tracker-host', ['r1'], 'react');
107
+ expect(nxCalls()[0]).toContain('--directory=apps/tracker-host');
108
+ });
109
+ });
110
+ describe('generateApiApp', () => {
111
+ it('always uses @nx/nest:app regardless of frontend framework', async () => {
112
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateApiApp('tracker-api');
113
+ expect(nxCalls()[0]).toContain('@nx/nest:app');
114
+ expect(nxCalls()[0]).toContain('--name=tracker-api');
115
+ });
116
+ });
117
+ describe('generateLibrary', () => {
118
+ it('uses @nx/nest:library for domain libs', async () => {
119
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateLibrary('billing', 'domain');
120
+ expect(nxCalls()[0]).toContain('@nx/nest:library');
121
+ });
122
+ it('uses @nx/nest:library for shell libs', async () => {
123
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateLibrary('workflow-engine', 'shell');
124
+ expect(nxCalls()[0]).toContain('@nx/nest:library');
125
+ });
126
+ it('uses @nx/nest:library for shared non-UI libs', async () => {
127
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateLibrary('db-schema', 'shared');
128
+ expect(nxCalls()[0]).toContain('@nx/nest:library');
129
+ });
130
+ it('uses frontend framework generator for shared UI libs (react)', async () => {
131
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
132
+ await strategy.installDependencies('react', 'prisma');
133
+ mockExec.mockClear();
134
+ await strategy.generateLibrary('design-system-ui', 'shared');
135
+ expect(nxCalls()[0]).toContain('@nx/react:library');
136
+ });
137
+ it('uses frontend framework generator for shared UI libs (angular)', async () => {
138
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
139
+ await strategy.installDependencies('angular', 'typeorm');
140
+ mockExec.mockClear();
141
+ await strategy.generateLibrary('components-ui', 'shared');
142
+ expect(nxCalls()[0]).toContain('@nx/angular:library');
143
+ });
144
+ it('uses @nx/vue:library for shared UI libs when vue is the active framework', async () => {
145
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
146
+ await strategy.installDependencies('vue', 'prisma');
147
+ mockExec.mockClear();
148
+ await strategy.generateLibrary('widgets-ui', 'shared');
149
+ expect(nxCalls()[0]).toContain('@nx/vue:library');
150
+ });
151
+ it('does NOT use the frontend framework for non-UI shared libs', async () => {
152
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
153
+ await strategy.installDependencies('react', 'prisma');
154
+ mockExec.mockClear();
155
+ await strategy.generateLibrary('db-schema', 'shared');
156
+ expect(nxCalls()[0]).toContain('@nx/nest:library');
157
+ });
158
+ it('places library in libs/<type>/<name> directory', async () => {
159
+ await new nx_workspace_strategy_1.NxWorkspaceStrategy().generateLibrary('billing', 'domain');
160
+ expect(nxCalls()[0]).toContain('--directory=libs/domain/billing');
161
+ });
162
+ });
163
+ describe('framework state propagation', () => {
164
+ it('tracks framework set via installDependencies for later library calls', async () => {
165
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
166
+ await strategy.installDependencies('vue', 'none');
167
+ mockExec.mockClear();
168
+ await strategy.generateLibrary('nav-ui', 'shared');
169
+ expect(nxCalls()[0]).toContain('@nx/vue:library');
170
+ });
171
+ it('tracks framework set via generateStandardWebApp for later library calls', async () => {
172
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
173
+ await strategy.generateStandardWebApp('app', 'angular');
174
+ mockExec.mockClear();
175
+ await strategy.generateLibrary('header-ui', 'shared');
176
+ expect(nxCalls()[0]).toContain('@nx/angular:library');
177
+ });
178
+ it('tracks framework set via generateHostApp for later library calls', async () => {
179
+ const strategy = new nx_workspace_strategy_1.NxWorkspaceStrategy();
180
+ await strategy.generateHostApp('host', [], 'react');
181
+ mockExec.mockClear();
182
+ await strategy.generateLibrary('sidebar-ui', 'shared');
183
+ expect(nxCalls()[0]).toContain('@nx/react:library');
184
+ });
185
+ });
186
+ });
187
+ //# sourceMappingURL=nx-workspace.strategy.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nx-workspace.strategy.spec.js","sourceRoot":"","sources":["../../../src/core/architecture/nx-workspace.strategy.spec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export interface WorkspaceManagerStrategy {
2
+ setDryRun?(dryRun: boolean): void;
2
3
  installDependencies(frontendFramework: string, orm: string): Promise<void>;
3
4
  generateStandardWebApp(name: string, framework: string): Promise<void>;
4
5
  generateHostApp(name: string, remotes: string[], framework: string): Promise<void>;