@pristine-ts/cli 1.0.440 → 2.0.2

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 (220) hide show
  1. package/dist/bin/pristine.cjs +7 -0
  2. package/dist/lib/cjs/bin.js +15 -1
  3. package/dist/lib/cjs/bin.js.map +1 -1
  4. package/dist/lib/cjs/bootstrap/app-module-loader.js +321 -0
  5. package/dist/lib/cjs/bootstrap/app-module-loader.js.map +1 -0
  6. package/dist/lib/cjs/bootstrap/bootstrap.js +31 -0
  7. package/dist/lib/cjs/bootstrap/bootstrap.js.map +1 -0
  8. package/dist/lib/cjs/bootstrap/build-manifest-checker.js +67 -0
  9. package/dist/lib/cjs/bootstrap/build-manifest-checker.js.map +1 -0
  10. package/dist/lib/cjs/bootstrap/build-manifest-reader.js +44 -0
  11. package/dist/lib/cjs/bootstrap/build-manifest-reader.js.map +1 -0
  12. package/dist/lib/cjs/bootstrap/build-manifest-staleness.enum.js +23 -0
  13. package/dist/lib/cjs/bootstrap/build-manifest-staleness.enum.js.map +1 -0
  14. package/dist/lib/cjs/bootstrap/build-manifest-writer.js +55 -0
  15. package/dist/lib/cjs/bootstrap/build-manifest-writer.js.map +1 -0
  16. package/dist/lib/cjs/bootstrap/build-manifest.js +31 -0
  17. package/dist/lib/cjs/bootstrap/build-manifest.js.map +1 -0
  18. package/dist/lib/cjs/bootstrap/build-runner.js +44 -0
  19. package/dist/lib/cjs/bootstrap/build-runner.js.map +1 -0
  20. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +90 -0
  21. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -0
  22. package/dist/lib/cjs/bootstrap/dynamic-importer.js +43 -0
  23. package/dist/lib/cjs/bootstrap/dynamic-importer.js.map +1 -0
  24. package/dist/lib/cjs/bootstrap/init-prompt.js +127 -0
  25. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -0
  26. package/dist/lib/cjs/bootstrap/loaded-app-module.js +29 -0
  27. package/dist/lib/cjs/bootstrap/loaded-app-module.js.map +1 -0
  28. package/dist/lib/cjs/bootstrap/loaded-plugin.js +22 -0
  29. package/dist/lib/cjs/bootstrap/loaded-plugin.js.map +1 -0
  30. package/dist/lib/cjs/bootstrap/plugin-loader.js +149 -0
  31. package/dist/lib/cjs/bootstrap/plugin-loader.js.map +1 -0
  32. package/dist/lib/cjs/bootstrap/source-hasher.js +41 -0
  33. package/dist/lib/cjs/bootstrap/source-hasher.js.map +1 -0
  34. package/dist/lib/cjs/cli.js +94 -111
  35. package/dist/lib/cjs/cli.js.map +1 -1
  36. package/dist/lib/cjs/cli.module.js +9 -1
  37. package/dist/lib/cjs/cli.module.js.map +1 -1
  38. package/dist/lib/cjs/commands/build-alias.command.js +50 -0
  39. package/dist/lib/cjs/commands/build-alias.command.js.map +1 -0
  40. package/dist/lib/cjs/commands/build.command.js +173 -0
  41. package/dist/lib/cjs/commands/build.command.js.map +1 -0
  42. package/dist/lib/cjs/commands/commands.js +15 -0
  43. package/dist/lib/cjs/commands/commands.js.map +1 -1
  44. package/dist/lib/cjs/commands/config-print.command.js +75 -0
  45. package/dist/lib/cjs/commands/config-print.command.js.map +1 -0
  46. package/dist/lib/cjs/commands/help-alias.command.js +52 -0
  47. package/dist/lib/cjs/commands/help-alias.command.js.map +1 -0
  48. package/dist/lib/cjs/commands/help.command.js +44 -10
  49. package/dist/lib/cjs/commands/help.command.js.map +1 -1
  50. package/dist/lib/cjs/commands/info-alias.command.js +50 -0
  51. package/dist/lib/cjs/commands/info-alias.command.js.map +1 -0
  52. package/dist/lib/cjs/commands/info.command.js +162 -0
  53. package/dist/lib/cjs/commands/info.command.js.map +1 -0
  54. package/dist/lib/cjs/commands/init-alias.command.js +51 -0
  55. package/dist/lib/cjs/commands/init-alias.command.js.map +1 -0
  56. package/dist/lib/cjs/commands/init.command-options.js +53 -0
  57. package/dist/lib/cjs/commands/init.command-options.js.map +1 -0
  58. package/dist/lib/cjs/commands/init.command.js +249 -0
  59. package/dist/lib/cjs/commands/init.command.js.map +1 -0
  60. package/dist/lib/cjs/commands/list-alias.command.js +50 -0
  61. package/dist/lib/cjs/commands/list-alias.command.js.map +1 -0
  62. package/dist/lib/cjs/commands/list.command.js +7 -1
  63. package/dist/lib/cjs/commands/list.command.js.map +1 -1
  64. package/dist/lib/cjs/commands/start-alias.command.js +51 -0
  65. package/dist/lib/cjs/commands/start-alias.command.js.map +1 -0
  66. package/dist/lib/cjs/commands/start.command-options.js +34 -0
  67. package/dist/lib/cjs/commands/start.command-options.js.map +1 -0
  68. package/dist/lib/cjs/commands/start.command.js +169 -0
  69. package/dist/lib/cjs/commands/start.command.js.map +1 -0
  70. package/dist/lib/cjs/commands/verify-alias.command.js +50 -0
  71. package/dist/lib/cjs/commands/verify-alias.command.js.map +1 -0
  72. package/dist/lib/cjs/commands/verify.command.js +71 -0
  73. package/dist/lib/cjs/commands/verify.command.js.map +1 -0
  74. package/dist/lib/cjs/config/config-loader.js +136 -0
  75. package/dist/lib/cjs/config/config-loader.js.map +1 -0
  76. package/dist/lib/cjs/config/config-provenance.enum.js +15 -0
  77. package/dist/lib/cjs/config/config-provenance.enum.js.map +1 -0
  78. package/dist/lib/cjs/config/config.js +22 -0
  79. package/dist/lib/cjs/config/config.js.map +1 -0
  80. package/dist/lib/cjs/config/define-config.js +18 -0
  81. package/dist/lib/cjs/config/define-config.js.map +1 -0
  82. package/dist/lib/cjs/config/pristine-config.interface.js +3 -0
  83. package/dist/lib/cjs/config/pristine-config.interface.js.map +1 -0
  84. package/dist/lib/cjs/config/resolved-pristine-config.js +25 -0
  85. package/dist/lib/cjs/config/resolved-pristine-config.js.map +1 -0
  86. package/dist/lib/cjs/event-handlers/cli.event-handler.js +69 -48
  87. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  88. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  89. package/dist/lib/esm/bin.js +15 -1
  90. package/dist/lib/esm/bin.js.map +1 -1
  91. package/dist/lib/esm/bootstrap/app-module-loader.js +315 -0
  92. package/dist/lib/esm/bootstrap/app-module-loader.js.map +1 -0
  93. package/dist/lib/esm/bootstrap/bootstrap.js +15 -0
  94. package/dist/lib/esm/bootstrap/bootstrap.js.map +1 -0
  95. package/dist/lib/esm/bootstrap/build-manifest-checker.js +61 -0
  96. package/dist/lib/esm/bootstrap/build-manifest-checker.js.map +1 -0
  97. package/dist/lib/esm/bootstrap/build-manifest-reader.js +38 -0
  98. package/dist/lib/esm/bootstrap/build-manifest-reader.js.map +1 -0
  99. package/dist/lib/esm/bootstrap/build-manifest-staleness.enum.js +20 -0
  100. package/dist/lib/esm/bootstrap/build-manifest-staleness.enum.js.map +1 -0
  101. package/dist/lib/esm/bootstrap/build-manifest-writer.js +49 -0
  102. package/dist/lib/esm/bootstrap/build-manifest-writer.js.map +1 -0
  103. package/dist/lib/esm/bootstrap/build-manifest.js +27 -0
  104. package/dist/lib/esm/bootstrap/build-manifest.js.map +1 -0
  105. package/dist/lib/esm/bootstrap/build-runner.js +41 -0
  106. package/dist/lib/esm/bootstrap/build-runner.js.map +1 -0
  107. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +87 -0
  108. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -0
  109. package/dist/lib/esm/bootstrap/dynamic-importer.js +40 -0
  110. package/dist/lib/esm/bootstrap/dynamic-importer.js.map +1 -0
  111. package/dist/lib/esm/bootstrap/init-prompt.js +124 -0
  112. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -0
  113. package/dist/lib/esm/bootstrap/loaded-app-module.js +25 -0
  114. package/dist/lib/esm/bootstrap/loaded-app-module.js.map +1 -0
  115. package/dist/lib/esm/bootstrap/loaded-plugin.js +18 -0
  116. package/dist/lib/esm/bootstrap/loaded-plugin.js.map +1 -0
  117. package/dist/lib/esm/bootstrap/plugin-loader.js +143 -0
  118. package/dist/lib/esm/bootstrap/plugin-loader.js.map +1 -0
  119. package/dist/lib/esm/bootstrap/source-hasher.js +35 -0
  120. package/dist/lib/esm/bootstrap/source-hasher.js.map +1 -0
  121. package/dist/lib/esm/cli.js +109 -0
  122. package/dist/lib/esm/cli.js.map +1 -0
  123. package/dist/lib/esm/cli.module.js +7 -0
  124. package/dist/lib/esm/cli.module.js.map +1 -1
  125. package/dist/lib/esm/commands/build-alias.command.js +47 -0
  126. package/dist/lib/esm/commands/build-alias.command.js.map +1 -0
  127. package/dist/lib/esm/commands/build.command.js +167 -0
  128. package/dist/lib/esm/commands/build.command.js.map +1 -0
  129. package/dist/lib/esm/commands/commands.js +15 -0
  130. package/dist/lib/esm/commands/commands.js.map +1 -1
  131. package/dist/lib/esm/commands/config-print.command.js +69 -0
  132. package/dist/lib/esm/commands/config-print.command.js.map +1 -0
  133. package/dist/lib/esm/commands/help-alias.command.js +49 -0
  134. package/dist/lib/esm/commands/help-alias.command.js.map +1 -0
  135. package/dist/lib/esm/commands/help.command.js +44 -10
  136. package/dist/lib/esm/commands/help.command.js.map +1 -1
  137. package/dist/lib/esm/commands/info-alias.command.js +47 -0
  138. package/dist/lib/esm/commands/info-alias.command.js.map +1 -0
  139. package/dist/lib/esm/commands/info.command.js +156 -0
  140. package/dist/lib/esm/commands/info.command.js.map +1 -0
  141. package/dist/lib/esm/commands/init-alias.command.js +48 -0
  142. package/dist/lib/esm/commands/init-alias.command.js.map +1 -0
  143. package/dist/lib/esm/commands/init.command-options.js +49 -0
  144. package/dist/lib/esm/commands/init.command-options.js.map +1 -0
  145. package/dist/lib/esm/commands/init.command.js +243 -0
  146. package/dist/lib/esm/commands/init.command.js.map +1 -0
  147. package/dist/lib/esm/commands/list-alias.command.js +47 -0
  148. package/dist/lib/esm/commands/list-alias.command.js.map +1 -0
  149. package/dist/lib/esm/commands/list.command.js +8 -2
  150. package/dist/lib/esm/commands/list.command.js.map +1 -1
  151. package/dist/lib/esm/commands/start-alias.command.js +48 -0
  152. package/dist/lib/esm/commands/start-alias.command.js.map +1 -0
  153. package/dist/lib/esm/commands/start.command-options.js +30 -0
  154. package/dist/lib/esm/commands/start.command-options.js.map +1 -0
  155. package/dist/lib/esm/commands/start.command.js +166 -0
  156. package/dist/lib/esm/commands/start.command.js.map +1 -0
  157. package/dist/lib/esm/commands/verify-alias.command.js +47 -0
  158. package/dist/lib/esm/commands/verify-alias.command.js.map +1 -0
  159. package/dist/lib/esm/commands/verify.command.js +68 -0
  160. package/dist/lib/esm/commands/verify.command.js.map +1 -0
  161. package/dist/lib/esm/config/config-loader.js +130 -0
  162. package/dist/lib/esm/config/config-loader.js.map +1 -0
  163. package/dist/lib/esm/config/config-provenance.enum.js +12 -0
  164. package/dist/lib/esm/config/config-provenance.enum.js.map +1 -0
  165. package/dist/lib/esm/config/config.js +6 -0
  166. package/dist/lib/esm/config/config.js.map +1 -0
  167. package/dist/lib/esm/config/define-config.js +14 -0
  168. package/dist/lib/esm/config/define-config.js.map +1 -0
  169. package/dist/lib/esm/config/pristine-config.interface.js +2 -0
  170. package/dist/lib/esm/config/pristine-config.interface.js.map +1 -0
  171. package/dist/lib/esm/config/resolved-pristine-config.js +21 -0
  172. package/dist/lib/esm/config/resolved-pristine-config.js.map +1 -0
  173. package/dist/lib/esm/event-handlers/cli.event-handler.js +69 -48
  174. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  175. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -0
  176. package/dist/types/bootstrap/app-module-loader.d.ts +83 -0
  177. package/dist/types/bootstrap/bootstrap.d.ts +14 -0
  178. package/dist/types/bootstrap/build-manifest-checker.d.ts +19 -0
  179. package/dist/types/bootstrap/build-manifest-reader.d.ts +14 -0
  180. package/dist/types/bootstrap/build-manifest-staleness.enum.d.ts +18 -0
  181. package/dist/types/bootstrap/build-manifest-writer.d.ts +19 -0
  182. package/dist/types/bootstrap/build-manifest.d.ts +29 -0
  183. package/dist/types/bootstrap/build-runner.d.ts +16 -0
  184. package/dist/types/bootstrap/build-staleness-prompt.d.ts +27 -0
  185. package/dist/types/bootstrap/dynamic-importer.d.ts +13 -0
  186. package/dist/types/bootstrap/init-prompt.d.ts +38 -0
  187. package/dist/types/bootstrap/loaded-app-module.d.ts +40 -0
  188. package/dist/types/bootstrap/loaded-plugin.d.ts +20 -0
  189. package/dist/types/bootstrap/plugin-loader.d.ts +35 -0
  190. package/dist/types/bootstrap/source-hasher.d.ts +15 -0
  191. package/dist/types/cli.d.ts +12 -0
  192. package/dist/types/cli.module.d.ts +3 -0
  193. package/dist/types/commands/build-alias.command.d.ts +15 -0
  194. package/dist/types/commands/build.command.d.ts +47 -0
  195. package/dist/types/commands/commands.d.ts +15 -0
  196. package/dist/types/commands/config-print.command.d.ts +18 -0
  197. package/dist/types/commands/help-alias.command.d.ts +17 -0
  198. package/dist/types/commands/help.command.d.ts +19 -1
  199. package/dist/types/commands/info-alias.command.d.ts +15 -0
  200. package/dist/types/commands/info.command.d.ts +41 -0
  201. package/dist/types/commands/init-alias.command.d.ts +16 -0
  202. package/dist/types/commands/init.command-options.d.ts +22 -0
  203. package/dist/types/commands/init.command.d.ts +60 -0
  204. package/dist/types/commands/list-alias.command.d.ts +15 -0
  205. package/dist/types/commands/list.command.d.ts +6 -0
  206. package/dist/types/commands/start-alias.command.d.ts +16 -0
  207. package/dist/types/commands/start.command-options.d.ts +11 -0
  208. package/dist/types/commands/start.command.d.ts +47 -0
  209. package/dist/types/commands/verify-alias.command.d.ts +15 -0
  210. package/dist/types/commands/verify.command.d.ts +24 -0
  211. package/dist/types/config/config-loader.d.ts +40 -0
  212. package/dist/types/config/config-provenance.enum.d.ts +10 -0
  213. package/dist/types/config/config.d.ts +5 -0
  214. package/dist/types/config/define-config.d.ts +14 -0
  215. package/dist/types/config/pristine-config.interface.d.ts +67 -0
  216. package/dist/types/config/resolved-pristine-config.d.ts +28 -0
  217. package/dist/types/event-handlers/cli.event-handler.d.ts +30 -3
  218. package/dist/types/interfaces/command.interface.d.ts +31 -3
  219. package/package.json +16 -13
  220. package/readme.md +1023 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-print.command.js","sourceRoot":"","sources":["../../../../src/commands/config-print.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAwB;AACxB,gDAAgF;AAChF,uCAAoC;AAEpC,iEAA2D;AAC3D,4DAAqD;AACrD,8DAAuD;AACvD,2DAAqD;AAErD;;;;GAIG;AAII,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAK7B,YACmB,cAA8B,EAC9B,YAA0B;QAD1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAN7C,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,0EAA0E,CAAC;IAMzF,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;YAEzE,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,gBAAgB,cAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAExE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,OAAO,6BAAY,CAAC,OAAO,CAAC;QAC9B,CAAC;KAAA;CACF,CAAA;AAjCY,gDAAkB;6BAAlB,kBAAkB;IAH9B,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAOwB,gCAAc;QAChB,4BAAY;GAPlC,kBAAkB,CAiC9B"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.HelpAliasCommand = void 0;
