@pristine-ts/cli 2.0.6 → 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 (342) 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-runner.js +1 -1
  13. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +12 -13
  14. package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
  15. package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
  16. package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
  17. package/dist/lib/cjs/cli.configuration-keys.js +24 -0
  18. package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
  19. package/dist/lib/cjs/cli.js +23 -10
  20. package/dist/lib/cjs/cli.js.map +1 -1
  21. package/dist/lib/cjs/cli.module.js +41 -8
  22. package/dist/lib/cjs/cli.module.js.map +1 -1
  23. package/dist/lib/cjs/commands/build.command.js +15 -14
  24. package/dist/lib/cjs/commands/build.command.js.map +1 -1
  25. package/dist/lib/cjs/commands/commands.js +6 -0
  26. package/dist/lib/cjs/commands/commands.js.map +1 -1
  27. package/dist/lib/cjs/commands/config-init.command.js +133 -0
  28. package/dist/lib/cjs/commands/config-init.command.js.map +1 -0
  29. package/dist/lib/cjs/commands/config-print.command.js +16 -11
  30. package/dist/lib/cjs/commands/config-print.command.js.map +1 -1
  31. package/dist/lib/cjs/commands/help.command.js +17 -17
  32. package/dist/lib/cjs/commands/help.command.js.map +1 -1
  33. package/dist/lib/cjs/commands/info.command.js +26 -21
  34. package/dist/lib/cjs/commands/info.command.js.map +1 -1
  35. package/dist/lib/cjs/commands/init.command.js +22 -21
  36. package/dist/lib/cjs/commands/init.command.js.map +1 -1
  37. package/dist/lib/cjs/commands/list.command.js +6 -6
  38. package/dist/lib/cjs/commands/list.command.js.map +1 -1
  39. package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
  40. package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
  41. package/dist/lib/cjs/commands/logs.command-options.js +72 -0
  42. package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
  43. package/dist/lib/cjs/commands/logs.command.js +102 -0
  44. package/dist/lib/cjs/commands/logs.command.js.map +1 -0
  45. package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
  46. package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
  47. package/dist/lib/cjs/commands/requests.command-options.js +26 -0
  48. package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
  49. package/dist/lib/cjs/commands/requests.command.js +88 -0
  50. package/dist/lib/cjs/commands/requests.command.js.map +1 -0
  51. package/dist/lib/cjs/commands/start.command.js +12 -13
  52. package/dist/lib/cjs/commands/start.command.js.map +1 -1
  53. package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
  54. package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
  55. package/dist/lib/cjs/commands/trace.command-options.js +59 -0
  56. package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
  57. package/dist/lib/cjs/commands/trace.command.js +84 -0
  58. package/dist/lib/cjs/commands/trace.command.js.map +1 -0
  59. package/dist/lib/cjs/config/config-loader.js +34 -13
  60. package/dist/lib/cjs/config/config-loader.js.map +1 -1
  61. package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
  62. package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
  63. package/dist/lib/cjs/decorators/decorators.js +18 -0
  64. package/dist/lib/cjs/decorators/decorators.js.map +1 -0
  65. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
  66. package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  67. package/dist/lib/cjs/enums/enums.js +19 -0
  68. package/dist/lib/cjs/enums/enums.js.map +1 -0
  69. package/dist/lib/cjs/enums/exit-code.enum.js +9 -0
  70. package/dist/lib/cjs/enums/exit-code.enum.js.map +1 -0
  71. package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
  72. package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
  73. package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
  74. package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
  75. package/dist/lib/cjs/errors/errors.js +1 -0
  76. package/dist/lib/cjs/errors/errors.js.map +1 -1
  77. package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
  78. package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
  79. package/dist/lib/cjs/event-handlers/cli.event-handler.js +28 -70
  80. package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
  81. package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
  82. package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
  83. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
  84. package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
  85. package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
  86. package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
  87. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
  88. package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
  89. package/dist/lib/cjs/interfaces/interfaces.js +1 -0
  90. package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
  91. package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
  92. package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
  93. package/dist/lib/cjs/managers/cli-output.manager.js +45 -0
  94. package/dist/lib/cjs/managers/cli-output.manager.js.map +1 -0
  95. package/dist/lib/cjs/managers/cli-progress-bar.manager.js +49 -0
  96. package/dist/lib/cjs/managers/cli-progress-bar.manager.js.map +1 -0
  97. package/dist/lib/cjs/managers/cli-prompt.manager.js +265 -0
  98. package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -0
  99. package/dist/lib/cjs/managers/cli-spinner.manager.js +93 -0
  100. package/dist/lib/cjs/managers/cli-spinner.manager.js.map +1 -0
  101. package/dist/lib/cjs/managers/managers.js +5 -1
  102. package/dist/lib/cjs/managers/managers.js.map +1 -1
  103. package/dist/lib/cjs/managers/repl-session.js +251 -0
  104. package/dist/lib/cjs/managers/repl-session.js.map +1 -0
  105. package/dist/lib/cjs/managers/shell.manager.js +25 -20
  106. package/dist/lib/cjs/managers/shell.manager.js.map +1 -1
  107. package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
  108. package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
  109. package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
  110. package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
  111. package/dist/lib/cjs/mappers/mappers.js +1 -0
  112. package/dist/lib/cjs/mappers/mappers.js.map +1 -1
  113. package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
  114. package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
  115. package/dist/lib/cjs/options/command-parameter.options.js +3 -0
  116. package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
  117. package/dist/lib/cjs/options/options.js +1 -0
  118. package/dist/lib/cjs/options/options.js.map +1 -1
  119. package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
  120. package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
  121. package/dist/lib/cjs/services/command-options-resolver.js +114 -0
  122. package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
  123. package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
  124. package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
  125. package/dist/lib/cjs/services/services.js +20 -0
  126. package/dist/lib/cjs/services/services.js.map +1 -0
  127. package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  128. package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
  129. package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
  130. package/dist/lib/cjs/types/types.js +1 -0
  131. package/dist/lib/cjs/types/types.js.map +1 -1
  132. package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
  133. package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
  134. package/dist/lib/cjs/utils/pristine-argv.js +87 -0
  135. package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
  136. package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
  137. package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
  138. package/dist/lib/esm/bootstrap/app-module-cache.js +65 -0
  139. package/dist/lib/esm/bootstrap/app-module-cache.js.map +1 -0
  140. package/dist/lib/esm/bootstrap/app-module-discoverer.js +113 -0
  141. package/dist/lib/esm/bootstrap/app-module-discoverer.js.map +1 -0
  142. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js +17 -0
  143. package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js.map +1 -0
  144. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js +12 -0
  145. package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
  146. package/dist/lib/esm/bootstrap/app-module-prompt.js +75 -0
  147. package/dist/lib/esm/bootstrap/app-module-prompt.js.map +1 -0
  148. package/dist/lib/esm/bootstrap/build-runner.js +1 -1
  149. package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
  150. package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
  151. package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
  152. package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
  153. package/dist/lib/esm/cli.configuration-keys.js +21 -0
  154. package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
  155. package/dist/lib/esm/cli.js +23 -10
  156. package/dist/lib/esm/cli.js.map +1 -1
  157. package/dist/lib/esm/cli.module.js +41 -8
  158. package/dist/lib/esm/cli.module.js.map +1 -1
  159. package/dist/lib/esm/commands/build.command.js +16 -15
  160. package/dist/lib/esm/commands/build.command.js.map +1 -1
  161. package/dist/lib/esm/commands/commands.js +6 -0
  162. package/dist/lib/esm/commands/commands.js.map +1 -1
  163. package/dist/lib/esm/commands/config-init.command.js +127 -0
  164. package/dist/lib/esm/commands/config-init.command.js.map +1 -0
  165. package/dist/lib/esm/commands/config-print.command.js +16 -11
  166. package/dist/lib/esm/commands/config-print.command.js.map +1 -1
  167. package/dist/lib/esm/commands/help.command.js +17 -17
  168. package/dist/lib/esm/commands/help.command.js.map +1 -1
  169. package/dist/lib/esm/commands/info.command.js +27 -22
  170. package/dist/lib/esm/commands/info.command.js.map +1 -1
  171. package/dist/lib/esm/commands/init.command.js +23 -22
  172. package/dist/lib/esm/commands/init.command.js.map +1 -1
  173. package/dist/lib/esm/commands/list.command.js +6 -6
  174. package/dist/lib/esm/commands/list.command.js.map +1 -1
  175. package/dist/lib/esm/commands/logs-alias.command.js +46 -0
  176. package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
  177. package/dist/lib/esm/commands/logs.command-options.js +68 -0
  178. package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
  179. package/dist/lib/esm/commands/logs.command.js +99 -0
  180. package/dist/lib/esm/commands/logs.command.js.map +1 -0
  181. package/dist/lib/esm/commands/requests-alias.command.js +46 -0
  182. package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
  183. package/dist/lib/esm/commands/requests.command-options.js +22 -0
  184. package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
  185. package/dist/lib/esm/commands/requests.command.js +85 -0
  186. package/dist/lib/esm/commands/requests.command.js.map +1 -0
  187. package/dist/lib/esm/commands/start.command.js +13 -14
  188. package/dist/lib/esm/commands/start.command.js.map +1 -1
  189. package/dist/lib/esm/commands/trace-alias.command.js +46 -0
  190. package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
  191. package/dist/lib/esm/commands/trace.command-options.js +55 -0
  192. package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
  193. package/dist/lib/esm/commands/trace.command.js +81 -0
  194. package/dist/lib/esm/commands/trace.command.js.map +1 -0
  195. package/dist/lib/esm/config/config-loader.js +34 -13
  196. package/dist/lib/esm/config/config-loader.js.map +1 -1
  197. package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
  198. package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
  199. package/dist/lib/esm/decorators/decorators.js +2 -0
  200. package/dist/lib/esm/decorators/decorators.js.map +1 -0
  201. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
  202. package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
  203. package/dist/lib/esm/enums/enums.js +3 -0
  204. package/dist/lib/esm/enums/enums.js.map +1 -0
  205. package/dist/lib/esm/enums/exit-code.enum.js +6 -0
  206. package/dist/lib/esm/enums/exit-code.enum.js.map +1 -0
  207. package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
  208. package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
  209. package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
  210. package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
  211. package/dist/lib/esm/errors/errors.js +1 -0
  212. package/dist/lib/esm/errors/errors.js.map +1 -1
  213. package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
  214. package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
  215. package/dist/lib/esm/event-handlers/cli.event-handler.js +29 -71
  216. package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
  217. package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
  218. package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
  219. package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
  220. package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
  221. package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
  222. package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
  223. package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
  224. package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
  225. package/dist/lib/esm/interfaces/interfaces.js +1 -0
  226. package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
  227. package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
  228. package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
  229. package/dist/lib/esm/managers/cli-output.manager.js +42 -0
  230. package/dist/lib/esm/managers/cli-output.manager.js.map +1 -0
  231. package/dist/lib/esm/managers/cli-progress-bar.manager.js +46 -0
  232. package/dist/lib/esm/managers/cli-progress-bar.manager.js.map +1 -0
  233. package/dist/lib/esm/managers/cli-prompt.manager.js +229 -0
  234. package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -0
  235. package/dist/lib/esm/managers/cli-spinner.manager.js +90 -0
  236. package/dist/lib/esm/managers/cli-spinner.manager.js.map +1 -0
  237. package/dist/lib/esm/managers/managers.js +5 -1
  238. package/dist/lib/esm/managers/managers.js.map +1 -1
  239. package/dist/lib/esm/managers/repl-session.js +215 -0
  240. package/dist/lib/esm/managers/repl-session.js.map +1 -0
  241. package/dist/lib/esm/managers/shell.manager.js +26 -21
  242. package/dist/lib/esm/managers/shell.manager.js.map +1 -1
  243. package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
  244. package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
  245. package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
  246. package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
  247. package/dist/lib/esm/mappers/mappers.js +1 -0
  248. package/dist/lib/esm/mappers/mappers.js.map +1 -1
  249. package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
  250. package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
  251. package/dist/lib/esm/options/command-parameter.options.js +2 -0
  252. package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
  253. package/dist/lib/esm/options/options.js +1 -0
  254. package/dist/lib/esm/options/options.js.map +1 -1
  255. package/dist/lib/esm/services/command-argument-resolver.js +59 -0
  256. package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
  257. package/dist/lib/esm/services/command-options-resolver.js +111 -0
  258. package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
  259. package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
  260. package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
  261. package/dist/lib/esm/services/services.js +4 -0
  262. package/dist/lib/esm/services/services.js.map +1 -0
  263. package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
  264. package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
  265. package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
  266. package/dist/lib/esm/types/types.js +1 -0
  267. package/dist/lib/esm/types/types.js.map +1 -1
  268. package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
  269. package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
  270. package/dist/lib/esm/utils/pristine-argv.js +50 -0
  271. package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
  272. package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
  273. package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
  274. package/dist/types/bootstrap/app-module-cache.d.ts +15 -0
  275. package/dist/types/bootstrap/app-module-discoverer.d.ts +30 -0
  276. package/dist/types/bootstrap/app-module-discovery-candidate.d.ts +18 -0
  277. package/dist/types/bootstrap/app-module-discovery-reason.enum.d.ts +10 -0
  278. package/dist/types/bootstrap/app-module-prompt.d.ts +20 -0
  279. package/dist/types/bootstrap/build-runner.d.ts +1 -1
  280. package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
  281. package/dist/types/bootstrap/init-prompt.d.ts +5 -5
  282. package/dist/types/cli.configuration-keys.d.ts +32 -0
  283. package/dist/types/cli.d.ts +8 -4
  284. package/dist/types/cli.module.d.ts +4 -0
  285. package/dist/types/commands/build.command.d.ts +3 -3
  286. package/dist/types/commands/commands.d.ts +6 -0
  287. package/dist/types/commands/config-init.command.d.ts +18 -0
  288. package/dist/types/commands/config-print.command.d.ts +8 -3
  289. package/dist/types/commands/help.command.d.ts +3 -3
  290. package/dist/types/commands/info.command.d.ts +5 -3
  291. package/dist/types/commands/init.command.d.ts +3 -3
  292. package/dist/types/commands/list.command.d.ts +3 -3
  293. package/dist/types/commands/logs-alias.command.d.ts +14 -0
  294. package/dist/types/commands/logs.command-options.d.ts +38 -0
  295. package/dist/types/commands/logs.command.d.ts +31 -0
  296. package/dist/types/commands/requests-alias.command.d.ts +14 -0
  297. package/dist/types/commands/requests.command-options.d.ts +8 -0
  298. package/dist/types/commands/requests.command.d.ts +25 -0
  299. package/dist/types/commands/start.command.d.ts +3 -3
  300. package/dist/types/commands/trace-alias.command.d.ts +14 -0
  301. package/dist/types/commands/trace.command-options.d.ts +31 -0
  302. package/dist/types/commands/trace.command.d.ts +21 -0
  303. package/dist/types/config/config-loader.d.ts +15 -3
  304. package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
  305. package/dist/types/decorators/decorators.d.ts +1 -0
  306. package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
  307. package/dist/types/enums/enums.d.ts +2 -0
  308. package/dist/types/enums/exit-code.enum.d.ts +4 -0
  309. package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
  310. package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
  311. package/dist/types/errors/errors.d.ts +1 -0
  312. package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
  313. package/dist/types/event-handlers/cli.event-handler.d.ts +16 -15
  314. package/dist/types/event-handlers/event-handlers.d.ts +1 -0
  315. package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
  316. package/dist/types/event-payloads/event-payloads.d.ts +1 -0
  317. package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
  318. package/dist/types/interfaces/interfaces.d.ts +1 -0
  319. package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
  320. package/dist/types/managers/cli-output.manager.d.ts +21 -0
  321. package/dist/types/managers/cli-progress-bar.manager.d.ts +17 -0
  322. package/dist/types/managers/cli-prompt.manager.d.ts +79 -0
  323. package/dist/types/managers/cli-spinner.manager.d.ts +34 -0
  324. package/dist/types/managers/managers.d.ts +5 -1
  325. package/dist/types/managers/repl-session.d.ts +62 -0
  326. package/dist/types/managers/shell.manager.d.ts +3 -3
  327. package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
  328. package/dist/types/mappers/command-event.mapper.d.ts +10 -1
  329. package/dist/types/mappers/mappers.d.ts +1 -0
  330. package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
  331. package/dist/types/options/command-parameter.options.d.ts +29 -0
  332. package/dist/types/options/options.d.ts +1 -0
  333. package/dist/types/services/command-argument-resolver.d.ts +24 -0
  334. package/dist/types/services/command-options-resolver.d.ts +35 -0
  335. package/dist/types/services/command-parameter-prompter.d.ts +113 -0
  336. package/dist/types/services/services.d.ts +3 -0
  337. package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
  338. package/dist/types/types/types.d.ts +1 -0
  339. package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
  340. package/dist/types/utils/pristine-argv.d.ts +33 -0
  341. package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
  342. package/package.json +16 -12
