@pristine-ts/cli 2.0.7 → 2.0.16

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 (289) hide show
  1. package/dist/lib/cjs/bin.js +0 -0
  2. package/dist/lib/cjs/bootstrap/app-module-cache.js +71 -0
  3. package/dist/lib/cjs/bootstrap/app-module-cache.js.map +1 -0
  4. package/dist/lib/cjs/bootstrap/app-module-discoverer.js +119 -0
  5. package/dist/lib/cjs/bootstrap/app-module-discoverer.js.map +1 -0
  6. package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js +21 -0
  7. package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js.map +1 -0
  8. package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js +15 -0
  9. package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  10. package/dist/lib/cjs/bootstrap/app-module-prompt.js +78 -0
  11. package/dist/lib/cjs/bootstrap/app-module-prompt.js.map +1 -0
  12. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +12 -13
  13. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
  14. package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
  15. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
  16. package/dist/lib/cjs/cli.configuration-keys.js +24 -0
  17. package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
  18. package/dist/lib/cjs/cli.js +23 -10
  19. package/dist/lib/cjs/cli.js.map +1 -1
  20. package/dist/lib/cjs/cli.module.js +29 -1
  21. package/dist/lib/cjs/cli.module.js.map +1 -1
  22. package/dist/lib/cjs/commands/commands.js +6 -0
  23. package/dist/lib/cjs/commands/commands.js.map +1 -1
  24. package/dist/lib/cjs/commands/config-init.command.js +133 -0
  25. package/dist/lib/cjs/commands/config-init.command.js.map +1 -0
  26. package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
  27. package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
  28. package/dist/lib/cjs/commands/logs.command-options.js +72 -0
  29. package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
  30. package/dist/lib/cjs/commands/logs.command.js +102 -0
  31. package/dist/lib/cjs/commands/logs.command.js.map +1 -0
  32. package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
  33. package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
  34. package/dist/lib/cjs/commands/requests.command-options.js +26 -0
  35. package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
  36. package/dist/lib/cjs/commands/requests.command.js +88 -0
  37. package/dist/lib/cjs/commands/requests.command.js.map +1 -0
  38. package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
  39. package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
  40. package/dist/lib/cjs/commands/trace.command-options.js +59 -0
  41. package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
  42. package/dist/lib/cjs/commands/trace.command.js +84 -0
  43. package/dist/lib/cjs/commands/trace.command.js.map +1 -0
  44. package/dist/lib/cjs/config/config-loader.js +34 -13
  45. package/dist/lib/cjs/config/config-loader.js.map +1 -1
  46. package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
  47. package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
  48. package/dist/lib/cjs/decorators/decorators.js +18 -0
  49. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  50. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
  51. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  52. package/dist/lib/cjs/enums/enums.js +19 -0
  53. package/dist/lib/cjs/enums/enums.js.map +1 -0
  54. package/dist/lib/cjs/enums/exit-code.enum.js +9 -0
  55. package/dist/lib/cjs/enums/exit-code.enum.js.map +1 -0
  56. package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
  57. package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
  58. package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
  59. package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
  60. package/dist/lib/cjs/errors/errors.js +1 -0
  61. package/dist/lib/cjs/errors/errors.js.map +1 -1
  62. package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
  63. package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
  64. package/dist/lib/cjs/event-handlers/cli.event-handler.js +21 -65
  65. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  66. package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
  67. package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
  68. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
  69. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
  70. package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
  71. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
  72. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
  73. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
  74. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  75. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  76. package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
  77. package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
  78. package/dist/lib/cjs/managers/cli-prompt.manager.js +181 -15
  79. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -1
  80. package/dist/lib/cjs/managers/console.manager.js +277 -0
  81. package/dist/lib/cjs/managers/console.manager.js.map +1 -0
  82. package/dist/lib/cjs/managers/managers.js +1 -0
  83. package/dist/lib/cjs/managers/managers.js.map +1 -1
  84. package/dist/lib/cjs/managers/repl-session.js +251 -0
  85. package/dist/lib/cjs/managers/repl-session.js.map +1 -0
  86. package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
  87. package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
  88. package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
  89. package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
  90. package/dist/lib/cjs/mappers/mappers.js +1 -0
  91. package/dist/lib/cjs/mappers/mappers.js.map +1 -1
  92. package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
  93. package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
  94. package/dist/lib/cjs/options/command-parameter.options.js +3 -0
  95. package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
  96. package/dist/lib/cjs/options/options.js +1 -0
  97. package/dist/lib/cjs/options/options.js.map +1 -1
  98. package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
  99. package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
  100. package/dist/lib/cjs/services/command-options-resolver.js +114 -0
  101. package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
  102. package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
  103. package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
  104. package/dist/lib/cjs/services/services.js +20 -0
  105. package/dist/lib/cjs/services/services.js.map +1 -0
  106. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  107. package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
  108. package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
  109. package/dist/lib/cjs/types/types.js +1 -0
  110. package/dist/lib/cjs/types/types.js.map +1 -1
  111. package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
  112. package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
  113. package/dist/lib/cjs/utils/pristine-argv.js +87 -0
  114. package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
  115. package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
  116. package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
  117. package/dist/lib/esm/bootstrap/app-module-cache.js +65 -0
  118. package/dist/lib/esm/bootstrap/app-module-cache.js.map +1 -0
  119. package/dist/lib/esm/bootstrap/app-module-discoverer.js +113 -0
  120. package/dist/lib/esm/bootstrap/app-module-discoverer.js.map +1 -0
  121. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js +17 -0
  122. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js.map +1 -0
  123. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js +12 -0
  124. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  125. package/dist/lib/esm/bootstrap/app-module-prompt.js +75 -0
  126. package/dist/lib/esm/bootstrap/app-module-prompt.js.map +1 -0
  127. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
  128. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
  129. package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
  130. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
  131. package/dist/lib/esm/cli.configuration-keys.js +21 -0
  132. package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
  133. package/dist/lib/esm/cli.js +23 -10
  134. package/dist/lib/esm/cli.js.map +1 -1
  135. package/dist/lib/esm/cli.module.js +29 -1
  136. package/dist/lib/esm/cli.module.js.map +1 -1
  137. package/dist/lib/esm/commands/commands.js +6 -0
  138. package/dist/lib/esm/commands/commands.js.map +1 -1
  139. package/dist/lib/esm/commands/config-init.command.js +127 -0
  140. package/dist/lib/esm/commands/config-init.command.js.map +1 -0
  141. package/dist/lib/esm/commands/logs-alias.command.js +46 -0
  142. package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
  143. package/dist/lib/esm/commands/logs.command-options.js +68 -0
  144. package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
  145. package/dist/lib/esm/commands/logs.command.js +99 -0
  146. package/dist/lib/esm/commands/logs.command.js.map +1 -0
  147. package/dist/lib/esm/commands/requests-alias.command.js +46 -0
  148. package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
  149. package/dist/lib/esm/commands/requests.command-options.js +22 -0
  150. package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
  151. package/dist/lib/esm/commands/requests.command.js +85 -0
  152. package/dist/lib/esm/commands/requests.command.js.map +1 -0
  153. package/dist/lib/esm/commands/trace-alias.command.js +46 -0
  154. package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
  155. package/dist/lib/esm/commands/trace.command-options.js +55 -0
  156. package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
  157. package/dist/lib/esm/commands/trace.command.js +81 -0
  158. package/dist/lib/esm/commands/trace.command.js.map +1 -0
  159. package/dist/lib/esm/config/config-loader.js +34 -13
  160. package/dist/lib/esm/config/config-loader.js.map +1 -1
  161. package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
  162. package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
  163. package/dist/lib/esm/decorators/decorators.js +2 -0
  164. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  165. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
  166. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  167. package/dist/lib/esm/enums/enums.js +3 -0
  168. package/dist/lib/esm/enums/enums.js.map +1 -0
  169. package/dist/lib/esm/enums/exit-code.enum.js +6 -0
  170. package/dist/lib/esm/enums/exit-code.enum.js.map +1 -0
  171. package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
  172. package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
  173. package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
  174. package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
  175. package/dist/lib/esm/errors/errors.js +1 -0
  176. package/dist/lib/esm/errors/errors.js.map +1 -1
  177. package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
  178. package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
  179. package/dist/lib/esm/event-handlers/cli.event-handler.js +22 -66
  180. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  181. package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
  182. package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
  183. package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
  184. package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
  185. package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
  186. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
  187. package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
  188. package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
  189. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  190. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  191. package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
  192. package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
  193. package/dist/lib/esm/managers/cli-prompt.manager.js +182 -16
  194. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -1
  195. package/dist/lib/esm/managers/console.manager.js +241 -0
  196. package/dist/lib/esm/managers/console.manager.js.map +1 -0
  197. package/dist/lib/esm/managers/managers.js +1 -0
  198. package/dist/lib/esm/managers/managers.js.map +1 -1
  199. package/dist/lib/esm/managers/repl-session.js +215 -0
  200. package/dist/lib/esm/managers/repl-session.js.map +1 -0
  201. package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
  202. package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
  203. package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
  204. package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
  205. package/dist/lib/esm/mappers/mappers.js +1 -0
  206. package/dist/lib/esm/mappers/mappers.js.map +1 -1
  207. package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
  208. package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
  209. package/dist/lib/esm/options/command-parameter.options.js +2 -0
  210. package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
  211. package/dist/lib/esm/options/options.js +1 -0
  212. package/dist/lib/esm/options/options.js.map +1 -1
  213. package/dist/lib/esm/services/command-argument-resolver.js +59 -0
  214. package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
  215. package/dist/lib/esm/services/command-options-resolver.js +111 -0
  216. package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
  217. package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
  218. package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
  219. package/dist/lib/esm/services/services.js +4 -0
  220. package/dist/lib/esm/services/services.js.map +1 -0
  221. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  222. package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
  223. package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
  224. package/dist/lib/esm/types/types.js +1 -0
  225. package/dist/lib/esm/types/types.js.map +1 -1
  226. package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
  227. package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
  228. package/dist/lib/esm/utils/pristine-argv.js +50 -0
  229. package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
  230. package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
  231. package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
  232. package/dist/types/bootstrap/app-module-cache.d.ts +15 -0
  233. package/dist/types/bootstrap/app-module-discoverer.d.ts +30 -0
  234. package/dist/types/bootstrap/app-module-discovery-candidate.d.ts +18 -0
  235. package/dist/types/bootstrap/app-module-discovery-reason.enum.d.ts +10 -0
  236. package/dist/types/bootstrap/app-module-prompt.d.ts +20 -0
  237. package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
  238. package/dist/types/bootstrap/init-prompt.d.ts +5 -5
  239. package/dist/types/cli.configuration-keys.d.ts +32 -0
  240. package/dist/types/cli.d.ts +8 -4
  241. package/dist/types/cli.module.d.ts +4 -0
  242. package/dist/types/commands/commands.d.ts +6 -0
  243. package/dist/types/commands/config-init.command.d.ts +18 -0
  244. package/dist/types/commands/logs-alias.command.d.ts +14 -0
  245. package/dist/types/commands/logs.command-options.d.ts +38 -0
  246. package/dist/types/commands/logs.command.d.ts +31 -0
  247. package/dist/types/commands/requests-alias.command.d.ts +14 -0
  248. package/dist/types/commands/requests.command-options.d.ts +8 -0
  249. package/dist/types/commands/requests.command.d.ts +25 -0
  250. package/dist/types/commands/trace-alias.command.d.ts +14 -0
  251. package/dist/types/commands/trace.command-options.d.ts +31 -0
  252. package/dist/types/commands/trace.command.d.ts +21 -0
  253. package/dist/types/config/config-loader.d.ts +15 -3
  254. package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
  255. package/dist/types/decorators/decorators.d.ts +1 -0
  256. package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
  257. package/dist/types/enums/enums.d.ts +2 -0
  258. package/dist/types/enums/exit-code.enum.d.ts +4 -0
  259. package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
  260. package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
  261. package/dist/types/errors/errors.d.ts +1 -0
  262. package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
  263. package/dist/types/event-handlers/cli.event-handler.d.ts +16 -13
  264. package/dist/types/event-handlers/event-handlers.d.ts +1 -0
  265. package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
  266. package/dist/types/event-payloads/event-payloads.d.ts +1 -0
  267. package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
  268. package/dist/types/interfaces/interfaces.d.ts +1 -0
  269. package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
  270. package/dist/types/managers/cli-prompt.manager.d.ts +63 -6
  271. package/dist/types/managers/console.manager.d.ts +93 -0
  272. package/dist/types/managers/managers.d.ts +1 -0
  273. package/dist/types/managers/repl-session.d.ts +62 -0
  274. package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
  275. package/dist/types/mappers/command-event.mapper.d.ts +10 -1
  276. package/dist/types/mappers/mappers.d.ts +1 -0
  277. package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
  278. package/dist/types/options/command-parameter.options.d.ts +29 -0
  279. package/dist/types/options/options.d.ts +1 -0
  280. package/dist/types/services/command-argument-resolver.d.ts +24 -0
  281. package/dist/types/services/command-options-resolver.d.ts +35 -0
  282. package/dist/types/services/command-parameter-prompter.d.ts +113 -0
  283. package/dist/types/services/services.d.ts +3 -0
  284. package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
  285. package/dist/types/types/types.d.ts +1 -0
  286. package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
  287. package/dist/types/utils/pristine-argv.d.ts +33 -0
  288. package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
  289. package/package.json +16 -12