22
+ const common_1 = require("@pristine-ts/common");
23
+ const tsyringe_1 = require("tsyringe");
24
+ const cli_module_keyname_1 = require("../cli.module.keyname");
25
+ const help_command_1 = require("./help.command");
26
+ /**
27
+ * Top-level alias for the framework-reserved `p:help` command. Injects the delegate
28
+ * directly via standard DI — `HelpCommand` is `@injectable()` and tsyringe resolves it
29
+ * recursively when this alias is constructed. The two share state via DI, not via a
30
+ * service-locator handle to the kernel container.
31
+ */
32
+ let HelpAliasCommand = class HelpAliasCommand {
33
+ constructor(delegate) {
34
+ this.delegate = delegate;
35
+ this.optionsType = null;
36
+ this.name = "help";
37
+ this.description = "Alias for p:help.";
38
+ }
39
+ run(args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ return this.delegate.run(args);
42
+ });
43
+ }
44
+ };
45
+ exports.HelpAliasCommand = HelpAliasCommand;
46
+ exports.HelpAliasCommand = HelpAliasCommand = __decorate([
47
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
48
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
49
+ (0, tsyringe_1.injectable)(),
50
+ __metadata("design:paramtypes", [help_command_1.HelpCommand])
51
+ ], HelpAliasCommand);
52
+ //# sourceMappingURL=help-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/help-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgF;AAChF,uCAAoC;AAGpC,8DAAuD;AACvD,iDAA2C;AAE3C;;;;;GAKG;AAII,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAK3B,YAA6B,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAJlD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,mBAAmB,CAAC;IAGlC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,4CAAgB;2BAAhB,gBAAgB;IAH5B,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAM4B,0BAAW;GALvC,gBAAgB,CAW5B"}
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
15
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
16
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -19,27 +22,57 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
19
22
  };