@@ -0,0 +1,308 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var CommandParameterPrompter_1;
23
+ import "reflect-metadata";
24
+ import { injectable } from "tsyringe";
25
+ import { injectConfig, moduleScoped, UsageError } from "@pristine-ts/common";
26
+ import { ClassMetadata, PropertyMetadata } from "@pristine-ts/metadata";
27
+ import { Validator } from "@pristine-ts/class-validator";
28
+ import { AutoDataMappingBuilderOptions, DataMapper } from "@pristine-ts/data-mapping";
29
+ import { CliModuleKeyname } from "../cli.module.keyname";
30
+ import { CliConfigurationKeys } from "../cli.configuration-keys";
31
+ import { CliPrompt } from "../managers/cli-prompt.manager";
32
+ import { CliOutput } from "../managers/cli-output.manager";
33
+ import { CliDecoratorMetadataKeynameEnum } from "../enums/cli-decorator-metadata-keyname.enum";
34
+ import { CliErrorCode } from "../errors/cli-error-code.enum";
35
+ import { BooleanAnswerParser } from "../utils/boolean-answer-parser";
36
+ /**
37
+ * Applies a command's `@commandParameter` metadata to its raw, parsed arguments before they
38
+ * are mapped onto the options instance and validated. Two things happen here:
39
+ *
40
+ * 1. **Flag binding** — a parameter whose `flag` differs from its property name is copied
41
+ * from the flag key onto the property key, so the by-property-name data mapper picks it
42
+ * up. Two parameters resolving to the same flag is a programming error and throws.
43
+ * 2. **Interactive fill** — a parameter that is absent and declares a `question` is asked
44
+ * for interactively. Answers are rendered and checked against the property's declared
45
+ * type (booleans as `(y/n)`, enum-constrained values list their choices) and coerced +
46
+ * validated through the same mapper/validator the command pipeline uses, re-asking on an
47
+ * invalid answer. Gated by the `InteractiveParameters` configuration and only run against
48
+ * an interactive terminal; otherwise the absent value is left for validation to report.
49
+ *
50
+ * Parameters without a `@commandParameter` decorator are untouched, so commands that don't
51
+ * use it pay nothing.
52
+ */
53
+ let CommandParameterPrompter = CommandParameterPrompter_1 = class CommandParameterPrompter {
54
+ constructor(cliPrompt, cliOutput, validator, dataMapper, interactiveParametersEnabled) {
55
+ this.cliPrompt = cliPrompt;
56
+ this.cliOutput = cliOutput;
57
+ this.validator = validator;
58
+ this.dataMapper = dataMapper;
59
+ this.interactiveParametersEnabled = interactiveParametersEnabled;
60
+ }
61
+ /**
62
+ * Returns a copy of `rawArgs` with aliased flags bound to their property and any missing,
63
+ * question-carrying parameters filled in interactively. The input object is never mutated
64
+ * — the original command event payload stays intact.
65
+ */
66
+ fillMissingParameters(optionsType, rawArgs) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const args = Object.assign({}, rawArgs);
69
+ const parameters = this.collectParameters(optionsType);
70
+ if (parameters.length === 0) {
71
+ return args;
72
+ }
73
+ for (const { propertyKey, flag, options } of parameters) {
74
+ // Bind an aliased flag (`--flag`) onto the property name so the data mapper, which maps
75
+ // by property name, resolves it. Only when the flag was actually passed.
76
+ if (flag !== propertyKey && args[flag] !== undefined) {
77
+ args[propertyKey] = args[flag];
78
+ }
79
+ const isPassed = args[propertyKey] !== undefined || args[flag] !== undefined;
80
+ if (isPassed || options.question === undefined) {
81
+ continue;
82
+ }
83
+ // Absent + a question to ask. Skip silently when prompting is turned off or there is no
84
+ // interactive terminal to ask on — the missing value then falls through to validation.
85
+ if (this.interactiveParametersEnabled !== true || this.isInputInteractive() === false) {
86
+ continue;
87
+ }
88
+ const value = yield this.promptForValue(optionsType, propertyKey, options);
89
+ if (value !== undefined) {
90
+ args[propertyKey] = value;
91
+ }
92
+ }
93
+ return args;
94
+ });
95
+ }
96
+ /**
97
+ * Reads every `@commandParameter` off `optionsType`, resolving each to its effective flag
98
+ * and detecting two parameters that would claim the same flag (a programming error).
99
+ * @private
100
+ */
101
+ collectParameters(optionsType) {
102
+ var _a;
103
+ const properties = ClassMetadata.getInformation(optionsType).properties;
104
+ const parameters = [];
105
+ const propertyByFlag = new Map();
106
+ for (const propertyKey of properties) {
107
+ const options = PropertyMetadata.getMetadata(optionsType.prototype, propertyKey, CliDecoratorMetadataKeynameEnum.CommandParameter);
108
+ if (options === undefined) {
109
+ continue;
110
+ }
111
+ const flag = (_a = options.flag) !== null && _a !== void 0 ? _a : propertyKey;
112
+ const existing = propertyByFlag.get(flag);
113
+ if (existing !== undefined) {
114
+ throw new UsageError(`Command parameters '${existing}' and '${propertyKey}' on '${optionsType.name}' both bind to the flag '--${flag}'. Give one of them a distinct 'flag'.`, {
115
+ code: CliErrorCode.CommandParameterFlagConflict,
116
+ details: { targetType: optionsType.name, flag, properties: [existing, propertyKey] },
117
+ });
118
+ }
119
+ propertyByFlag.set(flag, propertyKey);
120
+ parameters.push({ propertyKey, flag, options });
121
+ }
122
+ return parameters;
123
+ }
124
+ /**
125
+ * Asks for a single parameter's value, rendering and validating it according to the
126
+ * property's declared type:
127
+ *
128
+ * - sensitive values are read with the input masked and never trimmed;
129
+ * - booleans render as `(y/n)` and accept y/yes/true/1 & n/no/false/0;
130
+ * - enum-constrained values (`@IsIn` / `@IsEnum`) list their choices;
131
+ * - every other answer is coerced (via the data mapper) and validated (via the validator)
132
+ * exactly as a typed flag would be, re-asking with the real constraint message when it
133
+ * doesn't pass.
134
+ *
135
+ * Returns the coerced value, or `undefined` when the user enters nothing or the attempt
136
+ * budget is exhausted — in which case the absent value falls through to validation.
137
+ * @private
138
+ */
139
+ promptForValue(optionsType, propertyKey, options) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ var _a, _b;
142
+ const sensitive = options.sensitive === true;
143
+ const isBoolean = sensitive === false && Reflect.getMetadata("design:type", optionsType.prototype, propertyKey) === Boolean;
144
+ const choices = (sensitive || isBoolean) ? undefined : this.getChoices(optionsType, propertyKey);
145
+ const prompt = this.formatQuestion(this.decorateQuestion((_a = options.question) !== null && _a !== void 0 ? _a : "", isBoolean, choices));
146
+ for (let attempt = 0; attempt < CommandParameterPrompter_1.MaxAttempts; attempt++) {
147
+ // Secrets go through the masked reader and are never trimmed (a password may legitimately
148
+ // contain surrounding whitespace); ordinary answers are trimmed.
149
+ const raw = sensitive
150
+ ? yield this.cliPrompt.readSecret(prompt)
151
+ : (yield this.cliPrompt.readLine(prompt)).trim();
152
+ // Nothing entered → leave the value unset so validation reports it (and a required
153
+ // field surfaces the same way it would have without a prompt).
154
+ if (raw.length === 0) {
155
+ return undefined;
156
+ }
157
+ if (isBoolean) {
158
+ const parsed = BooleanAnswerParser.parse(raw);
159
+ if (parsed === undefined) {
160
+ this.cliOutput.writeLine("Please answer yes (y) or no (n).");
161
+ continue;
162
+ }
163
+ return parsed;
164
+ }
165
+ const outcome = yield this.coerceAndValidate(optionsType, propertyKey, raw);
166
+ if (outcome.valid) {
167
+ return outcome.value;
168
+ }
169
+ for (const message of (_b = outcome.messages) !== null && _b !== void 0 ? _b : []) {
170
+ this.cliOutput.writeLine(message);
171
+ }
172
+ }
173
+ this.cliOutput.writeLine(`No valid value provided after ${CommandParameterPrompter_1.MaxAttempts} attempts.`);
174
+ return undefined;
175
+ });
176
+ }
177
+ /**
178
+ * Maps a single raw answer onto a probe instance of `optionsType` and validates just that
179
+ * property, returning the coerced value when it passes or the constraint messages when it
180
+ * doesn't. Reuses the same mapper + validator the command pipeline uses, so coercion and
181
+ * constraints behave identically whether a value was typed as a flag or answered here.
182
+ * @private
183
+ */
184
+ coerceAndValidate(optionsType, propertyKey, raw) {
185
+ return __awaiter(this, void 0, void 0, function* () {
186
+ let probe;
187
+ try {
188
+ probe = yield this.dataMapper.autoMap({ [propertyKey]: raw }, optionsType, new AutoDataMappingBuilderOptions({ throwOnErrors: false }));
189
+ }
190
+ catch (_a) {
191
+ return { valid: false, messages: [`'${raw}' could not be interpreted — please try again.`] };
192
+ }
193
+ const validationErrors = yield this.validator.validate(probe);
194
+ const propertyErrors = validationErrors.filter((error) => error.property === propertyKey);
195
+ if (propertyErrors.length === 0) {
196
+ return { valid: true, value: probe[propertyKey] };
197
+ }
198
+ return { valid: false, messages: this.describeErrors(propertyErrors) };
199
+ });
200
+ }
201
+ /**
202
+ * Flattens `class-validator`'s per-property constraint objects into plain, user-facing
203
+ * lines. `@pristine-ts/class-validator` stores each constraint as `{keyname, message}`
204
+ * rather than a bare string, so prefer `.message`, falling back so we never print
205
+ * `[object Object]`.
206
+ * @private
207
+ */
208
+ describeErrors(errors) {
209
+ const messages = [];
210
+ for (const error of errors) {
211
+ for (const key in error.constraints) {
212
+ const constraint = error.constraints[key];
213
+ const message = typeof constraint === "string"
214
+ ? constraint
215
+ : (constraint && typeof constraint === "object" && typeof constraint.message === "string")
216
+ ? constraint.message
217
+ : JSON.stringify(constraint);
218
+ messages.push(message);
219
+ }
220
+ }
221
+ return messages.length > 0 ? messages : ["Invalid value — please try again."];
222
+ }
223
+ /**
224
+ * The allowed values declared by an `@IsIn([...])` or `@IsEnum(Enum)` on the property, for
225
+ * display in the prompt. Reads `@pristine-ts/class-validator`'s stored validator instances
226
+ * defensively — any shape mismatch just yields no menu (validation still rejects bad input
227
+ * and re-asks). Returns undefined when the property isn't enum-constrained.
228
+ * @private
229
+ */
230
+ getChoices(optionsType, propertyKey) {
231
+ const validators = PropertyMetadata.getMetadata(optionsType.prototype, propertyKey, CommandParameterPrompter_1.ClassValidatorMetadataKey);
232
+ if (Array.isArray(validators) === false) {
233
+ return undefined;
234
+ }
235
+ for (const validator of validators) {
236
+ if (validator === null || validator === undefined || typeof validator.getConstraints !== "function") {
237
+ continue;
238
+ }
239
+ let constraints;
240
+ try {
241
+ constraints = validator.getConstraints();
242
+ }
243
+ catch (_a) {
244
+ continue;
245
+ }
246
+ if (Array.isArray(constraints === null || constraints === void 0 ? void 0 : constraints.possibleValues)) {
247
+ return constraints.possibleValues.map((value) => String(value));
248
+ }
249
+ if ((constraints === null || constraints === void 0 ? void 0 : constraints.entity) !== null && typeof (constraints === null || constraints === void 0 ? void 0 : constraints.entity) === "object") {
250
+ return Object.keys(constraints.entity).map((key) => String(constraints.entity[key]));
251
+ }
252
+ }
253
+ return undefined;
254
+ }
255
+ /**
256
+ * Appends a type hint to the question: `(y/n)` for booleans, `(a/b/c)` for enum choices.
257
+ * @private
258
+ */
259
+ decorateQuestion(question, isBoolean, choices) {
260
+ if (isBoolean) {
261
+ return `${question} (y/n)`;
262
+ }
263
+ if (choices !== undefined && choices.length > 0) {
264
+ return `${question} (${choices.join("/")})`;
265
+ }
266
+ return question;
267
+ }
268
+ /**
269
+ * Whether stdin is an interactive terminal. Pulled out so the gate is easy to reason about
270
+ * (and to stub in tests) — there is no point asking a question when input is piped or runs
271
+ * under CI, where a read would either hang or return EOF.
272
+ * @private
273
+ */
274
+ isInputInteractive() {
275
+ return process.stdin.isTTY === true;
276
+ }
277
+ /**
278
+ * Ensures the rendered question ends with a trailing space so the typed answer doesn't butt
279
+ * up against the prompt text.
280
+ * @private
281
+ */
282
+ formatQuestion(question) {
283
+ return question.endsWith(" ") ? question : `${question} `;
284
+ }
285
+ };
286
+ /**
287
+ * `@pristine-ts/class-validator` stores its instantiated validators (one per `@IsX`
288
+ * decorator) as an array under this property-metadata key. We read it only to surface enum
289
+ * choices in the prompt; all actual validation goes through `Validator`.
290
+ */
291
+ CommandParameterPrompter.ClassValidatorMetadataKey = "pristine-validator:validator";
292
+ /**
293
+ * How many times a single value is re-asked before giving up and letting the missing /
294
+ * invalid value fall through to the normal validation error. A bound (rather than an
295
+ * unbounded loop) keeps a misconfigured validator that can never pass from hanging the CLI.
296
+ */
297
+ CommandParameterPrompter.MaxAttempts = 5;
298
+ CommandParameterPrompter = CommandParameterPrompter_1 = __decorate([
299
+ injectable(),
300
+ moduleScoped(CliModuleKeyname),
301
+ __param(4, injectConfig(CliConfigurationKeys.InteractiveParameters)),
302
+ __metadata("design:paramtypes", [CliPrompt,
303
+ CliOutput,
304
+ Validator,
305
+ DataMapper, Boolean])
306
+ ], CommandParameterPrompter);
307
+ export { CommandParameterPrompter };
308
+ //# sourceMappingURL=command-parameter-prompter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-parameter-prompter.js","sourceRoot":"","sources":["../../../../src/services/command-parameter-prompter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "./command-argument-resolver";
2
+ export * from "./command-options-resolver";
3
+ export * from "./command-parameter-prompter";
4
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../../src/services/services.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}