@@ -0,0 +1,88 @@
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 RequestsCommand_1;
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.RequestsCommand = void 0;
23
+ const common_1 = require("@pristine-ts/common");
24
+ const tsyringe_1 = require("tsyringe");
25
+ const observability_1 = require("@pristine-ts/observability");
26
+ const cli_output_manager_1 = require("../managers/cli-output.manager");
27
+ const cli_module_keyname_1 = require("../cli.module.keyname");
28
+ const requests_command_options_1 = require("./requests.command-options");
29
+ /**
30
+ * Lists recent requests captured in the observability store — the entry point for
31
+ * "what just happened, and what's the event id I want to inspect?".
32
+ *
33
+ * Pulls summaries from every captured process newest-first. A pure report command: all
34
+ * output goes through `CliOutput` so it pipes cleanly.
35
+ *
36
+ * Flags: `--limit <n>` (default 20).
37
+ */
38
+ let RequestsCommand = RequestsCommand_1 = class RequestsCommand {
39
+ constructor(cliOutput, traceStore) {
40
+ this.cliOutput = cliOutput;
41
+ this.traceStore = traceStore;
42
+ this.optionsType = requests_command_options_1.RequestsCommandOptions;
43
+ this.name = "p:requests";
44
+ this.description = "List recent requests captured in the observability store.";
45
+ }
46
+ run(args) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ var _a;
49
+ const limit = (_a = args.limit) !== null && _a !== void 0 ? _a : RequestsCommand_1.DEFAULT_LIMIT;
50
+ const summaries = this.traceStore.recentRequests(limit);
51
+ if (summaries.length === 0) {
52
+ this.cliOutput.writeLine("No captured requests yet. Run your app first.");
53
+ return common_1.ExitCode.Success;
54
+ }
55
+ const headers = ["TIME", "METHOD", "PATH", "STATUS", "DURATION", "EVENT"];
56
+ const rows = summaries.map(summary => {
57
+ var _a, _b;
58
+ return [
59
+ new Date(summary.startedAt).toTimeString().slice(0, 8),
60
+ (_a = summary.httpMethod) !== null && _a !== void 0 ? _a : "-",
61
+ (_b = summary.httpPath) !== null && _b !== void 0 ? _b : summary.rootKeyname,
62
+ summary.httpStatus !== undefined ? String(summary.httpStatus) : "-",
63
+ `${summary.durationMs}ms`,
64
+ summary.eventId,
65
+ ];
66
+ });
67
+ for (const line of this.renderTable(headers, rows)) {
68
+ this.cliOutput.writeLine(line);
69
+ }
70
+ return common_1.ExitCode.Success;
71
+ });
72
+ }
73
+ renderTable(headers, rows) {
74
+ const widths = headers.map((header, column) => Math.max(header.length, ...rows.map(row => row[column].length)));
75
+ const formatRow = (cells) => cells.map((cell, column) => cell.padEnd(widths[column])).join(" ").trimEnd();
76
+ return [formatRow(headers), ...rows.map(formatRow)];
77
+ }
78
+ };
79
+ exports.RequestsCommand = RequestsCommand;
80
+ RequestsCommand.DEFAULT_LIMIT = 20;
81
+ exports.RequestsCommand = RequestsCommand = RequestsCommand_1 = __decorate([
82
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
83
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
84
+ (0, tsyringe_1.injectable)(),
85
+ __metadata("design:paramtypes", [cli_output_manager_1.CliOutput,
86
+ observability_1.TraceStore])
87
+ ], RequestsCommand);
88
+ //# sourceMappingURL=requests.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.command.js","sourceRoot":"","sources":["../../../../src/commands/requests.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
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.TraceAliasCommand = 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 trace_command_1 = require("./trace.command");
26
+ /**
27
+ * Top-level alias for `p:trace`.
28
+ */
29
+ let TraceAliasCommand = class TraceAliasCommand {
30
+ constructor(delegate) {
31
+ this.delegate = delegate;
32
+ this.optionsType = null;
33
+ this.name = "trace";
34
+ this.description = "Alias for p:trace.";
35
+ }
36
+ run(args) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return this.delegate.run(args);
39
+ });
40
+ }
41
+ };
42
+ exports.TraceAliasCommand = TraceAliasCommand;
43
+ exports.TraceAliasCommand = TraceAliasCommand = __decorate([
44
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
45
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
46
+ (0, tsyringe_1.injectable)(),
47
+ __metadata("design:paramtypes", [trace_command_1.TraceCommand])
48
+ ], TraceAliasCommand);
49
+ //# sourceMappingURL=trace-alias.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-alias.command.js","sourceRoot":"","sources":["../../../../src/commands/trace-alias.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAC1F,uCAAoC;AAEpC,8DAAuD;AACvD,mDAA6C;AAE7C;;GAEG;AAII,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAK5B,YAA6B,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;QAJnD,gBAAW,GAAG,IAAI,CAAC;QACnB,SAAI,GAAG,OAAO,CAAC;QACf,gBAAW,GAAG,oBAAoB,CAAC;IAGnC,CAAC;IAEK,GAAG,CAAC,IAAS;;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;KAAA;CACF,CAAA;AAXY,8CAAiB;4BAAjB,iBAAiB;IAH7B,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAM4B,4BAAY;GALxC,iBAAiB,CAW7B"}
@@ -0,0 +1,59 @@
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.TraceCommandOptions = void 0;
13
+ require("reflect-metadata");
14
+ const class_validator_1 = require("@pristine-ts/class-validator");
15
+ /**
16
+ * Flags + positional for `pristine trace [<id>] [--event-id <x>] [--trace-id <x>] [--request-id <x>] [--format tree|flat|json]`.
17
+ *
18
+ * Look up a trace by any of three correlation ids — `--event-id` is canonical,
19
+ * `--trace-id` covers the distributed-tracing case (a propagated `traceparent`),
20
+ * `--request-id` covers HTTP requests with an `x-pristine-request-id` header. A
21
+ * positional id is tried against all three.
22
+ */
23
+ class TraceCommandOptions {
24
+ /**
25
+ * Resolves the lookup id: an explicit flag wins over the positional, and explicit
26
+ * flags are preferred in `eventId > traceId > requestId` order.
27
+ */
28
+ get lookupId() {
29
+ var _a, _b, _c, _d;
30
+ return (_c = (_b = (_a = this["event-id"]) !== null && _a !== void 0 ? _a : this["trace-id"]) !== null && _b !== void 0 ? _b : this["request-id"]) !== null && _c !== void 0 ? _c : (_d = this._) === null || _d === void 0 ? void 0 : _d[0];
31
+ }
32
+ }
33
+ exports.TraceCommandOptions = TraceCommandOptions;
34
+ __decorate([
35
+ (0, class_validator_1.IsOptional)(),
36
+ (0, class_validator_1.IsString)(),
37
+ __metadata("design:type", String)
38
+ ], TraceCommandOptions.prototype, "event-id", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_validator_1.IsString)(),
42
+ __metadata("design:type", String)
43
+ ], TraceCommandOptions.prototype, "trace-id", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsOptional)(),
46
+ (0, class_validator_1.IsString)(),
47
+ __metadata("design:type", String)
48
+ ], TraceCommandOptions.prototype, "request-id", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsIn)(["tree", "flat", "json"]),
52
+ __metadata("design:type", String)
53
+ ], TraceCommandOptions.prototype, "format", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsArray)(),
57
+ __metadata("design:type", Array)
58
+ ], TraceCommandOptions.prototype, "_", void 0);
59
+ //# sourceMappingURL=trace.command-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.command-options.js","sourceRoot":"","sources":["../../../../src/commands/trace.command-options.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA0B;AAC1B,kEAAiF;AAIjF;;;;;;;GAOG;AACH,MAAa,mBAAmB;IA8B9B;;;OAGG;IACH,IAAI,QAAQ;;QACV,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC,UAAU,CAAC,mCAAI,IAAI,CAAC,YAAY,CAAC,mCAAI,MAAA,IAAI,CAAC,CAAC,0CAAG,CAAC,CAAC,CAAC;IACnF,CAAC;CACF;AArCD,kDAqCC;AAjCC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACS;AAKpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACS;AAKpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;uDACW;AAKtB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,sBAAI,EAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;;mDACV;AASrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;;8CACG"}
@@ -0,0 +1,84 @@
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.TraceCommand = void 0;
22
+ const common_1 = require("@pristine-ts/common");
23
+ const tsyringe_1 = require("tsyringe");
24
+ const observability_1 = require("@pristine-ts/observability");
25
+ const telemetry_1 = require("@pristine-ts/telemetry");
26
+ const cli_output_manager_1 = require("../managers/cli-output.manager");
27
+ const cli_module_keyname_1 = require("../cli.module.keyname");
28
+ const trace_command_options_1 = require("./trace.command-options");
29
+ /**
30
+ * Renders the span tree of one captured trace. Look it up by any of event/trace/request
31
+ * id — `pristine trace <id>` tries all three, or use the explicit `--event-id`,
32
+ * `--trace-id`, `--request-id` flags.
33
+ *
34
+ * `--format tree|flat|json` controls the rendering (defaults to `tree`).
35
+ */
36
+ let TraceCommand = class TraceCommand {
37
+ constructor(cliOutput, traceStore) {
38
+ this.cliOutput = cliOutput;
39
+ this.traceStore = traceStore;
40
+ this.optionsType = trace_command_options_1.TraceCommandOptions;
41
+ this.name = "p:trace";
42
+ this.description = "Render the span tree of a captured trace by event/trace/request id.";
43
+ }
44
+ run(args) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ var _a;
47
+ const lookupId = args.lookupId;
48
+ if (lookupId === undefined) {
49
+ this.cliOutput.writeLine("Usage: pristine trace <id> [--format tree|flat|json]");
50
+ this.cliOutput.writeLine(" pristine trace --event-id <id> | --trace-id <id> | --request-id <id>");
51
+ return common_1.ExitCode.Error;
52
+ }
53
+ const format = (_a = args.format) !== null && _a !== void 0 ? _a : "tree";
54
+ if (format === "json") {
55
+ const serialized = this.traceStore.findSerialized(lookupId);
56
+ if (serialized === undefined) {
57
+ this.cliOutput.writeLine(`No trace found matching '${lookupId}'.`);
58
+ return common_1.ExitCode.Error;
59
+ }
60
+ this.cliOutput.writeLine(JSON.stringify(serialized.trace, null, 2));
61
+ return common_1.ExitCode.Success;
62
+ }
63
+ const found = this.traceStore.find(lookupId);
64
+ if (found === undefined) {
65
+ this.cliOutput.writeLine(`No trace found matching '${lookupId}'.`);
66
+ return common_1.ExitCode.Error;
67
+ }
68
+ const rendered = format === "flat"
69
+ ? telemetry_1.traceRenderer.renderFlat(found.trace)
70
+ : telemetry_1.traceRenderer.renderTree(found.trace);
71
+ this.cliOutput.writeLine(rendered);
72
+ return common_1.ExitCode.Success;
73
+ });
74
+ }
75
+ };
76
+ exports.TraceCommand = TraceCommand;
77
+ exports.TraceCommand = TraceCommand = __decorate([
78
+ (0, common_1.tag)(common_1.ServiceDefinitionTagEnum.Command),
79
+ (0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
80
+ (0, tsyringe_1.injectable)(),
81
+ __metadata("design:paramtypes", [cli_output_manager_1.CliOutput,
82
+ observability_1.TraceStore])
83
+ ], TraceCommand);
84
+ //# sourceMappingURL=trace.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.command.js","sourceRoot":"","sources":["../../../../src/commands/trace.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0F;AAC1F,uCAAoC;AACpC,8DAAsD;AACtD,sDAAqD;AAErD,uEAAyD;AACzD,8DAAuD;AACvD,mEAA4D;AAE5D;;;;;;GAMG;AAII,IAAM,YAAY,GAAlB,MAAM,YAAY;IAKvB,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;QANzC,gBAAW,GAAG,2CAAmB,CAAC;QAClC,SAAI,GAAG,SAAS,CAAC;QACjB,gBAAW,GAAG,qEAAqE,CAAC;IAMpF,CAAC;IAEK,GAAG,CAAC,IAAyB;;;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,sDAAsD,CAAC,CAAC;gBACjF,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,6EAA6E,CAAC,CAAC;gBACxG,OAAO,iBAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAM,CAAC;YAErC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC;oBACnE,OAAO,iBAAQ,CAAC,KAAK,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpE,OAAO,iBAAQ,CAAC,OAAO,CAAC;YAC1B,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,4BAA4B,QAAQ,IAAI,CAAC,CAAC;gBACnE,OAAO,iBAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM;gBAChC,CAAC,CAAC,yBAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;gBACvC,CAAC,CAAC,yBAAa,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEnC,OAAO,iBAAQ,CAAC,OAAO,CAAC;QAC1B,CAAC;KAAA;CACF,CAAA;AA5CY,oCAAY;uBAAZ,YAAY;IAHxB,IAAA,YAAG,EAAC,iCAAwB,CAAC,OAAO,CAAC;IACrC,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;qCAOmB,8BAAS;QACR,0BAAU;GAP9B,YAAY,CA4CxB"}
@@ -31,7 +31,8 @@ const dynamic_importer_1 = require("../bootstrap/dynamic-importer");
31
31
  /**
32
32
  * Loads `pristine.config.ts` (preferred) or `pristine.config.js` (escape hatch for
33
33
  * pure-JS projects). Walks up from `process.cwd()` looking for the file, then loads it
34
- * through `jiti` (for `.ts`) or Node's dynamic `import()` (for `.js`).
34
+ * through Node's native dynamic `import()`: TypeScript type-stripping (Node >= 22.18)
35
+ * handles `.ts`, while `.js` loads directly.
35
36
  *
36
37
  * Returns a `ResolvedPristineConfig` carrying the file path (when found) and per-field
37
38
  * provenance, which `pristine p:config:print` uses to render an annotated dump.
@@ -100,26 +101,23 @@ let ConfigLoader = class ConfigLoader {
100
101
  }
101
102
  }
102
103
  /**
103
- * Loads a config file from `absolutePath`. `.ts` goes through `jiti`; `.js` uses Node's
104
- * native dynamic `import()`. Extracts the default export, falling back to a named
104
+ * Loads a config file from `absolutePath` via Node's native dynamic `import()`. A `.ts`
105
+ * config is handled by Node's built-in TypeScript type-stripping (Node >= 22.18); a `.js`
106
+ * config loads directly. Extracts the default export, falling back to a named
105
107
  * `pristineConfig` export for users who prefer not to use `export default`.
106
108
  * @private
107
109
  */
108
110
  importConfigFile(absolutePath) {
109
111
  return __awaiter(this, void 0, void 0, function* () {
110
- var _a, _b, _c, _d;
111
- const ext = path_1.default.extname(absolutePath).toLowerCase();
112
+ var _a, _b;
112
113
  let loaded;
113
- if (ext === ".ts") {
114
- const jitiModule = yield this.dynamicImporter.import("jiti");
115
- const createJiti = (_b = (_a = jitiModule.default) !== null && _a !== void 0 ? _a : jitiModule.createJiti) !== null && _b !== void 0 ? _b : jitiModule;
116
- const jiti = createJiti(absolutePath, { interopDefault: true });
117
- loaded = jiti(absolutePath);
118
- }
119
- else {
114
+ try {
120
115
  loaded = yield this.dynamicImporter.import(`file://${absolutePath}`);
121
116
  }
122
- const config = (_d = (_c = loaded === null || loaded === void 0 ? void 0 : loaded.default) !== null && _c !== void 0 ? _c : loaded === null || loaded === void 0 ? void 0 : loaded.pristineConfig) !== null && _d !== void 0 ? _d : loaded;
117
+ catch (error) {
118
+ throw this.describeImportError(error, absolutePath);
119
+ }
120
+ const config = (_b = (_a = loaded === null || loaded === void 0 ? void 0 : loaded.default) !== null && _a !== void 0 ? _a : loaded === null || loaded === void 0 ? void 0 : loaded.pristineConfig) !== null && _b !== void 0 ? _b : loaded;
123
121
  if (!config || typeof config !== "object") {
124
122
  throw new Error(`[pristine] Config file at '${absolutePath}' did not export a valid configuration. ` +
125
123
  `Use \`export default defineConfig({ ... })\` or \`export const pristineConfig = { ... }\`.`);
@@ -127,6 +125,29 @@ let ConfigLoader = class ConfigLoader {
127
125
  return config;
128
126
  });
129
127
  }
128
+ /**
129
+ * Translates Node's low-level module-loading failures for a `.ts` config into an
130
+ * actionable error. Native type-stripping has two distinct failure modes worth telling
131
+ * apart: the running Node is too old (or has stripping disabled) to import `.ts` at all
132
+ * (`ERR_UNKNOWN_FILE_EXTENSION`), versus a config written with non-erasable TypeScript that
133
+ * stripping refuses (`ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX`). Any other error is passed through
134
+ * unchanged so genuine config bugs surface as-is.
135
+ * @private
136
+ */
137
+ describeImportError(error, absolutePath) {
138
+ var _a;
139
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ERR_UNKNOWN_FILE_EXTENSION") {
140
+ return new Error(`[pristine] Loading '${absolutePath}' requires Node >= 22.18 (native TypeScript ` +
141
+ `type-stripping); you are running ${process.version}. Upgrade Node, or rename the ` +
142
+ `file to 'pristine.config.js'.`);
143
+ }
144
+ if ((error === null || error === void 0 ? void 0 : error.code) === "ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX") {
145
+ return new Error(`[pristine] '${absolutePath}' uses TypeScript that Node cannot type-strip (enum, ` +
146
+ `namespace, parameter properties, ...). Use only erasable TypeScript in your config, ` +
147
+ `or rename the file to 'pristine.config.js'.\nOriginal error: ${(_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error}`);
148
+ }
149
+ return error instanceof Error ? error : new Error(String(error));
150
+ }
130
151
  };
131
152
  exports.ConfigLoader = ConfigLoader;
132
153
  exports.ConfigLoader = ConfigLoader = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commandParameter = void 0;
4
+ const metadata_1 = require("@pristine-ts/metadata");
5
+ const cli_decorator_metadata_keyname_enum_1 = require("../enums/cli-decorator-metadata-keyname.enum");
6
+ /**
7
+ * Describes a command-line parameter on a command's options class. Stored as property
8
+ * metadata and read by the CLI while resolving a command's arguments — before the arguments
9
+ * are mapped onto the options instance and validated.
10
+ *
11
+ * Two behaviors flow from the options:
12
+ *
13
+ * - `flag` rebinds the property to a differently-named flag (the property name is the
14
+ * default), so the property and the flag no longer have to be spelled identically.
15
+ * - `question` makes the CLI ask for the value interactively when the flag is absent
16
+ * (subject to configuration and an interactive terminal). Omit it to never prompt.
17
+ *
18
+ * ```ts
19
+ * import {IsString, IsOptional} from "@pristine-ts/class-validator";
20
+ * import {commandParameter} from "@pristine-ts/cli";
21
+ *
22
+ * export class MigrateCommandOptions {
23
+ * @commandParameter({flag: "db-url", question: "What is the database URL?"})
24
+ * @IsString()
25
+ * databaseUrl?: string; // bound to --db-url; asked for when missing
26
+ *
27
+ * @commandParameter({flag: "dir"}) // bound to --dir; never asked for
28
+ * @IsOptional()
29
+ * @IsString()
30
+ * migrationsDirectory?: string;
31
+ * }
32
+ * ```
33
+ */
34
+ const commandParameter = (options = {}) => {
35
+ return (target, propertyKey) => {
36
+ metadata_1.PropertyMetadata.defineMetadata(target, propertyKey, cli_decorator_metadata_keyname_enum_1.CliDecoratorMetadataKeynameEnum.CommandParameter, options);
37
+ };
38
+ };
39
+ exports.commandParameter = commandParameter;
40
+ //# sourceMappingURL=command-parameter.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/command-parameter.decorator.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,sGAA6F;AAG7F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,MAAM,gBAAgB,GAAG,CAAC,UAAmC,EAAE,EAAE,EAAE;IACxE,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,2BAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,qEAA+B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command-parameter.decorator"), exports);
18
+ //# sourceMappingURL=decorators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CliDecoratorMetadataKeynameEnum = void 0;
4
+ /**
5
+ * Metadata keynames written by `@pristine-ts/cli`'s own property/class decorators and read
6
+ * back when resolving a command's options. Namespaced under `cli:` so they never collide
7
+ * with the keys other Pristine decorators (validation, data-mapping, mysql, …) store on the
8
+ * same class.
9
+ */
10
+ var CliDecoratorMetadataKeynameEnum;
11
+ (function (CliDecoratorMetadataKeynameEnum) {
12
+ CliDecoratorMetadataKeynameEnum["CommandParameter"] = "cli:command-parameter";
13
+ })(CliDecoratorMetadataKeynameEnum || (exports.CliDecoratorMetadataKeynameEnum = CliDecoratorMetadataKeynameEnum = {}));
14
+ //# sourceMappingURL=cli-decorator-metadata-keyname.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-decorator-metadata-keyname.enum.js","sourceRoot":"","sources":["../../../../src/enums/cli-decorator-metadata-keyname.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,+BAEX;AAFD,WAAY,+BAA+B;IACzC,6EAA0C,CAAA;AAC5C,CAAC,EAFW,+BAA+B,+CAA/B,+BAA+B,QAE1C"}
@@ -0,0 +1,19 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./cli-decorator-metadata-keyname.enum"), exports);
18
+ __exportStar(require("./terminal-key-name.enum"), exports);
19
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD;AACtD,2DAAyC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExitCodeEnum = void 0;
4
+ var ExitCodeEnum;
5
+ (function (ExitCodeEnum) {
6
+ ExitCodeEnum[ExitCodeEnum["Success"] = 0] = "Success";
7
+ ExitCodeEnum[ExitCodeEnum["Error"] = 1] = "Error";
8
+ })(ExitCodeEnum || (exports.ExitCodeEnum = ExitCodeEnum = {}));
9
+ //# sourceMappingURL=exit-code.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit-code.enum.js","sourceRoot":"","sources":["../../../../src/enums/exit-code.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,iDAAS,CAAA;AACX,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TerminalKeyName = void 0;
4
+ /**
5
+ * The kinds of keypress the CLI's interactive prompts understand. `TerminalKeyDecoder`
6
+ * maps the raw bytes Node delivers from a raw-mode stdin onto one of these; every printable
7
+ * keystroke collapses to `Character` (with the literal character carried separately on
8
+ * {@link TerminalKey}). `Other` covers control/escape sequences the prompts don't act on
9
+ * (function keys, unhandled arrows) so callers can ignore them instead of echoing garbage.
10
+ */
11
+ var TerminalKeyName;
12
+ (function (TerminalKeyName) {
13
+ TerminalKeyName["Up"] = "up";
14
+ TerminalKeyName["Down"] = "down";
15
+ TerminalKeyName["Enter"] = "enter";
16
+ TerminalKeyName["Backspace"] = "backspace";
17
+ TerminalKeyName["CtrlC"] = "ctrl-c";
18
+ TerminalKeyName["Character"] = "character";
19
+ TerminalKeyName["Other"] = "other";
20
+ })(TerminalKeyName || (exports.TerminalKeyName = TerminalKeyName = {}));
21
+ //# sourceMappingURL=terminal-key-name.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-key-name.enum.js","sourceRoot":"","sources":["../../../../src/enums/terminal-key-name.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,4BAAS,CAAA;IACT,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,0CAAuB,CAAA;IACvB,mCAAgB,CAAA;IAChB,0CAAuB,CAAA;IACvB,kCAAe,CAAA;AACjB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B"}
@@ -6,12 +6,22 @@ exports.CliErrorCode = void 0;
6
6
  * (typed `PristineErrorCode | string`, so any enum value is accepted).
7
7
  *
8
8
  * Codes here describe CLI-specific failures — command resolution, argument mapping,
9
- * and argument validation.
9
+ * argument validation, and command-parameter binding.
10
10
  */
11
11
  var CliErrorCode;
12
12
  (function (CliErrorCode) {
13
13
  CliErrorCode["CommandNotFound"] = "COMMAND_NOT_FOUND";
14
14
  CliErrorCode["ArgumentMappingFailed"] = "ARGUMENT_MAPPING_FAILED";
15
15
  CliErrorCode["ArgumentValidationFailed"] = "ARGUMENT_VALIDATION_FAILED";
16
+ /**
17
+ * Two `@commandParameter` properties on the same options class resolve to the same flag.
18
+ * A programming error in the command's options definition, not bad user input.
19
+ */
20
+ CliErrorCode["CommandParameterFlagConflict"] = "COMMAND_PARAMETER_FLAG_CONFLICT";
21
+ /**
22
+ * The user cancelled an interactive prompt with `Ctrl+C`. Carried by
23
+ * `PromptCancelledError` — a clean, user-initiated cancellation, not a failure.
24
+ */
25
+ CliErrorCode["PromptCancelled"] = "PROMPT_CANCELLED";
16
26
  })(CliErrorCode || (exports.CliErrorCode = CliErrorCode = {}));
17
27
  //# sourceMappingURL=cli-error-code.enum.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-error-code.enum.js","sourceRoot":"","sources":["../../../../src/errors/cli-error-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAA8C,CAAA;IAC9C,iEAAoD,CAAA;IACpD,uEAAuD,CAAA;AACzD,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
1
+ {"version":3,"file":"cli-error-code.enum.js","sourceRoot":"","sources":["../../../../src/errors/cli-error-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,qDAA8C,CAAA;IAC9C,iEAAoD,CAAA;IACpD,uEAAuD,CAAA;IAEvD;;;OAGG;IACH,gFAAgE,CAAA;IAEhE;;;OAGG;IACH,oDAAoC,CAAA;AACtC,CAAC,EAhBW,YAAY,4BAAZ,YAAY,QAgBvB"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cli-error-code.enum"), exports);
18
18
  __exportStar(require("./command-not-found.error"), exports);
19
+ __exportStar(require("./prompt-cancelled.error"), exports);
19
20
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,4DAA0C"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,4DAA0C;AAC1C,2DAAyC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PromptCancelledError = void 0;
4
+ const common_1 = require("@pristine-ts/common");
5
+ const cli_error_code_enum_1 = require("./cli-error-code.enum");
6
+ /**
7
+ * Thrown when the user cancels an interactive prompt with `Ctrl+C`. A clean, user-initiated
8
+ * cancellation — not a crash — so it carries `kind: UserError` (the `CliErrorReporter`
9
+ * renders the message verbatim instead of a stack dump) and exit code `130`, following the
10
+ * POSIX `128 + SIGINT(2)` convention so shell pipelines can detect the interrupt.
11
+ *
12
+ * Callers that treat cancellation as a normal branch (e.g. `BuildStalenessPrompt`) catch it
13
+ * via `instanceof`; everywhere else it propagates to the reporter for a tidy exit.
14
+ */
15
+ class PromptCancelledError extends common_1.PristineError {
16
+ constructor() {
17
+ super("Prompt cancelled.", {
18
+ code: cli_error_code_enum_1.CliErrorCode.PromptCancelled,
19
+ exitCode: 130,
20
+ kind: common_1.PristineErrorKind.UserError,
21
+ });
22
+ }
23
+ }
24
+ exports.PromptCancelledError = PromptCancelledError;
25
+ //# sourceMappingURL=prompt-cancelled.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-cancelled.error.js","sourceRoot":"","sources":["../../../../src/errors/prompt-cancelled.error.ts"],"names":[],"mappings":";;;AAAA,gDAAqE;AACrE,+DAAmD;AAEnD;;;;;;;;GAQG;AACH,MAAa,oBAAqB,SAAQ,sBAAa;IACrD;QACE,KAAK,CAAC,mBAAmB,EAAE;YACzB,IAAI,EAAE,kCAAY,CAAC,eAAe;YAClC,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,0BAAiB,CAAC,SAAS;SAClC,CAAC,CAAC;IACL,CAAC;CACF;AARD,oDAQC"}