20
23
  Object.defineProperty(exports, "__esModule", { value: true });
21
24
  exports.HelpCommand = void 0;
22
- const common_1 = require("@pristine-ts/common");
23
25
  const tsyringe_1 = require("tsyringe");
26
+ const common_1 = require("@pristine-ts/common");
24
27
  const console_manager_1 = require("../managers/console.manager");
25
28
  const exit_code_enum_1 = require("../enums/exit-code.enum");
26
29
  const cli_module_keyname_1 = require("../cli.module.keyname");
30
+ /**
31
+ * Prints a usage banner plus a one-line summary for every registered command. The output is
32
+ * generated from the actual `CommandInterface[]` resolved from the current DI container, so
33
+ * newly registered (built-in or custom) commands show up automatically.
34
+ *
35
+ * The first column is sized to the longest command name in the set, so the second-column
36
+ * descriptions stay aligned even when commands have wildly different name lengths.
37
+ *
38
+ * **Lazy command resolution.** This command is itself `@tag(Command)`, so a constructor-time
39
+ * `@injectAll(ServiceDefinitionTagEnum.Command)` would create an infinite cycle: tsyringe
40
+ * tries to construct HelpCommand → must inject all Commands → must construct HelpCommand →
41
+ * recursion. We instead inject the current child container (registered by the kernel under
42
+ * `ServiceDefinitionTagEnum.CurrentChildContainer`) and call `resolveAll` from inside `run()`,
43
+ * by which point every Command-tagged class is fully constructed and cached.
44
+ */
27
45
  let HelpCommand = class HelpCommand {
28
- constructor(consoleManager) {
46
+ constructor(consoleManager, container) {
29
47
  this.consoleManager = consoleManager;
48
+ this.container = container;
30
49
  this.optionsType = null;
31
50
  this.name = "p:help";
51
+ this.description = "Show this help message and list all registered commands.";
32
52
  }
33
53
  run(args) {
34
54
  return __awaiter(this, void 0, void 0, function* () {
35
- this.consoleManager.writeLine("Pristine CLI Module (help)");
55
+ var _a;
56
+ const commands = this.container.resolveAll(common_1.ServiceDefinitionTagEnum.Command);
57
+ this.consoleManager.writeLine("Pristine CLI");
58
+ this.consoleManager.writeLine("");
59
+ this.consoleManager.writeLine("Usage:");
60
+ this.consoleManager.writeLine(" pristine <command> [--option=value ...]");
61
+ this.consoleManager.writeLine("");
62
+ this.consoleManager.writeLine("Commands:");
63
+ const sorted = [...commands].sort((a, b) => a.name.localeCompare(b.name));
64
+ const longestName = sorted.reduce((max, c) => Math.max(max, c.name.length), 0);
65
+ for (const command of sorted) {
66
+ const padded = command.name.padEnd(longestName + 2, " ");
67
+ const description = (_a = command.description) !== null && _a !== void 0 ? _a : "";
68
+ this.consoleManager.writeLine(` ${padded}${description}`);
69
+ }
36
70
  this.consoleManager.writeLine("");
37
- this.consoleManager.writeLine("To implement your own command:");
38
- this.consoleManager.writeLine(" 1- Implement the 'CommandInterface' from '@pristine-ts/cli'");
39
- this.consoleManager.writeLine(" 2- Tag it with the `@tag(ServiceDefinitionTagEnum.Command)` decorator");
40
- this.consoleManager.writeLine(" 3- Modify your package.json file to include the path to your COMPILED js module: `{'pristine': { 'appModule': { 'cjsPath': 'RELATIVE_PATH_TO_YOUR_MODULE_COMPILE_FOR_CJS'}}}`");
41
- this.consoleManager.writeLine(" 4- Add your command to the `package.json` such as `'scripts': { 'my_command': 'pristine YOUR_COMMAND_HERE YOUR_ARGUMENTS_HERE'}`");
42
- this.consoleManager.writeLine(" 5- Execute your command.");
71
+ this.consoleManager.writeLine("Adding your own command:");
72
+ this.consoleManager.writeLine(" 1. Implement CommandInterface from '@pristine-ts/cli'");
73
+ this.consoleManager.writeLine(" 2. Decorate with @tag(ServiceDefinitionTagEnum.Command) @injectable()");
74
+ this.consoleManager.writeLine(" 3. Make sure your AppModule's import graph reaches the file");
75
+ this.consoleManager.writeLine(" 4. Invoke as: pristine <your-command-name>");
43
76
  return exit_code_enum_1.ExitCodeEnum.Success;
44
77
  });
45
78
  }
@@ -49,6 +82,7 @@ exports.HelpCommand = HelpCommand = __decorate([
49
82
  (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
50
83
  (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
51
84
  (0, tsyringe_1.injectable)(),
52
- __metadata("design:paramtypes", [console_manager_1.ConsoleManager])
85
+ __param(1, (0, tsyringe_1.inject)(common_1.ServiceDefinitionTagEnum.CurrentChildContainer)),
86
+ __metadata("design:paramtypes", [console_manager_1.ConsoleManager, Object])
53
87
  ], HelpCommand);
54
88
  //# sourceMappingURL=help.command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.command.js","sourceRoot":"","sources":["../../../../src/commands/help.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgF;AAChF,uCAAoC;AAEpC,iEAA2D;AAC3D,4DAAqD;AACrD,8DAAuD;AAKhD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAKtB,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;QAJ3D,gBAAW,GAAG,IAAI,CAAC;QAEnB,SAAI,GAAG,QAAQ,CAAC;IAGhB,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;YAC5D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAA;YAC/D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,+DAA+D,CAAC,CAAC;YAC/F,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,yEAAyE,CAAC,CAAC;YACzG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,iLAAiL,CAAC,CAAA;YAChN,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,oIAAoI,CAAC,CAAC;YACpK,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAA;YAE3D,OAAO,6BAAY,CAAC,OAAO,CAAC;QAC9B,CAAC;KAAA;CACF,CAAA;AApBY,kCAAW;sBAAX,WAAW;IAHvB,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAMkC,gCAAc;GALhD,WAAW,CAoBvB"}
1
+ {"version":3,"file":"help.command.js","sourceRoot":"","sources":["../../../../src/commands/help.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAiE;AACjE,gDAAgF;AAEhF,iEAA2D;AAC3D,4DAAqD;AACrD,8DAAuD;AAEvD;;;;;;;;;;;;;;GAcG;AAII,IAAM,WAAW,GAAjB,MAAM,WAAW;IAKtB,YACmB,cAA8B,EACS,SAA+C;QADtF,mBAAc,GAAd,cAAc,CAAgB;QAC0B,cAAS,GAAT,SAAS,CAAqB;QANzG,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,QAAQ,CAAC;QAChB,gBAAW,GAAG,0DAA0D,CAAC;IAMzE,CAAC;IAEK,GAAG,CAAC,IAAS;;;YACjB,MAAM,QAAQ,GAA4B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iCAAwB,CAAC,OAAO,CAAC,CAAC;YAEtG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAE/E,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,WAAW,mCAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,yDAAyD,CAAC,CAAC;YACzF,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,yEAAyE,CAAC,CAAC;YACzG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,+DAA+D,CAAC,CAAC;YAC/F,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,8CAA8C,CAAC,CAAC;YAE9E,OAAO,6BAAY,CAAC,OAAO,CAAC;QAC9B,CAAC;KAAA;CACF,CAAA;AAvCY,kCAAW;sBAAX,WAAW;IAHvB,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;IAQR,WAAA,IAAA,iBAAM,EAAC,iCAAwB,CAAC,qBAAqB,CAAC,CAAA;qCADtB,gCAAc;GANtC,WAAW,CAuCvB"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.InfoAliasCommand = void 0;
22
+ const common_1 = require("@pristine-ts/common");
23
+ const tsyringe_1 = require("tsyringe");
24
+ const cli_module_keyname_1 = require("../cli.module.keyname");
25
+ const info_command_1 = require("./info.command");
26
+ /**
27
+ * Top-level alias for the framework-reserved `p:info` command. Injects the delegate
28
+ * directly via standard DI.
29
+ */
30
+ let InfoAliasCommand = class InfoAliasCommand {
31
+ constructor(delegate) {
32
+ this.delegate = delegate;
33
+ this.optionsType = null;
34
+ this.name = "info";
35
+ this.description = "Alias for p:info.";
36
+ }
37
+ run(args) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ return this.delegate.run(args);
40
+ });
41
+ }
42
+ };
43
+ exports.InfoAliasCommand = InfoAliasCommand;
44
+ exports.InfoAliasCommand = InfoAliasCommand = __decorate([
45
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
46
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
47
+ (0, tsyringe_1.injectable)(),
48
+ __metadata("design:paramtypes", [info_command_1.InfoCommand])
49
+ ], InfoAliasCommand);
50
+ //# sourceMappingURL=info-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/info-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgF;AAChF,uCAAoC;AAGpC,8DAAuD;AACvD,iDAA2C;AAE3C;;;GAGG;AAII,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAK3B,YAA6B,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAJlD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,mBAAmB,CAAC;IAGlC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,4CAAgB;2BAAhB,gBAAgB;IAH5B,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAM4B,0BAAW;GALvC,gBAAgB,CAW5B"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ var __importDefault = (this && this.__importDefault) || function (mod) {
21
+ return (mod && mod.__esModule) ? mod : { "default": mod };
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.InfoCommand = void 0;
25
+ const fs_1 = __importDefault(require("fs"));
26
+ const os_1 = __importDefault(require("os"));
27
+ const path_1 = __importDefault(require("path"));
28
+ const common_1 = require("@pristine-ts/common");
29
+ const tsyringe_1 = require("tsyringe");
30
+ const console_manager_1 = require("../managers/console.manager");
31
+ const exit_code_enum_1 = require("../enums/exit-code.enum");
32
+ const cli_module_keyname_1 = require("../cli.module.keyname");
33
+ const config_loader_1 = require("../config/config-loader");
34
+ const app_module_loader_1 = require("../bootstrap/app-module-loader");
35
+ /**
36
+ * Diagnostic command. Prints framework version, runtime environment, resolved config +
37
+ * AppModule locations, the recursively-resolved list of imported modules, and the list of
38
+ * loaded plugins. Designed for support tickets and "is my project picking up what I think
39
+ * it's picking up?" sanity checks.
40
+ *
41
+ * Does not boot a fresh kernel — it inspects what *would* be loaded by re-running the
42
+ * loader cascade, so it remains useful even when the AppModule is broken in a way that
43
+ * prevents `kernel.start()`.
44
+ */
45
+ let InfoCommand = class InfoCommand {
46
+ constructor(consoleManager, configLoader, appModuleLoader) {
47
+ this.consoleManager = consoleManager;
48
+ this.configLoader = configLoader;
49
+ this.appModuleLoader = appModuleLoader;
50
+ this.optionsType = null;
51
+ this.name = "p:info";
52
+ this.description = "Print framework version, runtime environment, and the loaded module graph.";
53
+ /**
54
+ * Resolved at command construction time so `pristine info` reports the version of the cli
55
+ * that's actually running, not whatever happens to live in the user's project root. The
56
+ * package.json sits four levels up from dist/lib/cjs/commands/.
57
+ */
58
+ this.cliPackageJsonPath = path_1.default.resolve(__dirname, "..", "..", "..", "..", "package.json");
59
+ }
60
+ run(args) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ this.printRuntimeBanner();
63
+ yield this.printConfigSection();
64
+ return this.printAppModuleSection();
65
+ });
66
+ }
67
+ printRuntimeBanner() {
68
+ this.consoleManager.writeLine("Pristine CLI");
69
+ this.consoleManager.writeLine(` Version: ${this.readCliVersion()}`);
70
+ this.consoleManager.writeLine(` Node: ${process.version}`);
71
+ this.consoleManager.writeLine(` Platform: ${os_1.default.platform()} ${os_1.default.arch()} (${os_1.default.release()})`);
72
+ this.consoleManager.writeLine(` CWD: ${process.cwd()}`);
73
+ this.consoleManager.writeLine("");
74
+ }
75
+ printConfigSection() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ var _a, _b, _c;
78
+ const resolvedConfig = yield this.configLoader.load({ startDir: process.cwd() });
79
+ this.consoleManager.writeLine("Configuration");
80
+ this.consoleManager.writeLine(` Config file: ${(_a = resolvedConfig.configFilePath) !== null && _a !== void 0 ? _a : "(none — using defaults)"}`);
81
+ if (((_b = resolvedConfig.config.appModule) === null || _b === void 0 ? void 0 : _b.sourcePath) !== undefined) {
82
+ this.consoleManager.writeLine(` AppModule src: ${resolvedConfig.config.appModule.sourcePath} (from config file)`);
83
+ }
84
+ if (((_c = resolvedConfig.config.appModule) === null || _c === void 0 ? void 0 : _c.outputPath) !== undefined) {
85
+ this.consoleManager.writeLine(` AppModule out: ${resolvedConfig.config.appModule.outputPath} (from config file)`);
86
+ }
87
+ this.consoleManager.writeLine("");
88
+ });
89
+ }
90
+ printAppModuleSection() {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ let modules = [];
93
+ let pluginNames = [];
94
+ try {
95
+ const loaded = yield this.appModuleLoader.load();
96
+ modules = this.collectModules(loaded.appModule);
97
+ pluginNames = loaded.plugins.map(p => p.name);
98
+ this.consoleManager.writeLine(`AppModule: ${loaded.appModule.keyname}`);
99
+ }
100
+ catch (error) {
101
+ this.consoleManager.writeError(`Could not load AppModule: ${error.message}`);
102
+ return exit_code_enum_1.ExitCodeEnum.Error;
103
+ }
104
+ if (pluginNames.length > 0) {
105
+ this.consoleManager.writeLine(`Plugins (${pluginNames.length}):`);
106
+ for (const name of pluginNames) {
107
+ this.consoleManager.writeLine(` - ${name}`);
108
+ }
109
+ }
110
+ this.consoleManager.writeLine(`Imported modules (${modules.length}):`);
111
+ const uniqueByKeyname = new Map();
112
+ for (const m of modules) {
113
+ uniqueByKeyname.set(m.keyname, m);
114
+ }
115
+ for (const m of [...uniqueByKeyname.values()].sort((a, b) => a.keyname.localeCompare(b.keyname))) {
116
+ this.consoleManager.writeLine(` - ${m.keyname}`);
117
+ }
118
+ return exit_code_enum_1.ExitCodeEnum.Success;
119
+ });
120
+ }
121
+ readCliVersion() {
122
+ var _a;
123
+ try {
124
+ const pkg = JSON.parse(fs_1.default.readFileSync(this.cliPackageJsonPath, "utf8"));
125
+ return (_a = pkg.version) !== null && _a !== void 0 ? _a : "unknown";
126
+ }
127
+ catch (_b) {
128
+ return "unknown";
129
+ }
130
+ }
131
+ /**
132
+ * Walks the import tree, returning every module reachable from the root. Visits each
133
+ * module at most once via a keyname-keyed seen-set so circular imports don't loop.
134
+ * @private
135
+ */
136
+ collectModules(root) {
137
+ const seen = new Set();
138
+ const flat = [];
139
+ const walk = (m) => {
140
+ if (seen.has(m.keyname))
141
+ return;
142
+ seen.add(m.keyname);
143
+ flat.push(m);
144
+ if (m.importModules) {
145
+ for (const child of m.importModules)
146
+ walk(child);
147
+ }
148
+ };
149
+ walk(root);
150
+ return flat;
151
+ }
152
+ };
153
+ exports.InfoCommand = InfoCommand;
154
+ exports.InfoCommand = InfoCommand = __decorate([
155
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
156
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
157
+ (0, tsyringe_1.injectable)(),
158
+ __metadata("design:paramtypes", [console_manager_1.ConsoleManager,
159
+ config_loader_1.ConfigLoader,
160
+ app_module_loader_1.AppModuleLoader])
161
+ ], InfoCommand);
162
+ //# sourceMappingURL=info.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.command.js","sourceRoot":"","sources":["../../../../src/commands/info.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.InitAliasCommand = void 0;
22
+ const common_1 = require("@pristine-ts/common");
23
+ const tsyringe_1 = require("tsyringe");
24
+ const cli_module_keyname_1 = require("../cli.module.keyname");
25
+ const init_command_1 = require("./init.command");
26
+ const init_command_options_1 = require("./init.command-options");
27
+ /**
28
+ * Top-level alias for the framework-reserved `p:init` command. Injects the delegate
29
+ * directly via standard DI.
30
+ */
31
+ let InitAliasCommand = class InitAliasCommand {
32
+ constructor(delegate) {
33
+ this.delegate = delegate;
34
+ this.optionsType = init_command_options_1.InitCommandOptions;
35
+ this.name = "init";
36
+ this.description = "Alias for p:init.";
37
+ }
38
+ run(args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return this.delegate.run(args);
41
+ });
42
+ }
43
+ };
44
+ exports.InitAliasCommand = InitAliasCommand;
45
+ exports.InitAliasCommand = InitAliasCommand = __decorate([
46
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
47
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
48
+ (0, tsyringe_1.injectable)(),
49
+ __metadata("design:paramtypes", [init_command_1.InitCommand])
50
+ ], InitAliasCommand);
51
+ //# sourceMappingURL=init-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/init-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAAgF;AAChF,uCAAoC;AAGpC,8DAAuD;AACvD,iDAA2C;AAC3C,iEAA0D;AAE1D;;;GAGG;AAII,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAK3B,YAA6B,QAAqB;QAArB,aAAQ,GAAR,QAAQ,CAAa;QAJlD,gBAAW,GAAG,yCAAkB,CAAC;QACjC,SAAI,GAAG,MAAM,CAAC;QACd,gBAAW,GAAG,mBAAmB,CAAC;IAGlC,CAAC;IAEK,GAAG,CAAC,IAAwB;;YAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,4CAAgB;2BAAhB,gBAAgB;IAH5B,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAM4B,0BAAW;GALvC,gBAAgB,CAW5B"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.InitCommandOptions = void 0;
13
+ require("reflect-metadata");
14
+ const class_validator_1 = require("@pristine-ts/class-validator");
15
+ /**
16
+ * Non-interactive flags for `pristine init`. In a TTY, the init command prompts the user for
17
+ * each missing value; in CI / non-TTY, every value must be supplied via these flags or the
18
+ * command exits with a clear "missing flag" error.
19
+ */
20
+ class InitCommandOptions {
21
+ }
22
+ exports.InitCommandOptions = InitCommandOptions;
23
+ __decorate([
24
+ (0, class_validator_1.IsOptional)(),
25
+ (0, class_validator_1.IsString)(),
26
+ __metadata("design:type", String)
27
+ ], InitCommandOptions.prototype, "source-path", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsOptional)(),
30
+ (0, class_validator_1.IsString)(),
31
+ __metadata("design:type", String)
32
+ ], InitCommandOptions.prototype, "output-path", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsString)(),
36
+ __metadata("design:type", String)
37
+ ], InitCommandOptions.prototype, "tsconfig", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsOptional)(),
40
+ (0, class_validator_1.IsIn)(["esm", "cjs", "both"]),
41
+ __metadata("design:type", String)
42
+ ], InitCommandOptions.prototype, "format", void 0);
43
+ __decorate([
44
+ (0, class_validator_1.IsOptional)(),
45
+ (0, class_validator_1.IsBoolean)(),
46
+ __metadata("design:type", Boolean)
47
+ ], InitCommandOptions.prototype, "scaffold", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsBoolean)(),
51
+ __metadata("design:type", Boolean)
52
+ ], InitCommandOptions.prototype, "scripts", void 0);
53
+ //# sourceMappingURL=init.command-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.command-options.js","sourceRoot":"","sources":["../../../../src/commands/init.command-options.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA0B;AAC1B,kEAAmF;AAEnF;;;;GAIG;AACH,MAAa,kBAAkB;CAgC9B;AAhCD,gDAgCC;AA7BC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACY;AAIvB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;oDACO;AAIlB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;;kDACG;AAQhC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;oDACO;AAQnB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;mDACM"}