zod-args-parser 2.0.0-beta.0 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +230 -289
  3. package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js +74 -2
  4. package/lib/esm/autocomplete-scripts/bash-autocomplete-script.js.map +7 -1
  5. package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js +90 -2
  6. package/lib/esm/autocomplete-scripts/powershell-autocomplete-script.js.map +7 -1
  7. package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js +39 -13
  8. package/lib/esm/autocomplete-scripts/zsh-autocomplete-script.js.map +7 -1
  9. package/lib/esm/cli-error/cli-error.js +38 -0
  10. package/lib/esm/cli-error/cli-error.js.map +7 -0
  11. package/lib/esm/cli-error/error-cause.js +12 -0
  12. package/lib/esm/cli-error/error-cause.js.map +7 -0
  13. package/lib/esm/cli-error/error-code/definition-error-code.js +23 -0
  14. package/lib/esm/cli-error/error-code/definition-error-code.js.map +7 -0
  15. package/lib/esm/cli-error/error-code/internal-error-code.js +10 -0
  16. package/lib/esm/cli-error/error-code/internal-error-code.js.map +7 -0
  17. package/lib/esm/cli-error/error-code/parse-error-code.js +18 -0
  18. package/lib/esm/cli-error/error-code/parse-error-code.js.map +7 -0
  19. package/lib/esm/cli-error/error-code/validation-error-code.js +17 -0
  20. package/lib/esm/cli-error/error-code/validation-error-code.js.map +7 -0
  21. package/lib/esm/cli-error/error-message/definition-error-message.js +70 -0
  22. package/lib/esm/cli-error/error-message/definition-error-message.js.map +7 -0
  23. package/lib/esm/cli-error/error-message/internal-error-message.js +16 -0
  24. package/lib/esm/cli-error/error-message/internal-error-message.js.map +7 -0
  25. package/lib/esm/cli-error/error-message/parse-error-message.js +40 -0
  26. package/lib/esm/cli-error/error-message/parse-error-message.js.map +7 -0
  27. package/lib/esm/cli-error/error-message/validation-error-message.js +60 -0
  28. package/lib/esm/cli-error/error-message/validation-error-message.js.map +7 -0
  29. package/lib/esm/coerce/coerce-methods.js +197 -2
  30. package/lib/esm/coerce/coerce-methods.js.map +7 -1
  31. package/lib/esm/coerce/string-to-array.js +17 -2
  32. package/lib/esm/coerce/string-to-array.js.map +7 -1
  33. package/lib/esm/coerce/string-to-primitive.js +73 -2
  34. package/lib/esm/coerce/string-to-primitive.js.map +7 -1
  35. package/lib/esm/coerce/string-to-set.js +17 -2
  36. package/lib/esm/coerce/string-to-set.js.map +7 -1
  37. package/lib/esm/definitions/define-arguments.js +10 -2
  38. package/lib/esm/definitions/define-arguments.js.map +7 -1
  39. package/lib/esm/definitions/define-cli.js +89 -2
  40. package/lib/esm/definitions/define-cli.js.map +7 -1
  41. package/lib/esm/definitions/define-options.js +10 -2
  42. package/lib/esm/definitions/define-options.js.map +7 -1
  43. package/lib/esm/definitions/define-subcommand.js +56 -2
  44. package/lib/esm/definitions/define-subcommand.js.map +7 -1
  45. package/lib/esm/definitions/validate-cli-definition.js +360 -2
  46. package/lib/esm/definitions/validate-cli-definition.js.map +7 -1
  47. package/lib/esm/help-message/format-arguments.js +48 -2
  48. package/lib/esm/help-message/format-arguments.js.map +7 -1
  49. package/lib/esm/help-message/format-options.js +50 -2
  50. package/lib/esm/help-message/format-options.js.map +7 -1
  51. package/lib/esm/help-message/format-subcommands.js +37 -2
  52. package/lib/esm/help-message/format-subcommands.js.map +7 -1
  53. package/lib/esm/help-message/generate-for-cli.js +71 -2
  54. package/lib/esm/help-message/generate-for-cli.js.map +7 -1
  55. package/lib/esm/help-message/generate-for-subcommand.js +23 -2
  56. package/lib/esm/help-message/generate-for-subcommand.js.map +7 -1
  57. package/lib/esm/help-message/print-help.js +14 -2
  58. package/lib/esm/help-message/print-help.js.map +7 -1
  59. package/lib/esm/help-message/set-defaults.js +29 -2
  60. package/lib/esm/help-message/set-defaults.js.map +7 -1
  61. package/lib/esm/help-message/styles.js +154 -2
  62. package/lib/esm/help-message/styles.js.map +7 -1
  63. package/lib/esm/help-message/terminal-markdown.js +121 -2
  64. package/lib/esm/help-message/terminal-markdown.js.map +7 -1
  65. package/lib/esm/index.js +52 -2
  66. package/lib/esm/index.js.map +7 -1
  67. package/lib/esm/markdown/generate-markdown.js +153 -2
  68. package/lib/esm/markdown/generate-markdown.js.map +7 -1
  69. package/lib/esm/metadata/arguments-metadata.js +26 -2
  70. package/lib/esm/metadata/arguments-metadata.js.map +7 -1
  71. package/lib/esm/metadata/cli-metadata.js +24 -2
  72. package/lib/esm/metadata/cli-metadata.js.map +7 -1
  73. package/lib/esm/metadata/options-metadata.js +35 -2
  74. package/lib/esm/metadata/options-metadata.js.map +7 -1
  75. package/lib/esm/metadata/subcommands-metadata.js +32 -2
  76. package/lib/esm/metadata/subcommands-metadata.js.map +7 -1
  77. package/lib/esm/parse/context/cli-context-builder.js +283 -2
  78. package/lib/esm/parse/context/cli-context-builder.js.map +7 -1
  79. package/lib/esm/parse/context/object-context-builder.js +62 -2
  80. package/lib/esm/parse/context/object-context-builder.js.map +7 -1
  81. package/lib/esm/parse/parser-utilities.js +108 -2
  82. package/lib/esm/parse/parser-utilities.js.map +7 -1
  83. package/lib/esm/parse/safe-parse.js +57 -2
  84. package/lib/esm/parse/safe-parse.js.map +7 -1
  85. package/lib/esm/parse/validation/validate-context.js +17 -2
  86. package/lib/esm/parse/validation/validate-context.js.map +7 -1
  87. package/lib/esm/parse/validation/validators/arguments.js +67 -2
  88. package/lib/esm/parse/validation/validators/arguments.js.map +7 -1
  89. package/lib/esm/parse/validation/validators/conflict.js +38 -2
  90. package/lib/esm/parse/validation/validators/conflict.js.map +7 -1
  91. package/lib/esm/parse/validation/validators/exclusive.js +39 -2
  92. package/lib/esm/parse/validation/validators/exclusive.js.map +7 -1
  93. package/lib/esm/parse/validation/validators/explicitly-passed.js +18 -2
  94. package/lib/esm/parse/validation/validators/explicitly-passed.js.map +7 -1
  95. package/lib/esm/parse/validation/validators/options.js +67 -2
  96. package/lib/esm/parse/validation/validators/options.js.map +7 -1
  97. package/lib/esm/parse/validation/validators/requires.js +43 -2
  98. package/lib/esm/parse/validation/validators/requires.js.map +7 -1
  99. package/lib/esm/utilities/parse-argv.js +61 -0
  100. package/lib/esm/utilities/parse-argv.js.map +7 -0
  101. package/lib/esm/utilities/schema-utilities.js +57 -0
  102. package/lib/esm/utilities/schema-utilities.js.map +7 -0
  103. package/lib/esm/utilities/utilities.js +122 -0
  104. package/lib/esm/utilities/utilities.js.map +7 -0
  105. package/lib/iife/index.js +1 -1
  106. package/lib/iife/index.js.map +1 -1
  107. package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs +74 -2
  108. package/lib/mjs/autocomplete-scripts/bash-autocomplete-script.mjs.map +7 -1
  109. package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs +90 -2
  110. package/lib/mjs/autocomplete-scripts/powershell-autocomplete-script.mjs.map +7 -1
  111. package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs +39 -13
  112. package/lib/mjs/autocomplete-scripts/zsh-autocomplete-script.mjs.map +7 -1
  113. package/lib/mjs/cli-error/cli-error.mjs +38 -0
  114. package/lib/mjs/cli-error/cli-error.mjs.map +7 -0
  115. package/lib/mjs/cli-error/error-cause.mjs +12 -0
  116. package/lib/mjs/cli-error/error-cause.mjs.map +7 -0
  117. package/lib/mjs/cli-error/error-code/definition-error-code.mjs +23 -0
  118. package/lib/mjs/cli-error/error-code/definition-error-code.mjs.map +7 -0
  119. package/lib/mjs/cli-error/error-code/internal-error-code.mjs +10 -0
  120. package/lib/mjs/cli-error/error-code/internal-error-code.mjs.map +7 -0
  121. package/lib/mjs/cli-error/error-code/parse-error-code.mjs +18 -0
  122. package/lib/mjs/cli-error/error-code/parse-error-code.mjs.map +7 -0
  123. package/lib/mjs/cli-error/error-code/validation-error-code.mjs +17 -0
  124. package/lib/mjs/cli-error/error-code/validation-error-code.mjs.map +7 -0
  125. package/lib/mjs/cli-error/error-message/definition-error-message.mjs +70 -0
  126. package/lib/mjs/cli-error/error-message/definition-error-message.mjs.map +7 -0
  127. package/lib/mjs/cli-error/error-message/internal-error-message.mjs +16 -0
  128. package/lib/mjs/cli-error/error-message/internal-error-message.mjs.map +7 -0
  129. package/lib/mjs/cli-error/error-message/parse-error-message.mjs +40 -0
  130. package/lib/mjs/cli-error/error-message/parse-error-message.mjs.map +7 -0
  131. package/lib/mjs/cli-error/error-message/validation-error-message.mjs +60 -0
  132. package/lib/mjs/cli-error/error-message/validation-error-message.mjs.map +7 -0
  133. package/lib/mjs/coerce/coerce-methods.mjs +197 -2
  134. package/lib/mjs/coerce/coerce-methods.mjs.map +7 -1
  135. package/lib/mjs/coerce/string-to-array.mjs +17 -2
  136. package/lib/mjs/coerce/string-to-array.mjs.map +7 -1
  137. package/lib/mjs/coerce/string-to-primitive.mjs +73 -2
  138. package/lib/mjs/coerce/string-to-primitive.mjs.map +7 -1
  139. package/lib/mjs/coerce/string-to-set.mjs +17 -2
  140. package/lib/mjs/coerce/string-to-set.mjs.map +7 -1
  141. package/lib/mjs/definitions/define-arguments.mjs +10 -2
  142. package/lib/mjs/definitions/define-arguments.mjs.map +7 -1
  143. package/lib/mjs/definitions/define-cli.mjs +89 -2
  144. package/lib/mjs/definitions/define-cli.mjs.map +7 -1
  145. package/lib/mjs/definitions/define-options.mjs +10 -2
  146. package/lib/mjs/definitions/define-options.mjs.map +7 -1
  147. package/lib/mjs/definitions/define-subcommand.mjs +56 -2
  148. package/lib/mjs/definitions/define-subcommand.mjs.map +7 -1
  149. package/lib/mjs/definitions/validate-cli-definition.mjs +360 -2
  150. package/lib/mjs/definitions/validate-cli-definition.mjs.map +7 -1
  151. package/lib/mjs/help-message/format-arguments.mjs +48 -2
  152. package/lib/mjs/help-message/format-arguments.mjs.map +7 -1
  153. package/lib/mjs/help-message/format-options.mjs +50 -2
  154. package/lib/mjs/help-message/format-options.mjs.map +7 -1
  155. package/lib/mjs/help-message/format-subcommands.mjs +37 -2
  156. package/lib/mjs/help-message/format-subcommands.mjs.map +7 -1
  157. package/lib/mjs/help-message/generate-for-cli.mjs +71 -2
  158. package/lib/mjs/help-message/generate-for-cli.mjs.map +7 -1
  159. package/lib/mjs/help-message/generate-for-subcommand.mjs +23 -2
  160. package/lib/mjs/help-message/generate-for-subcommand.mjs.map +7 -1
  161. package/lib/mjs/help-message/print-help.mjs +14 -2
  162. package/lib/mjs/help-message/print-help.mjs.map +7 -1
  163. package/lib/mjs/help-message/set-defaults.mjs +29 -2
  164. package/lib/mjs/help-message/set-defaults.mjs.map +7 -1
  165. package/lib/mjs/help-message/styles.mjs +154 -2
  166. package/lib/mjs/help-message/styles.mjs.map +7 -1
  167. package/lib/mjs/help-message/terminal-markdown.mjs +121 -2
  168. package/lib/mjs/help-message/terminal-markdown.mjs.map +7 -1
  169. package/lib/mjs/index.mjs +52 -2
  170. package/lib/mjs/index.mjs.map +7 -1
  171. package/lib/mjs/markdown/generate-markdown.mjs +153 -2
  172. package/lib/mjs/markdown/generate-markdown.mjs.map +7 -1
  173. package/lib/mjs/metadata/arguments-metadata.mjs +26 -2
  174. package/lib/mjs/metadata/arguments-metadata.mjs.map +7 -1
  175. package/lib/mjs/metadata/cli-metadata.mjs +24 -2
  176. package/lib/mjs/metadata/cli-metadata.mjs.map +7 -1
  177. package/lib/mjs/metadata/options-metadata.mjs +35 -2
  178. package/lib/mjs/metadata/options-metadata.mjs.map +7 -1
  179. package/lib/mjs/metadata/subcommands-metadata.mjs +32 -2
  180. package/lib/mjs/metadata/subcommands-metadata.mjs.map +7 -1
  181. package/lib/mjs/parse/context/cli-context-builder.mjs +283 -2
  182. package/lib/mjs/parse/context/cli-context-builder.mjs.map +7 -1
  183. package/lib/mjs/parse/context/object-context-builder.mjs +62 -2
  184. package/lib/mjs/parse/context/object-context-builder.mjs.map +7 -1
  185. package/lib/mjs/parse/parser-utilities.mjs +108 -2
  186. package/lib/mjs/parse/parser-utilities.mjs.map +7 -1
  187. package/lib/mjs/parse/safe-parse.mjs +57 -2
  188. package/lib/mjs/parse/safe-parse.mjs.map +7 -1
  189. package/lib/mjs/parse/validation/validate-context.mjs +17 -2
  190. package/lib/mjs/parse/validation/validate-context.mjs.map +7 -1
  191. package/lib/mjs/parse/validation/validators/arguments.mjs +67 -2
  192. package/lib/mjs/parse/validation/validators/arguments.mjs.map +7 -1
  193. package/lib/mjs/parse/validation/validators/conflict.mjs +38 -2
  194. package/lib/mjs/parse/validation/validators/conflict.mjs.map +7 -1
  195. package/lib/mjs/parse/validation/validators/exclusive.mjs +39 -2
  196. package/lib/mjs/parse/validation/validators/exclusive.mjs.map +7 -1
  197. package/lib/mjs/parse/validation/validators/explicitly-passed.mjs +18 -2
  198. package/lib/mjs/parse/validation/validators/explicitly-passed.mjs.map +7 -1
  199. package/lib/mjs/parse/validation/validators/options.mjs +67 -2
  200. package/lib/mjs/parse/validation/validators/options.mjs.map +7 -1
  201. package/lib/mjs/parse/validation/validators/requires.mjs +43 -2
  202. package/lib/mjs/parse/validation/validators/requires.mjs.map +7 -1
  203. package/lib/mjs/utilities/parse-argv.mjs +61 -0
  204. package/lib/mjs/utilities/parse-argv.mjs.map +7 -0
  205. package/lib/mjs/utilities/schema-utilities.mjs +57 -0
  206. package/lib/mjs/utilities/schema-utilities.mjs.map +7 -0
  207. package/lib/mjs/utilities/utilities.mjs +122 -0
  208. package/lib/mjs/utilities/utilities.mjs.map +7 -0
  209. package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts.map +1 -1
  210. package/lib/types/autocomplete-scripts/powershell-autocomplete-script.d.ts +15 -0
  211. package/lib/{typescript → types}/autocomplete-scripts/powershell-autocomplete-script.d.ts.map +1 -1
  212. package/lib/types/autocomplete-scripts/zsh-autocomplete-script.d.ts +4 -0
  213. package/lib/{typescript → types}/autocomplete-scripts/zsh-autocomplete-script.d.ts.map +1 -1
  214. package/lib/types/cli-error/cli-error.d.ts +152 -0
  215. package/lib/types/cli-error/cli-error.d.ts.map +1 -0
  216. package/lib/types/cli-error/error-cause.d.ts +5 -0
  217. package/lib/types/cli-error/error-cause.d.ts.map +1 -0
  218. package/lib/types/cli-error/error-code/definition-error-code.d.ts +5 -0
  219. package/lib/types/cli-error/error-code/definition-error-code.d.ts.map +1 -0
  220. package/lib/types/cli-error/error-code/internal-error-code.d.ts +5 -0
  221. package/lib/types/cli-error/error-code/internal-error-code.d.ts.map +1 -0
  222. package/lib/types/cli-error/error-code/parse-error-code.d.ts +5 -0
  223. package/lib/types/cli-error/error-code/parse-error-code.d.ts.map +1 -0
  224. package/lib/types/cli-error/error-code/validation-error-code.d.ts +5 -0
  225. package/lib/types/cli-error/error-code/validation-error-code.d.ts.map +1 -0
  226. package/lib/types/cli-error/error-message/definition-error-message.d.ts +3 -0
  227. package/lib/types/cli-error/error-message/definition-error-message.d.ts.map +1 -0
  228. package/lib/types/cli-error/error-message/internal-error-message.d.ts +3 -0
  229. package/lib/types/cli-error/error-message/internal-error-message.d.ts.map +1 -0
  230. package/lib/types/cli-error/error-message/parse-error-message.d.ts +3 -0
  231. package/lib/types/cli-error/error-message/parse-error-message.d.ts.map +1 -0
  232. package/lib/types/cli-error/error-message/validation-error-message.d.ts +3 -0
  233. package/lib/types/cli-error/error-message/validation-error-message.d.ts.map +1 -0
  234. package/lib/types/coerce/coerce-methods.d.ts +122 -0
  235. package/lib/types/coerce/coerce-methods.d.ts.map +1 -0
  236. package/lib/{typescript → types}/coerce/string-to-array.d.ts +2 -2
  237. package/lib/types/coerce/string-to-array.d.ts.map +1 -0
  238. package/lib/types/coerce/string-to-primitive.d.ts +21 -0
  239. package/lib/types/coerce/string-to-primitive.d.ts.map +1 -0
  240. package/lib/{typescript → types}/coerce/string-to-set.d.ts +2 -2
  241. package/lib/{typescript → types}/coerce/string-to-set.d.ts.map +1 -1
  242. package/lib/{typescript → types}/definitions/define-cli.d.ts +2 -6
  243. package/lib/types/definitions/define-cli.d.ts.map +1 -0
  244. package/lib/{typescript → types}/definitions/define-subcommand.d.ts +2 -4
  245. package/lib/types/definitions/define-subcommand.d.ts.map +1 -0
  246. package/lib/{typescript → types}/definitions/validate-cli-definition.d.ts +1 -1
  247. package/lib/types/definitions/validate-cli-definition.d.ts.map +1 -0
  248. package/lib/{typescript → types}/help-message/terminal-markdown.d.ts.map +1 -1
  249. package/lib/{typescript → types}/index.d.ts +7 -0
  250. package/lib/{typescript → types}/index.d.ts.map +1 -1
  251. package/lib/{typescript → types}/metadata/arguments-metadata.d.ts.map +1 -1
  252. package/lib/{typescript → types}/metadata/options-metadata.d.ts.map +1 -1
  253. package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts +1 -1
  254. package/lib/{typescript → types}/parse/context/cli-context-builder.d.ts.map +1 -1
  255. package/lib/{typescript → types}/parse/context/object-context-builder.d.ts +1 -1
  256. package/lib/types/parse/context/object-context-builder.d.ts.map +1 -0
  257. package/lib/{typescript → types}/parse/parser-utilities.d.ts +9 -0
  258. package/lib/{typescript → types}/parse/parser-utilities.d.ts.map +1 -1
  259. package/lib/{typescript → types}/parse/safe-parse.d.ts.map +1 -1
  260. package/lib/{typescript → types}/parse/validation/validate-context.d.ts +1 -1
  261. package/lib/{typescript → types}/parse/validation/validate-context.d.ts.map +1 -1
  262. package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts +1 -1
  263. package/lib/{typescript → types}/parse/validation/validators/arguments.d.ts.map +1 -1
  264. package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts +3 -3
  265. package/lib/{typescript → types}/parse/validation/validators/conflict.d.ts.map +1 -1
  266. package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts +3 -3
  267. package/lib/{typescript → types}/parse/validation/validators/exclusive.d.ts.map +1 -1
  268. package/lib/{typescript → types}/parse/validation/validators/options.d.ts +1 -1
  269. package/lib/{typescript → types}/parse/validation/validators/options.d.ts.map +1 -1
  270. package/lib/{typescript → types}/parse/validation/validators/requires.d.ts +3 -3
  271. package/lib/{typescript → types}/parse/validation/validators/requires.d.ts.map +1 -1
  272. package/lib/{typescript → types}/types/definitions-types.d.ts +35 -4
  273. package/lib/types/types/definitions-types.d.ts.map +1 -0
  274. package/lib/types/types/error-types.d.ts +275 -0
  275. package/lib/types/types/error-types.d.ts.map +1 -0
  276. package/lib/{typescript → types}/types/io-types.d.ts +1 -1
  277. package/lib/types/types/types.d.ts +146 -0
  278. package/lib/types/types/types.d.ts.map +1 -0
  279. package/lib/{typescript → types}/types/utilities-types.d.ts +0 -2
  280. package/lib/{typescript → types}/types/utilities-types.d.ts.map +1 -1
  281. package/lib/types/utilities/parse-argv.d.ts +3 -0
  282. package/lib/types/utilities/parse-argv.d.ts.map +1 -0
  283. package/lib/types/utilities/schema-utilities.d.ts +15 -0
  284. package/lib/types/utilities/schema-utilities.d.ts.map +1 -0
  285. package/lib/{typescript → types/utilities}/utilities.d.ts +12 -15
  286. package/lib/types/utilities/utilities.d.ts.map +1 -0
  287. package/package.json +7 -7
  288. package/src/autocomplete-scripts/bash-autocomplete-script.ts +14 -12
  289. package/src/autocomplete-scripts/powershell-autocomplete-script.ts +67 -33
  290. package/src/autocomplete-scripts/zsh-autocomplete-script.ts +39 -31
  291. package/src/cli-error/cli-error.ts +44 -0
  292. package/src/cli-error/error-cause.ts +10 -0
  293. package/src/cli-error/error-code/definition-error-code.ts +21 -0
  294. package/src/cli-error/error-code/internal-error-code.ts +8 -0
  295. package/src/cli-error/error-code/parse-error-code.ts +16 -0
  296. package/src/cli-error/error-code/validation-error-code.ts +15 -0
  297. package/src/cli-error/error-message/definition-error-message.ts +144 -0
  298. package/src/cli-error/error-message/internal-error-message.ts +19 -0
  299. package/src/cli-error/error-message/parse-error-message.ts +76 -0
  300. package/src/cli-error/error-message/validation-error-message.ts +104 -0
  301. package/src/coerce/coerce-methods.ts +194 -39
  302. package/src/coerce/string-to-array.ts +2 -2
  303. package/src/coerce/string-to-primitive.ts +72 -13
  304. package/src/coerce/string-to-set.ts +2 -2
  305. package/src/definitions/define-arguments.ts +1 -1
  306. package/src/definitions/define-cli.ts +65 -30
  307. package/src/definitions/define-options.ts +1 -1
  308. package/src/definitions/define-subcommand.ts +47 -17
  309. package/src/definitions/validate-cli-definition.ts +287 -172
  310. package/src/help-message/format-arguments.ts +1 -1
  311. package/src/help-message/format-options.ts +1 -1
  312. package/src/help-message/format-subcommands.ts +1 -1
  313. package/src/help-message/generate-for-cli.ts +1 -1
  314. package/src/help-message/terminal-markdown.ts +3 -4
  315. package/src/index.ts +16 -0
  316. package/src/markdown/generate-markdown.ts +5 -4
  317. package/src/metadata/arguments-metadata.ts +2 -1
  318. package/src/metadata/options-metadata.ts +2 -1
  319. package/src/parse/context/cli-context-builder.ts +166 -39
  320. package/src/parse/context/object-context-builder.ts +37 -11
  321. package/src/parse/parser-utilities.ts +24 -10
  322. package/src/parse/safe-parse.ts +3 -6
  323. package/src/parse/validation/validate-context.ts +1 -1
  324. package/src/parse/validation/validators/arguments.ts +42 -14
  325. package/src/parse/validation/validators/conflict.ts +11 -20
  326. package/src/parse/validation/validators/exclusive.ts +16 -25
  327. package/src/parse/validation/validators/options.ts +40 -12
  328. package/src/parse/validation/validators/requires.ts +11 -20
  329. package/src/types/definitions-types.ts +36 -8
  330. package/src/types/error-types.ts +326 -0
  331. package/src/types/io-types.ts +1 -1
  332. package/src/types/types.ts +100 -7
  333. package/src/types/utilities-types.ts +0 -10
  334. package/src/utilities/parse-argv.ts +79 -0
  335. package/src/utilities/schema-utilities.ts +72 -0
  336. package/src/{utilities.ts → utilities/utilities.ts} +25 -138
  337. package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs +0 -2
  338. package/lib/cjs/autocomplete-scripts/bash-autocomplete-script.cjs.map +0 -1
  339. package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs +0 -2
  340. package/lib/cjs/autocomplete-scripts/powershell-autocomplete-script.cjs.map +0 -1
  341. package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs +0 -42
  342. package/lib/cjs/autocomplete-scripts/zsh-autocomplete-script.cjs.map +0 -1
  343. package/lib/cjs/coerce/coerce-methods.cjs +0 -2
  344. package/lib/cjs/coerce/coerce-methods.cjs.map +0 -1
  345. package/lib/cjs/coerce/string-to-array.cjs +0 -2
  346. package/lib/cjs/coerce/string-to-array.cjs.map +0 -1
  347. package/lib/cjs/coerce/string-to-primitive.cjs +0 -2
  348. package/lib/cjs/coerce/string-to-primitive.cjs.map +0 -1
  349. package/lib/cjs/coerce/string-to-set.cjs +0 -2
  350. package/lib/cjs/coerce/string-to-set.cjs.map +0 -1
  351. package/lib/cjs/definitions/define-arguments.cjs +0 -2
  352. package/lib/cjs/definitions/define-arguments.cjs.map +0 -1
  353. package/lib/cjs/definitions/define-cli.cjs +0 -2
  354. package/lib/cjs/definitions/define-cli.cjs.map +0 -1
  355. package/lib/cjs/definitions/define-options.cjs +0 -2
  356. package/lib/cjs/definitions/define-options.cjs.map +0 -1
  357. package/lib/cjs/definitions/define-subcommand.cjs +0 -2
  358. package/lib/cjs/definitions/define-subcommand.cjs.map +0 -1
  359. package/lib/cjs/definitions/validate-cli-definition.cjs +0 -2
  360. package/lib/cjs/definitions/validate-cli-definition.cjs.map +0 -1
  361. package/lib/cjs/help-message/format-arguments.cjs +0 -2
  362. package/lib/cjs/help-message/format-arguments.cjs.map +0 -1
  363. package/lib/cjs/help-message/format-options.cjs +0 -2
  364. package/lib/cjs/help-message/format-options.cjs.map +0 -1
  365. package/lib/cjs/help-message/format-subcommands.cjs +0 -2
  366. package/lib/cjs/help-message/format-subcommands.cjs.map +0 -1
  367. package/lib/cjs/help-message/generate-for-cli.cjs +0 -2
  368. package/lib/cjs/help-message/generate-for-cli.cjs.map +0 -1
  369. package/lib/cjs/help-message/generate-for-subcommand.cjs +0 -2
  370. package/lib/cjs/help-message/generate-for-subcommand.cjs.map +0 -1
  371. package/lib/cjs/help-message/print-help.cjs +0 -2
  372. package/lib/cjs/help-message/print-help.cjs.map +0 -1
  373. package/lib/cjs/help-message/set-defaults.cjs +0 -2
  374. package/lib/cjs/help-message/set-defaults.cjs.map +0 -1
  375. package/lib/cjs/help-message/styles.cjs +0 -2
  376. package/lib/cjs/help-message/styles.cjs.map +0 -1
  377. package/lib/cjs/help-message/terminal-markdown.cjs +0 -2
  378. package/lib/cjs/help-message/terminal-markdown.cjs.map +0 -1
  379. package/lib/cjs/index.cjs +0 -2
  380. package/lib/cjs/index.cjs.map +0 -1
  381. package/lib/cjs/markdown/generate-markdown.cjs +0 -2
  382. package/lib/cjs/markdown/generate-markdown.cjs.map +0 -1
  383. package/lib/cjs/metadata/arguments-metadata.cjs +0 -2
  384. package/lib/cjs/metadata/arguments-metadata.cjs.map +0 -1
  385. package/lib/cjs/metadata/cli-metadata.cjs +0 -2
  386. package/lib/cjs/metadata/cli-metadata.cjs.map +0 -1
  387. package/lib/cjs/metadata/options-metadata.cjs +0 -2
  388. package/lib/cjs/metadata/options-metadata.cjs.map +0 -1
  389. package/lib/cjs/metadata/subcommands-metadata.cjs +0 -2
  390. package/lib/cjs/metadata/subcommands-metadata.cjs.map +0 -1
  391. package/lib/cjs/parse/context/cli-context-builder.cjs +0 -2
  392. package/lib/cjs/parse/context/cli-context-builder.cjs.map +0 -1
  393. package/lib/cjs/parse/context/object-context-builder.cjs +0 -2
  394. package/lib/cjs/parse/context/object-context-builder.cjs.map +0 -1
  395. package/lib/cjs/parse/parser-utilities.cjs +0 -2
  396. package/lib/cjs/parse/parser-utilities.cjs.map +0 -1
  397. package/lib/cjs/parse/safe-parse.cjs +0 -2
  398. package/lib/cjs/parse/safe-parse.cjs.map +0 -1
  399. package/lib/cjs/parse/validation/validate-context.cjs +0 -2
  400. package/lib/cjs/parse/validation/validate-context.cjs.map +0 -1
  401. package/lib/cjs/parse/validation/validators/arguments.cjs +0 -2
  402. package/lib/cjs/parse/validation/validators/arguments.cjs.map +0 -1
  403. package/lib/cjs/parse/validation/validators/conflict.cjs +0 -2
  404. package/lib/cjs/parse/validation/validators/conflict.cjs.map +0 -1
  405. package/lib/cjs/parse/validation/validators/exclusive.cjs +0 -2
  406. package/lib/cjs/parse/validation/validators/exclusive.cjs.map +0 -1
  407. package/lib/cjs/parse/validation/validators/explicitly-passed.cjs +0 -2
  408. package/lib/cjs/parse/validation/validators/explicitly-passed.cjs.map +0 -1
  409. package/lib/cjs/parse/validation/validators/options.cjs +0 -2
  410. package/lib/cjs/parse/validation/validators/options.cjs.map +0 -1
  411. package/lib/cjs/parse/validation/validators/requires.cjs +0 -2
  412. package/lib/cjs/parse/validation/validators/requires.cjs.map +0 -1
  413. package/lib/cjs/utilities.cjs +0 -2
  414. package/lib/cjs/utilities.cjs.map +0 -1
  415. package/lib/esm/utilities.js +0 -2
  416. package/lib/esm/utilities.js.map +0 -1
  417. package/lib/mjs/utilities.mjs +0 -2
  418. package/lib/mjs/utilities.mjs.map +0 -1
  419. package/lib/typescript/autocomplete-scripts/powershell-autocomplete-script.d.ts +0 -14
  420. package/lib/typescript/autocomplete-scripts/zsh-autocomplete-script.d.ts +0 -11
  421. package/lib/typescript/coerce/coerce-methods.d.ts +0 -20
  422. package/lib/typescript/coerce/coerce-methods.d.ts.map +0 -1
  423. package/lib/typescript/coerce/string-to-array.d.ts.map +0 -1
  424. package/lib/typescript/coerce/string-to-primitive.d.ts +0 -5
  425. package/lib/typescript/coerce/string-to-primitive.d.ts.map +0 -1
  426. package/lib/typescript/definitions/define-cli.d.ts.map +0 -1
  427. package/lib/typescript/definitions/define-subcommand.d.ts.map +0 -1
  428. package/lib/typescript/definitions/validate-cli-definition.d.ts.map +0 -1
  429. package/lib/typescript/parse/context/object-context-builder.d.ts.map +0 -1
  430. package/lib/typescript/types/definitions-types.d.ts.map +0 -1
  431. package/lib/typescript/types/types.d.ts +0 -61
  432. package/lib/typescript/types/types.d.ts.map +0 -1
  433. package/lib/typescript/utilities.d.ts.map +0 -1
  434. /package/lib/{typescript → types}/autocomplete-scripts/bash-autocomplete-script.d.ts +0 -0
  435. /package/lib/{typescript → types}/definitions/define-arguments.d.ts +0 -0
  436. /package/lib/{typescript → types}/definitions/define-arguments.d.ts.map +0 -0
  437. /package/lib/{typescript → types}/definitions/define-options.d.ts +0 -0
  438. /package/lib/{typescript → types}/definitions/define-options.d.ts.map +0 -0
  439. /package/lib/{typescript → types}/help-message/format-arguments.d.ts +0 -0
  440. /package/lib/{typescript → types}/help-message/format-arguments.d.ts.map +0 -0
  441. /package/lib/{typescript → types}/help-message/format-options.d.ts +0 -0
  442. /package/lib/{typescript → types}/help-message/format-options.d.ts.map +0 -0
  443. /package/lib/{typescript → types}/help-message/format-subcommands.d.ts +0 -0
  444. /package/lib/{typescript → types}/help-message/format-subcommands.d.ts.map +0 -0
  445. /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts +0 -0
  446. /package/lib/{typescript → types}/help-message/generate-for-cli.d.ts.map +0 -0
  447. /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts +0 -0
  448. /package/lib/{typescript → types}/help-message/generate-for-subcommand.d.ts.map +0 -0
  449. /package/lib/{typescript → types}/help-message/print-help.d.ts +0 -0
  450. /package/lib/{typescript → types}/help-message/print-help.d.ts.map +0 -0
  451. /package/lib/{typescript → types}/help-message/set-defaults.d.ts +0 -0
  452. /package/lib/{typescript → types}/help-message/set-defaults.d.ts.map +0 -0
  453. /package/lib/{typescript → types}/help-message/styles.d.ts +0 -0
  454. /package/lib/{typescript → types}/help-message/styles.d.ts.map +0 -0
  455. /package/lib/{typescript → types}/help-message/terminal-markdown.d.ts +0 -0
  456. /package/lib/{typescript → types}/markdown/generate-markdown.d.ts +0 -0
  457. /package/lib/{typescript → types}/markdown/generate-markdown.d.ts.map +0 -0
  458. /package/lib/{typescript → types}/metadata/arguments-metadata.d.ts +0 -0
  459. /package/lib/{typescript → types}/metadata/cli-metadata.d.ts +0 -0
  460. /package/lib/{typescript → types}/metadata/cli-metadata.d.ts.map +0 -0
  461. /package/lib/{typescript → types}/metadata/options-metadata.d.ts +0 -0
  462. /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts +0 -0
  463. /package/lib/{typescript → types}/metadata/subcommands-metadata.d.ts.map +0 -0
  464. /package/lib/{typescript → types}/parse/safe-parse.d.ts +0 -0
  465. /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts +0 -0
  466. /package/lib/{typescript → types}/parse/validation/validators/explicitly-passed.d.ts.map +0 -0
  467. /package/lib/{typescript → types}/types/context-types.d.ts +0 -0
  468. /package/lib/{typescript → types}/types/context-types.d.ts.map +0 -0
  469. /package/lib/{typescript → types}/types/help-message-types.d.ts +0 -0
  470. /package/lib/{typescript → types}/types/help-message-types.d.ts.map +0 -0
  471. /package/lib/{typescript → types}/types/io-types.d.ts.map +0 -0
  472. /package/lib/{typescript → types}/types/metadata-types.d.ts +0 -0
  473. /package/lib/{typescript → types}/types/metadata-types.d.ts.map +0 -0
  474. /package/lib/{typescript → types}/types/schema-types.d.ts +0 -0
  475. /package/lib/{typescript → types}/types/schema-types.d.ts.map +0 -0
@@ -1,2 +1,154 @@
1
- var __defProp=Object.defineProperty,__defNormalProp=(e,l,c)=>l in e?__defProp(e,l,{enumerable:!0,configurable:!0,writable:!0,value:c}):e[l]=c,__publicField=(e,l,c)=>__defNormalProp(e,"symbol"!=typeof l?l+"":l,c);import c from"chalk";var _HelpMessageStyle=class e{constructor(l,c){__publicField(this,"title",e.noColor),__publicField(this,"description",e.noColor),__publicField(this,"default",e.noColor),__publicField(this,"optional",e.noColor),__publicField(this,"exampleTitle",e.noColor),__publicField(this,"example",e.noColor),__publicField(this,"command",e.noColor),__publicField(this,"option",e.noColor),__publicField(this,"argument",e.noColor),__publicField(this,"placeholder",e.noColor),__publicField(this,"punctuation",e.noColor),c&&Object.assign(this,c),Object.assign(this,l)}};__publicField(_HelpMessageStyle,"noColor",(...e)=>e.join(" "));var HelpMessageStyle=_HelpMessageStyle,helpMessageStyles=Object.freeze({default:new HelpMessageStyle({title:c.bold.blue,description:c.white,default:c.dim.italic,optional:c.dim.italic,exampleTitle:c.yellow,example:c.dim,command:c.yellow,option:c.cyan,argument:c.green,placeholder:c.hex("#FF9800"),punctuation:c.white.dim}),dracula:new HelpMessageStyle({title:c.bold.hex("#BD93F9"),description:c.hex("#F8F8F2"),default:c.italic.hex("#6272A4"),optional:c.italic.hex("#6272A4"),exampleTitle:c.hex("#FFB86C"),example:c.hex("#6272A4"),command:c.hex("#50FA7B"),option:c.hex("#8BE9FD"),argument:c.hex("#FF79C6"),placeholder:c.hex("#F1FA8C"),punctuation:c.hex("#6272A4")}),solarizedDark:new HelpMessageStyle({title:c.bold.hex("#268BD2"),description:c.hex("#93A1A1"),default:c.italic.hex("#586E75"),optional:c.italic.hex("#586E75"),exampleTitle:c.hex("#B58900"),example:c.hex("#586E75"),command:c.hex("#2AA198"),option:c.hex("#268BD2"),argument:c.hex("#859900"),placeholder:c.hex("#CB4B16"),punctuation:c.hex("#657B83")}),nord:new HelpMessageStyle({title:c.bold.hex("#81A1C1"),description:c.hex("#D8DEE9"),default:c.italic.hex("#4C566A"),optional:c.italic.hex("#4C566A"),exampleTitle:c.hex("#EBCB8B"),example:c.hex("#4C566A"),command:c.hex("#A3BE8C"),option:c.hex("#88C0D0"),argument:c.hex("#BF616A"),placeholder:c.hex("#D08770"),punctuation:c.hex("#4C566A")}),html:new HelpMessageStyle({title:(...e)=>`<span style="color: #89dceb; font-weight: bold;">${escapeHTML(e.join(" "))}</span>`,description:(...e)=>`<span style="color: #cdd6e8;">${escapeHTML(e.join(" "))}</span>`,default:(...e)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(e.join(" "))}</span>`,optional:(...e)=>`<span style="color: #6c7086; font-style: italic;">${escapeHTML(e.join(" "))}</span>`,exampleTitle:(...e)=>`<span style="color: #f9e2af;">${escapeHTML(e.join(" "))}</span>`,example:(...e)=>`<span style="color: #6c7086;">${escapeHTML(e.join(" "))}</span>`,command:(...e)=>`<span style="color: #f9e2af;">${escapeHTML(e.join(" "))}</span>`,option:(...e)=>`<span style="color: #17b85d;">${escapeHTML(e.join(" "))}</span>`,argument:(...e)=>`<span style="color: #00ff00;">${escapeHTML(e.join(" "))}</span>`,placeholder:(...e)=>`<span style="color: #db9518;">${escapeHTML(e.join(" "))}</span>`,punctuation:(...e)=>`<span style="color: #6c7086;">${escapeHTML(e.join(" "))}</span>`}),gruvboxDark:new HelpMessageStyle({title:c.bold.hex("#FABD2F"),description:c.hex("#EBDBB2"),default:c.italic.hex("#928374"),optional:c.italic.hex("#928374"),exampleTitle:c.hex("#FE8019"),example:c.hex("#928374"),command:c.hex("#B8BB26"),option:c.hex("#83A598"),argument:c.hex("#D3869B"),placeholder:c.hex("#FB4934"),punctuation:c.hex("#928374")}),monokai:new HelpMessageStyle({title:c.bold.hex("#AE81FF"),description:c.hex("#F8F8F2"),default:c.italic.hex("#75715E"),optional:c.italic.hex("#75715E"),exampleTitle:c.hex("#FD971F"),example:c.hex("#75715E"),command:c.hex("#A6E22E"),option:c.hex("#66D9EF"),argument:c.hex("#F92672"),placeholder:c.hex("#E6DB74"),punctuation:c.hex("#75715E")}),oneDark:new HelpMessageStyle({title:c.bold.hex("#61AFEF"),description:c.hex("#ABB2BF"),default:c.italic.hex("#5C6370"),optional:c.italic.hex("#5C6370"),exampleTitle:c.hex("#E5C07B"),example:c.hex("#5C6370"),command:c.hex("#98C379"),option:c.hex("#56B6C2"),argument:c.hex("#E06C75"),placeholder:c.hex("#C678DD"),punctuation:c.hex("#5C6370")}),catppuccin:new HelpMessageStyle({title:c.bold.hex("#89B4FA"),description:c.hex("#CDD6F4"),default:c.italic.hex("#6C7086"),optional:c.italic.hex("#6C7086"),exampleTitle:c.hex("#F9E2AF"),example:c.hex("#6C7086"),command:c.hex("#A6E3A1"),option:c.hex("#94E2D5"),argument:c.hex("#F38BA8"),placeholder:c.hex("#FAB387"),punctuation:c.hex("#585B70")}),noColors:new HelpMessageStyle({})});function escapeHTML(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}export{HelpMessageStyle,helpMessageStyles};
2
- //# sourceMappingURL=styles.js.map
1
+ // src/help-message/styles.ts
2
+ import c from "chalk";
3
+ var HelpMessageStyle = class _HelpMessageStyle {
4
+ static noColor = (...text) => text.join(" ");
5
+ title = _HelpMessageStyle.noColor;
6
+ description = _HelpMessageStyle.noColor;
7
+ default = _HelpMessageStyle.noColor;
8
+ optional = _HelpMessageStyle.noColor;
9
+ exampleTitle = _HelpMessageStyle.noColor;
10
+ example = _HelpMessageStyle.noColor;
11
+ command = _HelpMessageStyle.noColor;
12
+ option = _HelpMessageStyle.noColor;
13
+ argument = _HelpMessageStyle.noColor;
14
+ placeholder = _HelpMessageStyle.noColor;
15
+ punctuation = _HelpMessageStyle.noColor;
16
+ constructor(style, baseStyle) {
17
+ if (baseStyle) {
18
+ Object.assign(this, baseStyle);
19
+ }
20
+ Object.assign(this, style);
21
+ }
22
+ };
23
+ var helpMessageStyles = Object.freeze({
24
+ default: new HelpMessageStyle({
25
+ title: c.bold.blue,
26
+ description: c.white,
27
+ default: c.dim.italic,
28
+ optional: c.dim.italic,
29
+ exampleTitle: c.yellow,
30
+ example: c.dim,
31
+ command: c.yellow,
32
+ option: c.cyan,
33
+ argument: c.green,
34
+ placeholder: c.hex("#FF9800"),
35
+ punctuation: c.white.dim
36
+ }),
37
+ dracula: new HelpMessageStyle({
38
+ title: c.bold.hex("#BD93F9"),
39
+ description: c.hex("#F8F8F2"),
40
+ default: c.italic.hex("#6272A4"),
41
+ optional: c.italic.hex("#6272A4"),
42
+ exampleTitle: c.hex("#FFB86C"),
43
+ example: c.hex("#6272A4"),
44
+ command: c.hex("#50FA7B"),
45
+ option: c.hex("#8BE9FD"),
46
+ argument: c.hex("#FF79C6"),
47
+ placeholder: c.hex("#F1FA8C"),
48
+ punctuation: c.hex("#6272A4")
49
+ }),
50
+ solarizedDark: new HelpMessageStyle({
51
+ title: c.bold.hex("#268BD2"),
52
+ description: c.hex("#93A1A1"),
53
+ default: c.italic.hex("#586E75"),
54
+ optional: c.italic.hex("#586E75"),
55
+ exampleTitle: c.hex("#B58900"),
56
+ example: c.hex("#586E75"),
57
+ command: c.hex("#2AA198"),
58
+ option: c.hex("#268BD2"),
59
+ argument: c.hex("#859900"),
60
+ placeholder: c.hex("#CB4B16"),
61
+ punctuation: c.hex("#657B83")
62
+ }),
63
+ nord: new HelpMessageStyle({
64
+ title: c.bold.hex("#81A1C1"),
65
+ description: c.hex("#D8DEE9"),
66
+ default: c.italic.hex("#4C566A"),
67
+ optional: c.italic.hex("#4C566A"),
68
+ exampleTitle: c.hex("#EBCB8B"),
69
+ example: c.hex("#4C566A"),
70
+ command: c.hex("#A3BE8C"),
71
+ option: c.hex("#88C0D0"),
72
+ argument: c.hex("#BF616A"),
73
+ placeholder: c.hex("#D08770"),
74
+ punctuation: c.hex("#4C566A")
75
+ }),
76
+ /**
77
+ * - Wrap the output in a <pre> element to preserve whitespace.
78
+ * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.
79
+ */
80
+ html: new HelpMessageStyle({
81
+ title: (...string) => `<span style="color: #89dceb; font-weight: bold;">${escapeHTML(string.join(" "))}</span>`,
82
+ description: (...string) => `<span style="color: #cdd6e8;">${escapeHTML(string.join(" "))}</span>`,
83
+ default: (...string) => `<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,
84
+ optional: (...string) => `<span style="color: #6c7086; font-style: italic;">${escapeHTML(string.join(" "))}</span>`,
85
+ exampleTitle: (...string) => `<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,
86
+ example: (...string) => `<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`,
87
+ command: (...string) => `<span style="color: #f9e2af;">${escapeHTML(string.join(" "))}</span>`,
88
+ option: (...string) => `<span style="color: #17b85d;">${escapeHTML(string.join(" "))}</span>`,
89
+ argument: (...string) => `<span style="color: #00ff00;">${escapeHTML(string.join(" "))}</span>`,
90
+ placeholder: (...string) => `<span style="color: #db9518;">${escapeHTML(string.join(" "))}</span>`,
91
+ punctuation: (...string) => `<span style="color: #6c7086;">${escapeHTML(string.join(" "))}</span>`
92
+ }),
93
+ gruvboxDark: new HelpMessageStyle({
94
+ title: c.bold.hex("#FABD2F"),
95
+ description: c.hex("#EBDBB2"),
96
+ default: c.italic.hex("#928374"),
97
+ optional: c.italic.hex("#928374"),
98
+ exampleTitle: c.hex("#FE8019"),
99
+ example: c.hex("#928374"),
100
+ command: c.hex("#B8BB26"),
101
+ option: c.hex("#83A598"),
102
+ argument: c.hex("#D3869B"),
103
+ placeholder: c.hex("#FB4934"),
104
+ punctuation: c.hex("#928374")
105
+ }),
106
+ monokai: new HelpMessageStyle({
107
+ title: c.bold.hex("#AE81FF"),
108
+ description: c.hex("#F8F8F2"),
109
+ default: c.italic.hex("#75715E"),
110
+ optional: c.italic.hex("#75715E"),
111
+ exampleTitle: c.hex("#FD971F"),
112
+ example: c.hex("#75715E"),
113
+ command: c.hex("#A6E22E"),
114
+ option: c.hex("#66D9EF"),
115
+ argument: c.hex("#F92672"),
116
+ placeholder: c.hex("#E6DB74"),
117
+ punctuation: c.hex("#75715E")
118
+ }),
119
+ oneDark: new HelpMessageStyle({
120
+ title: c.bold.hex("#61AFEF"),
121
+ description: c.hex("#ABB2BF"),
122
+ default: c.italic.hex("#5C6370"),
123
+ optional: c.italic.hex("#5C6370"),
124
+ exampleTitle: c.hex("#E5C07B"),
125
+ example: c.hex("#5C6370"),
126
+ command: c.hex("#98C379"),
127
+ option: c.hex("#56B6C2"),
128
+ argument: c.hex("#E06C75"),
129
+ placeholder: c.hex("#C678DD"),
130
+ punctuation: c.hex("#5C6370")
131
+ }),
132
+ catppuccin: new HelpMessageStyle({
133
+ title: c.bold.hex("#89B4FA"),
134
+ description: c.hex("#CDD6F4"),
135
+ default: c.italic.hex("#6C7086"),
136
+ optional: c.italic.hex("#6C7086"),
137
+ exampleTitle: c.hex("#F9E2AF"),
138
+ example: c.hex("#6C7086"),
139
+ command: c.hex("#A6E3A1"),
140
+ option: c.hex("#94E2D5"),
141
+ argument: c.hex("#F38BA8"),
142
+ placeholder: c.hex("#FAB387"),
143
+ punctuation: c.hex("#585B70")
144
+ }),
145
+ noColors: new HelpMessageStyle({})
146
+ });
147
+ function escapeHTML(string) {
148
+ return string.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
149
+ }
150
+ export {
151
+ HelpMessageStyle,
152
+ helpMessageStyles
153
+ };
154
+ //# sourceMappingURL=styles.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["c","_HelpMessageStyle","constructor","style","baseStyle","__publicField","this","noColor","Object","assign","text","join","HelpMessageStyle","helpMessageStyles","freeze","default","title","bold","blue","description","white","dim","italic","optional","exampleTitle","yellow","example","command","option","cyan","argument","green","placeholder","hex","punctuation","dracula","solarizedDark","nord","html","string","escapeHTML","gruvboxDark","monokai","oneDark","catppuccin","noColors","replace"],"sources":["../../../src/help-message/styles.ts"],"sourcesContent":["import c from \"chalk\";\n\nimport type { HelpMessageStyleImpl } from \"../types/help-message-types.ts\";\n\nexport class HelpMessageStyle implements HelpMessageStyleImpl {\n static noColor = (...text: unknown[]) => text.join(\" \");\n\n title = HelpMessageStyle.noColor;\n description = HelpMessageStyle.noColor;\n default = HelpMessageStyle.noColor;\n optional = HelpMessageStyle.noColor;\n exampleTitle = HelpMessageStyle.noColor;\n example = HelpMessageStyle.noColor;\n command = HelpMessageStyle.noColor;\n option = HelpMessageStyle.noColor;\n argument = HelpMessageStyle.noColor;\n placeholder = HelpMessageStyle.noColor;\n punctuation = HelpMessageStyle.noColor;\n\n constructor(style: Partial<HelpMessageStyleImpl>, baseStyle?: HelpMessageStyleImpl) {\n if (baseStyle) {\n Object.assign(this, baseStyle);\n }\n\n Object.assign(this, style);\n }\n}\n\nexport const helpMessageStyles = Object.freeze({\n default: new HelpMessageStyle({\n title: c.bold.blue,\n description: c.white,\n default: c.dim.italic,\n optional: c.dim.italic,\n exampleTitle: c.yellow,\n example: c.dim,\n command: c.yellow,\n option: c.cyan,\n argument: c.green,\n placeholder: c.hex(\"#FF9800\"),\n punctuation: c.white.dim,\n }),\n\n dracula: new HelpMessageStyle({\n title: c.bold.hex(\"#BD93F9\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#6272A4\"),\n optional: c.italic.hex(\"#6272A4\"),\n exampleTitle: c.hex(\"#FFB86C\"),\n example: c.hex(\"#6272A4\"),\n command: c.hex(\"#50FA7B\"),\n option: c.hex(\"#8BE9FD\"),\n argument: c.hex(\"#FF79C6\"),\n placeholder: c.hex(\"#F1FA8C\"),\n punctuation: c.hex(\"#6272A4\"),\n }),\n\n solarizedDark: new HelpMessageStyle({\n title: c.bold.hex(\"#268BD2\"),\n description: c.hex(\"#93A1A1\"),\n default: c.italic.hex(\"#586E75\"),\n optional: c.italic.hex(\"#586E75\"),\n exampleTitle: c.hex(\"#B58900\"),\n example: c.hex(\"#586E75\"),\n command: c.hex(\"#2AA198\"),\n option: c.hex(\"#268BD2\"),\n argument: c.hex(\"#859900\"),\n placeholder: c.hex(\"#CB4B16\"),\n punctuation: c.hex(\"#657B83\"),\n }),\n\n nord: new HelpMessageStyle({\n title: c.bold.hex(\"#81A1C1\"),\n description: c.hex(\"#D8DEE9\"),\n default: c.italic.hex(\"#4C566A\"),\n optional: c.italic.hex(\"#4C566A\"),\n exampleTitle: c.hex(\"#EBCB8B\"),\n example: c.hex(\"#4C566A\"),\n command: c.hex(\"#A3BE8C\"),\n option: c.hex(\"#88C0D0\"),\n argument: c.hex(\"#BF616A\"),\n placeholder: c.hex(\"#D08770\"),\n punctuation: c.hex(\"#4C566A\"),\n }),\n\n /**\n * - Wrap the output in a <pre> element to preserve whitespace.\n * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.\n */\n html: new HelpMessageStyle({\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n }),\n\n gruvboxDark: new HelpMessageStyle({\n title: c.bold.hex(\"#FABD2F\"),\n description: c.hex(\"#EBDBB2\"),\n default: c.italic.hex(\"#928374\"),\n optional: c.italic.hex(\"#928374\"),\n exampleTitle: c.hex(\"#FE8019\"),\n example: c.hex(\"#928374\"),\n command: c.hex(\"#B8BB26\"),\n option: c.hex(\"#83A598\"),\n argument: c.hex(\"#D3869B\"),\n placeholder: c.hex(\"#FB4934\"),\n punctuation: c.hex(\"#928374\"),\n }),\n\n monokai: new HelpMessageStyle({\n title: c.bold.hex(\"#AE81FF\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#75715E\"),\n optional: c.italic.hex(\"#75715E\"),\n exampleTitle: c.hex(\"#FD971F\"),\n example: c.hex(\"#75715E\"),\n command: c.hex(\"#A6E22E\"),\n option: c.hex(\"#66D9EF\"),\n argument: c.hex(\"#F92672\"),\n placeholder: c.hex(\"#E6DB74\"),\n punctuation: c.hex(\"#75715E\"),\n }),\n\n oneDark: new HelpMessageStyle({\n title: c.bold.hex(\"#61AFEF\"),\n description: c.hex(\"#ABB2BF\"),\n default: c.italic.hex(\"#5C6370\"),\n optional: c.italic.hex(\"#5C6370\"),\n exampleTitle: c.hex(\"#E5C07B\"),\n example: c.hex(\"#5C6370\"),\n command: c.hex(\"#98C379\"),\n option: c.hex(\"#56B6C2\"),\n argument: c.hex(\"#E06C75\"),\n placeholder: c.hex(\"#C678DD\"),\n punctuation: c.hex(\"#5C6370\"),\n }),\n\n catppuccin: new HelpMessageStyle({\n title: c.bold.hex(\"#89B4FA\"),\n description: c.hex(\"#CDD6F4\"),\n default: c.italic.hex(\"#6C7086\"),\n optional: c.italic.hex(\"#6C7086\"),\n exampleTitle: c.hex(\"#F9E2AF\"),\n example: c.hex(\"#6C7086\"),\n command: c.hex(\"#A6E3A1\"),\n option: c.hex(\"#94E2D5\"),\n argument: c.hex(\"#F38BA8\"),\n placeholder: c.hex(\"#FAB387\"),\n punctuation: c.hex(\"#585B70\"),\n }),\n\n noColors: new HelpMessageStyle({}),\n});\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/help-message/styles.ts"],
4
+ "sourcesContent": ["import c from \"chalk\";\n\nimport type { HelpMessageStyleImpl } from \"../types/help-message-types.ts\";\n\nexport class HelpMessageStyle implements HelpMessageStyleImpl {\n static noColor = (...text: unknown[]) => text.join(\" \");\n\n title = HelpMessageStyle.noColor;\n description = HelpMessageStyle.noColor;\n default = HelpMessageStyle.noColor;\n optional = HelpMessageStyle.noColor;\n exampleTitle = HelpMessageStyle.noColor;\n example = HelpMessageStyle.noColor;\n command = HelpMessageStyle.noColor;\n option = HelpMessageStyle.noColor;\n argument = HelpMessageStyle.noColor;\n placeholder = HelpMessageStyle.noColor;\n punctuation = HelpMessageStyle.noColor;\n\n constructor(style: Partial<HelpMessageStyleImpl>, baseStyle?: HelpMessageStyleImpl) {\n if (baseStyle) {\n Object.assign(this, baseStyle);\n }\n\n Object.assign(this, style);\n }\n}\n\nexport const helpMessageStyles = Object.freeze({\n default: new HelpMessageStyle({\n title: c.bold.blue,\n description: c.white,\n default: c.dim.italic,\n optional: c.dim.italic,\n exampleTitle: c.yellow,\n example: c.dim,\n command: c.yellow,\n option: c.cyan,\n argument: c.green,\n placeholder: c.hex(\"#FF9800\"),\n punctuation: c.white.dim,\n }),\n\n dracula: new HelpMessageStyle({\n title: c.bold.hex(\"#BD93F9\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#6272A4\"),\n optional: c.italic.hex(\"#6272A4\"),\n exampleTitle: c.hex(\"#FFB86C\"),\n example: c.hex(\"#6272A4\"),\n command: c.hex(\"#50FA7B\"),\n option: c.hex(\"#8BE9FD\"),\n argument: c.hex(\"#FF79C6\"),\n placeholder: c.hex(\"#F1FA8C\"),\n punctuation: c.hex(\"#6272A4\"),\n }),\n\n solarizedDark: new HelpMessageStyle({\n title: c.bold.hex(\"#268BD2\"),\n description: c.hex(\"#93A1A1\"),\n default: c.italic.hex(\"#586E75\"),\n optional: c.italic.hex(\"#586E75\"),\n exampleTitle: c.hex(\"#B58900\"),\n example: c.hex(\"#586E75\"),\n command: c.hex(\"#2AA198\"),\n option: c.hex(\"#268BD2\"),\n argument: c.hex(\"#859900\"),\n placeholder: c.hex(\"#CB4B16\"),\n punctuation: c.hex(\"#657B83\"),\n }),\n\n nord: new HelpMessageStyle({\n title: c.bold.hex(\"#81A1C1\"),\n description: c.hex(\"#D8DEE9\"),\n default: c.italic.hex(\"#4C566A\"),\n optional: c.italic.hex(\"#4C566A\"),\n exampleTitle: c.hex(\"#EBCB8B\"),\n example: c.hex(\"#4C566A\"),\n command: c.hex(\"#A3BE8C\"),\n option: c.hex(\"#88C0D0\"),\n argument: c.hex(\"#BF616A\"),\n placeholder: c.hex(\"#D08770\"),\n punctuation: c.hex(\"#4C566A\"),\n }),\n\n /**\n * - Wrap the output in a <pre> element to preserve whitespace.\n * - If using `descriptionMarkdown`, set `markdownRenderer` to `html` instead of `terminal`.\n */\n html: new HelpMessageStyle({\n title: (...string) => `<span style=\"color: #89dceb; font-weight: bold;\">${escapeHTML(string.join(\" \"))}</span>`,\n description: (...string) => `<span style=\"color: #cdd6e8;\">${escapeHTML(string.join(\" \"))}</span>`,\n default: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n optional: (...string) => `<span style=\"color: #6c7086; font-style: italic;\">${escapeHTML(string.join(\" \"))}</span>`,\n exampleTitle: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n example: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n command: (...string) => `<span style=\"color: #f9e2af;\">${escapeHTML(string.join(\" \"))}</span>`,\n option: (...string) => `<span style=\"color: #17b85d;\">${escapeHTML(string.join(\" \"))}</span>`,\n argument: (...string) => `<span style=\"color: #00ff00;\">${escapeHTML(string.join(\" \"))}</span>`,\n placeholder: (...string) => `<span style=\"color: #db9518;\">${escapeHTML(string.join(\" \"))}</span>`,\n punctuation: (...string) => `<span style=\"color: #6c7086;\">${escapeHTML(string.join(\" \"))}</span>`,\n }),\n\n gruvboxDark: new HelpMessageStyle({\n title: c.bold.hex(\"#FABD2F\"),\n description: c.hex(\"#EBDBB2\"),\n default: c.italic.hex(\"#928374\"),\n optional: c.italic.hex(\"#928374\"),\n exampleTitle: c.hex(\"#FE8019\"),\n example: c.hex(\"#928374\"),\n command: c.hex(\"#B8BB26\"),\n option: c.hex(\"#83A598\"),\n argument: c.hex(\"#D3869B\"),\n placeholder: c.hex(\"#FB4934\"),\n punctuation: c.hex(\"#928374\"),\n }),\n\n monokai: new HelpMessageStyle({\n title: c.bold.hex(\"#AE81FF\"),\n description: c.hex(\"#F8F8F2\"),\n default: c.italic.hex(\"#75715E\"),\n optional: c.italic.hex(\"#75715E\"),\n exampleTitle: c.hex(\"#FD971F\"),\n example: c.hex(\"#75715E\"),\n command: c.hex(\"#A6E22E\"),\n option: c.hex(\"#66D9EF\"),\n argument: c.hex(\"#F92672\"),\n placeholder: c.hex(\"#E6DB74\"),\n punctuation: c.hex(\"#75715E\"),\n }),\n\n oneDark: new HelpMessageStyle({\n title: c.bold.hex(\"#61AFEF\"),\n description: c.hex(\"#ABB2BF\"),\n default: c.italic.hex(\"#5C6370\"),\n optional: c.italic.hex(\"#5C6370\"),\n exampleTitle: c.hex(\"#E5C07B\"),\n example: c.hex(\"#5C6370\"),\n command: c.hex(\"#98C379\"),\n option: c.hex(\"#56B6C2\"),\n argument: c.hex(\"#E06C75\"),\n placeholder: c.hex(\"#C678DD\"),\n punctuation: c.hex(\"#5C6370\"),\n }),\n\n catppuccin: new HelpMessageStyle({\n title: c.bold.hex(\"#89B4FA\"),\n description: c.hex(\"#CDD6F4\"),\n default: c.italic.hex(\"#6C7086\"),\n optional: c.italic.hex(\"#6C7086\"),\n exampleTitle: c.hex(\"#F9E2AF\"),\n example: c.hex(\"#6C7086\"),\n command: c.hex(\"#A6E3A1\"),\n option: c.hex(\"#94E2D5\"),\n argument: c.hex(\"#F38BA8\"),\n placeholder: c.hex(\"#FAB387\"),\n punctuation: c.hex(\"#585B70\"),\n }),\n\n noColors: new HelpMessageStyle({}),\n});\n\nfunction escapeHTML(string: string) {\n return string.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,2 +1,121 @@
1
- import c from"chalk";import{Marked,marked}from"marked";var markdownStyle={bold:c.bold,italic:c.italic,boldItalic:c.bold.italic,code:(...e)=>c.bgHex("#333333").whiteBright(` ${e.join(" ")} `),strikethrough:c.strikethrough,link:c.underline,listBullet:c.whiteBright,hr:c.dim,blockquote:(...e)=>c.dim.bold("┃ ")+c.dim(e.join("").replace(/\s\s\n/g," \n"+c.bold("┃ ")))};function styleCode(e){const t=e.split("\n"),r=Math.max(...t.map(e=>e.length)),n="┌"+"─".repeat(r+2)+"┐",a="└"+"─".repeat(r+2)+"┘",i=t.map(e=>c.dim("│ ")+c.dim(e).padEnd(r)+c.dim(" │")).join("\n");return[c.dim(n),i,c.dim(a)].join("\n")}var bullets=["•","◦","▪"],terminalRenderer={list(e){let t=0,r=e;for(;r.parent;)t++,r=r.parent;const n=e.ordered&&e.start?e.start:void 0;return"\n"+e.items.map(r=>this.listitem(Object.assign(r,{depth:t,parent:e,start:n}))).join("\n")},listitem(e){let t="";const r=e;for(const n of e.tokens)"list"===n.type&&(t+=this.parser.parse([Object.assign(n,{parent:r.parent})])),"tokens"in n&&Array.isArray(n.tokens)&&(t+=this.parser.parseInline(n.tokens));let n=" ".repeat(2*r.depth);if(r.task)return n+=r.checked?"☑ ":"☐ ",markdownStyle.listBullet(n)+t;if(void 0!==r.start){const e=r.parent.items.indexOf(r);return n+=r.start+e+". ",markdownStyle.listBullet(n)+t}return n+=bullets[r.depth%bullets.length]+" ",markdownStyle.listBullet(n)+t},link:e=>markdownStyle.link(e.text+" <"+e.href+">"),checkbox:({checked:e})=>e.toString(),code:e=>styleCode(e.text),codespan:({text:e})=>markdownStyle.code(e),def:({raw:e})=>e,del:({text:e})=>markdownStyle.strikethrough(e),paragraph({tokens:e}){return this.parser.parseInline(e)},blockquote:({text:e})=>markdownStyle.blockquote(e),strong({tokens:e}){return markdownStyle.bold(this.parser.parseInline(e))},em({tokens:e}){return markdownStyle.italic(this.parser.parseInline(e))},heading:({text:e})=>markdownStyle.bold(e)+"\n",text:e=>e.raw,space:e=>e.raw.replace(/\n+/g,"\n"),hr:()=>markdownStyle.hr("─".repeat(80)),br:()=>"\n"},terminalMarked=new Marked;function terminalMarkdown(e,t="terminal",r=(...e)=>e.join(" ")){if(!e)return"";if("terminal"===t)return r(terminalMarked.parse(e));return`<span class="_markdown">${marked.parse(e).trim()}</span>`}terminalMarked.use({renderer:terminalRenderer});export{terminalMarkdown};
2
- //# sourceMappingURL=terminal-markdown.js.map
1
+ // src/help-message/terminal-markdown.ts
2
+ import c from "chalk";
3
+ import { Marked, marked } from "marked";
4
+ var markdownStyle = {
5
+ bold: c.bold,
6
+ italic: c.italic,
7
+ boldItalic: c.bold.italic,
8
+ code: (...string) => c.bgHex("#282828").whiteBright(` ${string.join(" ")} `),
9
+ strikethrough: c.strikethrough,
10
+ link: c.underline,
11
+ listBullet: c.whiteBright,
12
+ hr: c.dim,
13
+ blockquote: (...string) => c.dim.bold("\u2503 ") + c.dim(string.join("").replace(/\s\s\n/g, " \n" + c.bold("\u2503 ")))
14
+ };
15
+ function styleCode(text) {
16
+ const lines = text.split("\n");
17
+ const width = Math.max(...lines.map((l) => l.length));
18
+ const top = "\u250C" + "\u2500".repeat(width + 2) + "\u2510";
19
+ const bottom = "\u2514" + "\u2500".repeat(width + 2) + "\u2518";
20
+ const body = lines.map((l) => c.dim("\u2502 ") + c.dim(l).padEnd(width) + c.dim(" \u2502")).join("\n");
21
+ return [c.dim(top), body, c.dim(bottom)].join("\n");
22
+ }
23
+ var bullets = ["\u2022", "\u25E6", "\u25AA"];
24
+ var terminalRenderer = {
25
+ list(token) {
26
+ let depth = 0;
27
+ let current = token;
28
+ while (current.parent) {
29
+ depth++;
30
+ current = current.parent;
31
+ }
32
+ const start = token.ordered && token.start ? token.start : void 0;
33
+ const items = token.items.map((item) => this.listitem(Object.assign(item, { depth, parent: token, start })));
34
+ return "\n" + items.join("\n");
35
+ },
36
+ listitem(item) {
37
+ let string = "";
38
+ const itemCast = item;
39
+ for (const token of item.tokens) {
40
+ if (token.type === "list") {
41
+ string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);
42
+ }
43
+ if ("tokens" in token && Array.isArray(token.tokens)) {
44
+ string += this.parser.parseInline(token.tokens);
45
+ }
46
+ }
47
+ let prefix = " ".repeat(itemCast.depth * 2);
48
+ if (itemCast.task) {
49
+ prefix += itemCast.checked ? "\u2611 " : "\u2610 ";
50
+ return markdownStyle.listBullet(prefix) + string;
51
+ }
52
+ if (itemCast.start !== void 0) {
53
+ const findItemIndex = itemCast.parent.items.indexOf(itemCast);
54
+ prefix += itemCast.start + findItemIndex + ". ";
55
+ return markdownStyle.listBullet(prefix) + string;
56
+ }
57
+ prefix += bullets[itemCast.depth % bullets.length] + " ";
58
+ return markdownStyle.listBullet(prefix) + string;
59
+ },
60
+ link(token) {
61
+ return markdownStyle.link(token.text + " <" + token.href + ">");
62
+ },
63
+ checkbox({ checked }) {
64
+ return checked.toString();
65
+ },
66
+ code(token) {
67
+ return styleCode(token.text);
68
+ },
69
+ codespan({ text }) {
70
+ return markdownStyle.code(text);
71
+ },
72
+ def({ raw }) {
73
+ return raw;
74
+ },
75
+ del({ text }) {
76
+ return markdownStyle.strikethrough(text);
77
+ },
78
+ paragraph({ tokens }) {
79
+ return this.parser.parseInline(tokens);
80
+ },
81
+ blockquote({ text }) {
82
+ return markdownStyle.blockquote(text);
83
+ },
84
+ strong({ tokens }) {
85
+ return markdownStyle.bold(this.parser.parseInline(tokens));
86
+ },
87
+ em({ tokens }) {
88
+ return markdownStyle.italic(this.parser.parseInline(tokens));
89
+ },
90
+ heading({ text }) {
91
+ return markdownStyle.bold(text) + "\n";
92
+ },
93
+ text(token) {
94
+ return token.raw;
95
+ },
96
+ space(token) {
97
+ return token.raw.replace(/\n+/g, "\n");
98
+ },
99
+ hr() {
100
+ return markdownStyle.hr("\u2500".repeat(80));
101
+ },
102
+ br() {
103
+ return "\n";
104
+ }
105
+ };
106
+ function terminalMarkdown(text, renderer = "terminal", ansiTextColor = (...string) => string.join(" ")) {
107
+ if (!text) {
108
+ return "";
109
+ }
110
+ if (renderer === "terminal") {
111
+ const terminalMarked = new Marked();
112
+ terminalMarked.use({ renderer: terminalRenderer });
113
+ return ansiTextColor(terminalMarked.parse(text));
114
+ }
115
+ const htmlString = marked.parse(text);
116
+ return `<span class="_markdown">${htmlString.trim()}</span>`;
117
+ }
118
+ export {
119
+ terminalMarkdown
120
+ };
121
+ //# sourceMappingURL=terminal-markdown.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["c","Marked","marked","markdownStyle","bold","italic","boldItalic","code","string","bgHex","whiteBright","join","strikethrough","link","underline","listBullet","hr","dim","blockquote","replace","styleCode","text","lines","split","width","Math","max","map","l","length","top","repeat","bottom","body","padEnd","bullets","terminalRenderer","list","token","depth","current","parent","start","ordered","items","item","this","listitem","Object","assign","itemCast","tokens","type","parser","parse","Array","isArray","parseInline","prefix","task","checked","findItemIndex","indexOf","href","checkbox","toString","codespan","def","raw","del","paragraph","strong","em","heading","space","br","terminalMarked","terminalMarkdown","renderer","ansiTextColor","trim","use"],"sources":["../../../src/help-message/terminal-markdown.ts"],"sourcesContent":["import c from \"chalk\";\nimport { Marked, type RendererObject, type Tokens, marked } from \"marked\";\n\nimport type { ColorFunctionType } from \"../types/help-message-types.ts\";\n\nconst markdownStyle: Record<string, ColorFunctionType> = {\n bold: c.bold,\n italic: c.italic,\n boldItalic: c.bold.italic,\n code: (...string) => c.bgHex(\"#333333\").whiteBright(` ${string.join(\" \")} `),\n strikethrough: c.strikethrough,\n link: c.underline,\n listBullet: c.whiteBright,\n hr: c.dim,\n blockquote: (...string) => c.dim.bold(\"┃ \") + c.dim(string.join(\"\").replace(/\\s\\s\\n/g, \" \\n\" + c.bold(\"┃ \"))),\n};\n\nfunction styleCode(text: string) {\n const lines = text.split(\"\\n\");\n const width = Math.max(...lines.map(l => l.length));\n const top = \"┌\" + \"─\".repeat(width + 2) + \"┐\";\n const bottom = \"└\" + \"─\".repeat(width + 2) + \"┘\";\n\n const body = lines.map(l => c.dim(\"│ \") + c.dim(l).padEnd(width) + c.dim(\" │\")).join(\"\\n\");\n\n return [c.dim(top), body, c.dim(bottom)].join(\"\\n\");\n}\n\nconst bullets = [\"•\", \"◦\", \"▪\"];\n\nconst terminalRenderer: RendererObject<string, string> = {\n list(token) {\n // figure out depth\n let depth = 0;\n let current = token as Tokens.List & { parent: Tokens.List };\n while (current.parent) {\n depth++;\n current = current.parent as Tokens.List & { parent: Tokens.List };\n }\n\n // for ordered lists\n const start = token.ordered && token.start ? token.start : undefined;\n\n const items = token.items.map(item => this.listitem(Object.assign(item, { depth, parent: token, start })));\n return \"\\n\" + items.join(\"\\n\");\n },\n listitem(item) {\n let string = \"\";\n\n const itemCast = item as Tokens.ListItem & { parent: Tokens.List; depth: number; start?: number };\n\n for (const token of item.tokens) {\n if (token.type === \"list\") {\n string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);\n }\n\n if (\"tokens\" in token && Array.isArray(token.tokens)) {\n string += this.parser.parseInline(token.tokens);\n }\n }\n\n let prefix = \" \".repeat(itemCast.depth * 2);\n\n // Task\n if (itemCast.task) {\n prefix += itemCast.checked ? \"☑ \" : \"☐ \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Ordered\n if (itemCast.start !== undefined) {\n const findItemIndex = itemCast.parent.items.indexOf(itemCast);\n prefix += itemCast.start + findItemIndex + \". \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Unordered\n prefix += bullets[itemCast.depth % bullets.length] + \" \";\n return markdownStyle.listBullet(prefix) + string;\n },\n link(token) {\n return markdownStyle.link(token.text + \" \" + \"<\" + token.href + \">\");\n },\n checkbox({ checked }) {\n return checked.toString();\n },\n code(token) {\n return styleCode(token.text);\n },\n codespan({ text }) {\n return markdownStyle.code(text);\n },\n def({ raw }) {\n return raw;\n },\n del({ text }) {\n return markdownStyle.strikethrough(text);\n },\n paragraph({ tokens }) {\n return this.parser.parseInline(tokens);\n },\n blockquote({ text }) {\n return markdownStyle.blockquote(text);\n },\n strong({ tokens }) {\n return markdownStyle.bold(this.parser.parseInline(tokens));\n },\n em({ tokens }) {\n return markdownStyle.italic(this.parser.parseInline(tokens));\n },\n heading({ text }) {\n return markdownStyle.bold(text) + \"\\n\";\n },\n text(token) {\n return token.raw;\n },\n space(token) {\n return token.raw.replace(/\\n+/g, \"\\n\");\n },\n hr() {\n return markdownStyle.hr(\"─\".repeat(80));\n },\n br() {\n return \"\\n\";\n },\n};\n\nconst terminalMarked = new Marked();\nterminalMarked.use({ renderer: terminalRenderer });\n\nexport function terminalMarkdown(\n text: string,\n renderer: \"terminal\" | \"html\" = \"terminal\",\n ansiTextColor: ColorFunctionType = (...string) => string.join(\" \"),\n): string {\n if (!text) {\n return \"\";\n }\n\n if (renderer === \"terminal\") {\n return ansiTextColor(terminalMarked.parse(text) as string);\n }\n\n const htmlString = marked.parse(text) as string;\n\n return `<span class=\"_markdown\">${htmlString.trim()}</span>`;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/help-message/terminal-markdown.ts"],
4
+ "sourcesContent": ["import c from \"chalk\";\nimport { Marked, type RendererObject, type Tokens, marked } from \"marked\";\n\nimport type { ColorFunctionType } from \"../types/help-message-types.ts\";\n\nconst markdownStyle: Record<string, ColorFunctionType> = {\n bold: c.bold,\n italic: c.italic,\n boldItalic: c.bold.italic,\n code: (...string) => c.bgHex(\"#282828\").whiteBright(` ${string.join(\" \")} `),\n strikethrough: c.strikethrough,\n link: c.underline,\n listBullet: c.whiteBright,\n hr: c.dim,\n blockquote: (...string) => c.dim.bold(\"\u2503 \") + c.dim(string.join(\"\").replace(/\\s\\s\\n/g, \" \\n\" + c.bold(\"\u2503 \"))),\n};\n\nfunction styleCode(text: string) {\n const lines = text.split(\"\\n\");\n const width = Math.max(...lines.map(l => l.length));\n const top = \"\u250C\" + \"\u2500\".repeat(width + 2) + \"\u2510\";\n const bottom = \"\u2514\" + \"\u2500\".repeat(width + 2) + \"\u2518\";\n\n const body = lines.map(l => c.dim(\"\u2502 \") + c.dim(l).padEnd(width) + c.dim(\" \u2502\")).join(\"\\n\");\n\n return [c.dim(top), body, c.dim(bottom)].join(\"\\n\");\n}\n\nconst bullets = [\"\u2022\", \"\u25E6\", \"\u25AA\"];\n\nconst terminalRenderer: RendererObject<string, string> = {\n list(token) {\n // figure out depth\n let depth = 0;\n let current = token as Tokens.List & { parent: Tokens.List };\n while (current.parent) {\n depth++;\n current = current.parent as Tokens.List & { parent: Tokens.List };\n }\n\n // for ordered lists\n const start = token.ordered && token.start ? token.start : undefined;\n\n const items = token.items.map(item => this.listitem(Object.assign(item, { depth, parent: token, start })));\n return \"\\n\" + items.join(\"\\n\");\n },\n listitem(item) {\n let string = \"\";\n\n const itemCast = item as Tokens.ListItem & { parent: Tokens.List; depth: number; start?: number };\n\n for (const token of item.tokens) {\n if (token.type === \"list\") {\n string += this.parser.parse([Object.assign(token, { parent: itemCast.parent })]);\n }\n\n if (\"tokens\" in token && Array.isArray(token.tokens)) {\n string += this.parser.parseInline(token.tokens);\n }\n }\n\n let prefix = \" \".repeat(itemCast.depth * 2);\n\n // Task\n if (itemCast.task) {\n prefix += itemCast.checked ? \"\u2611 \" : \"\u2610 \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Ordered\n if (itemCast.start !== undefined) {\n const findItemIndex = itemCast.parent.items.indexOf(itemCast);\n prefix += itemCast.start + findItemIndex + \". \";\n return markdownStyle.listBullet(prefix) + string;\n }\n\n // Unordered\n prefix += bullets[itemCast.depth % bullets.length] + \" \";\n return markdownStyle.listBullet(prefix) + string;\n },\n link(token) {\n return markdownStyle.link(token.text + \" \" + \"<\" + token.href + \">\");\n },\n checkbox({ checked }) {\n return checked.toString();\n },\n code(token) {\n return styleCode(token.text);\n },\n codespan({ text }) {\n return markdownStyle.code(text);\n },\n def({ raw }) {\n return raw;\n },\n del({ text }) {\n return markdownStyle.strikethrough(text);\n },\n paragraph({ tokens }) {\n return this.parser.parseInline(tokens);\n },\n blockquote({ text }) {\n return markdownStyle.blockquote(text);\n },\n strong({ tokens }) {\n return markdownStyle.bold(this.parser.parseInline(tokens));\n },\n em({ tokens }) {\n return markdownStyle.italic(this.parser.parseInline(tokens));\n },\n heading({ text }) {\n return markdownStyle.bold(text) + \"\\n\";\n },\n text(token) {\n return token.raw;\n },\n space(token) {\n return token.raw.replace(/\\n+/g, \"\\n\");\n },\n hr() {\n return markdownStyle.hr(\"\u2500\".repeat(80));\n },\n br() {\n return \"\\n\";\n },\n};\n\nexport function terminalMarkdown(\n text: string,\n renderer: \"terminal\" | \"html\" = \"terminal\",\n ansiTextColor: ColorFunctionType = (...string) => string.join(\" \"),\n): string {\n if (!text) {\n return \"\";\n }\n\n if (renderer === \"terminal\") {\n const terminalMarked = new Marked();\n terminalMarked.use({ renderer: terminalRenderer });\n return ansiTextColor(terminalMarked.parse(text) as string);\n }\n\n const htmlString = marked.parse(text) as string;\n\n return `<span class=\"_markdown\">${htmlString.trim()}</span>`;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/lib/esm/index.js CHANGED
@@ -1,2 +1,52 @@
1
- import{generateCliHelpMessage}from"./help-message/generate-for-cli.js";import{generateSubcommandHelpMessage}from"./help-message/generate-for-subcommand.js";import{printCliHelp,printSubcommandHelp}from"./help-message/print-help.js";import{HelpMessageStyle,helpMessageStyles}from"./help-message/styles.js";import{generateBashAutocompleteScript}from"./autocomplete-scripts/bash-autocomplete-script.js";import{generatePowerShellAutocompleteScript}from"./autocomplete-scripts/powershell-autocomplete-script.js";import{generateZshAutocompleteScript}from"./autocomplete-scripts/zsh-autocomplete-script.js";import{generateMarkdown}from"./markdown/generate-markdown.js";import{getArgumentsMetadata}from"./metadata/arguments-metadata.js";import{getCliMetadata}from"./metadata/cli-metadata.js";import{getOptionsMetadata}from"./metadata/options-metadata.js";import{getSubcommandsMetadata}from"./metadata/subcommands-metadata.js";import{defineArguments}from"./definitions/define-arguments.js";import{defineCLI}from"./definitions/define-cli.js";import{defineOptions}from"./definitions/define-options.js";import{defineSubcommand}from"./definitions/define-subcommand.js";import{coerce}from"./coerce/coerce-methods.js";export{HelpMessageStyle,coerce,defineArguments,defineCLI,defineOptions,defineSubcommand,generateBashAutocompleteScript,generateCliHelpMessage,generateMarkdown,generatePowerShellAutocompleteScript,generateSubcommandHelpMessage,generateZshAutocompleteScript,getArgumentsMetadata,getCliMetadata,getOptionsMetadata,getSubcommandsMetadata,helpMessageStyles,printCliHelp,printSubcommandHelp};
2
- //# sourceMappingURL=index.js.map
1
+ // src/index.ts
2
+ import { generateCliHelpMessage } from "./help-message/generate-for-cli.js";
3
+ import { generateSubcommandHelpMessage } from "./help-message/generate-for-subcommand.js";
4
+ import { printCliHelp, printSubcommandHelp } from "./help-message/print-help.js";
5
+ import { HelpMessageStyle, helpMessageStyles } from "./help-message/styles.js";
6
+ import { generateBashAutocompleteScript } from "./autocomplete-scripts/bash-autocomplete-script.js";
7
+ import { generatePowerShellAutocompleteScript } from "./autocomplete-scripts/powershell-autocomplete-script.js";
8
+ import { generateZshAutocompleteScript } from "./autocomplete-scripts/zsh-autocomplete-script.js";
9
+ import { generateMarkdown } from "./markdown/generate-markdown.js";
10
+ import { getArgumentsMetadata } from "./metadata/arguments-metadata.js";
11
+ import { getCliMetadata } from "./metadata/cli-metadata.js";
12
+ import { getOptionsMetadata } from "./metadata/options-metadata.js";
13
+ import { getSubcommandsMetadata } from "./metadata/subcommands-metadata.js";
14
+ import { defineArguments } from "./definitions/define-arguments.js";
15
+ import { defineCLI } from "./definitions/define-cli.js";
16
+ import { defineOptions } from "./definitions/define-options.js";
17
+ import { defineSubcommand } from "./definitions/define-subcommand.js";
18
+ import { coerce } from "./coerce/coerce-methods.js";
19
+ import { CliError } from "./cli-error/cli-error.js";
20
+ import { ErrorCause } from "./cli-error/error-cause.js";
21
+ import { DefinitionErrorCode } from "./cli-error/error-code/definition-error-code.js";
22
+ import { InternalErrorCode } from "./cli-error/error-code/internal-error-code.js";
23
+ import { ParseErrorCode } from "./cli-error/error-code/parse-error-code.js";
24
+ import { ValidationErrorCode } from "./cli-error/error-code/validation-error-code.js";
25
+ export {
26
+ CliError,
27
+ DefinitionErrorCode,
28
+ ErrorCause,
29
+ HelpMessageStyle,
30
+ InternalErrorCode,
31
+ ParseErrorCode,
32
+ ValidationErrorCode,
33
+ coerce,
34
+ defineArguments,
35
+ defineCLI,
36
+ defineOptions,
37
+ defineSubcommand,
38
+ generateBashAutocompleteScript,
39
+ generateCliHelpMessage,
40
+ generateMarkdown,
41
+ generatePowerShellAutocompleteScript,
42
+ generateSubcommandHelpMessage,
43
+ generateZshAutocompleteScript,
44
+ getArgumentsMetadata,
45
+ getCliMetadata,
46
+ getOptionsMetadata,
47
+ getSubcommandsMetadata,
48
+ helpMessageStyles,
49
+ printCliHelp,
50
+ printSubcommandHelp
51
+ };
52
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["generateCliHelpMessage","generateSubcommandHelpMessage","printCliHelp","printSubcommandHelp","HelpMessageStyle","helpMessageStyles","generateBashAutocompleteScript","generatePowerShellAutocompleteScript","generateZshAutocompleteScript","generateMarkdown","getArgumentsMetadata","getCliMetadata","getOptionsMetadata","getSubcommandsMetadata","defineArguments","defineCLI","defineOptions","defineSubcommand","coerce"],"sources":["../../src/index.ts"],"sourcesContent":["export { generateCliHelpMessage } from \"./help-message/generate-for-cli.ts\";\nexport { generateSubcommandHelpMessage } from \"./help-message/generate-for-subcommand.ts\";\nexport { printCliHelp, printSubcommandHelp } from \"./help-message/print-help.ts\";\nexport { HelpMessageStyle, helpMessageStyles } from \"./help-message/styles.ts\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.ts\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.ts\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.ts\";\nexport { generateMarkdown } from \"./markdown/generate-markdown.ts\";\n\nexport { getArgumentsMetadata } from \"./metadata/arguments-metadata.ts\";\nexport { getCliMetadata } from \"./metadata/cli-metadata.ts\";\nexport { getOptionsMetadata } from \"./metadata/options-metadata.ts\";\nexport { getSubcommandsMetadata } from \"./metadata/subcommands-metadata.ts\";\n\nexport { defineArguments } from \"./definitions/define-arguments.ts\";\nexport { defineCLI } from \"./definitions/define-cli.ts\";\nexport { defineOptions } from \"./definitions/define-options.ts\";\nexport { defineSubcommand } from \"./definitions/define-subcommand.ts\";\n\nexport { coerce } from \"./coerce/coerce-methods.ts\";\n\nexport type * from \"./types/context-types.ts\";\nexport type * from \"./types/definitions-types.ts\";\nexport type * from \"./types/help-message-types.ts\";\nexport type * from \"./types/io-types.ts\";\nexport type * from \"./types/metadata-types.ts\";\nexport type * from \"./types/types.ts\";\n"],"mappings":"OAASA,2BAA8B,4CAC9BC,kCAAqC,mDACrCC,aAAcC,wBAA2B,sCACzCC,iBAAkBC,sBAAyB,kCAE3CC,mCAAsC,4DACtCC,yCAA4C,kEAC5CC,kCAAqC,2DACrCC,qBAAwB,yCAExBC,yBAA4B,0CAC5BC,mBAAsB,oCACtBC,uBAA0B,wCAC1BC,2BAA8B,4CAE9BC,oBAAuB,2CACvBC,cAAiB,qCACjBC,kBAAqB,yCACrBC,qBAAwB,4CAExBC,WAAc,oC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.ts"],
4
+ "sourcesContent": ["export { generateCliHelpMessage } from \"./help-message/generate-for-cli.ts\";\nexport { generateSubcommandHelpMessage } from \"./help-message/generate-for-subcommand.ts\";\nexport { printCliHelp, printSubcommandHelp } from \"./help-message/print-help.ts\";\nexport { HelpMessageStyle, helpMessageStyles } from \"./help-message/styles.ts\";\n\nexport { generateBashAutocompleteScript } from \"./autocomplete-scripts/bash-autocomplete-script.ts\";\nexport { generatePowerShellAutocompleteScript } from \"./autocomplete-scripts/powershell-autocomplete-script.ts\";\nexport { generateZshAutocompleteScript } from \"./autocomplete-scripts/zsh-autocomplete-script.ts\";\nexport { generateMarkdown } from \"./markdown/generate-markdown.ts\";\n\nexport { getArgumentsMetadata } from \"./metadata/arguments-metadata.ts\";\nexport { getCliMetadata } from \"./metadata/cli-metadata.ts\";\nexport { getOptionsMetadata } from \"./metadata/options-metadata.ts\";\nexport { getSubcommandsMetadata } from \"./metadata/subcommands-metadata.ts\";\n\nexport { defineArguments } from \"./definitions/define-arguments.ts\";\nexport { defineCLI } from \"./definitions/define-cli.ts\";\nexport { defineOptions } from \"./definitions/define-options.ts\";\nexport { defineSubcommand } from \"./definitions/define-subcommand.ts\";\n\nexport { coerce } from \"./coerce/coerce-methods.ts\";\n\nexport { CliError } from \"./cli-error/cli-error.ts\";\nexport { ErrorCause } from \"./cli-error/error-cause.ts\";\nexport { DefinitionErrorCode } from \"./cli-error/error-code/definition-error-code.ts\";\nexport { InternalErrorCode } from \"./cli-error/error-code/internal-error-code.ts\";\nexport { ParseErrorCode } from \"./cli-error/error-code/parse-error-code.ts\";\nexport { ValidationErrorCode } from \"./cli-error/error-code/validation-error-code.ts\";\n\nexport type * from \"./types/context-types.ts\";\nexport type * from \"./types/definitions-types.ts\";\nexport type {\n CliErrorI,\n CliErrorOptionUnion,\n DefinitionErrorI,\n ErrorCauseI,\n InternalErrorI,\n ParseErrorI,\n ValidationErrorI,\n} from \"./types/error-types.ts\";\nexport type * from \"./types/help-message-types.ts\";\nexport type * from \"./types/io-types.ts\";\nexport type * from \"./types/metadata-types.ts\";\nexport type * from \"./types/types.ts\";\n"],
5
+ "mappings": ";AAAA,SAAS,8BAA8B;AACvC,SAAS,qCAAqC;AAC9C,SAAS,cAAc,2BAA2B;AAClD,SAAS,kBAAkB,yBAAyB;AAEpD,SAAS,sCAAsC;AAC/C,SAAS,4CAA4C;AACrD,SAAS,qCAAqC;AAC9C,SAAS,wBAAwB;AAEjC,SAAS,4BAA4B;AACrC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AAEvC,SAAS,uBAAuB;AAChC,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AAEjC,SAAS,cAAc;AAEvB,SAAS,gBAAgB;AACzB,SAAS,kBAAkB;AAC3B,SAAS,2BAA2B;AACpC,SAAS,yBAAyB;AAClC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;",
6
+ "names": []
7
+ }
@@ -1,2 +1,153 @@
1
- import{getCliMetadata}from"../metadata/cli-metadata.js";import{escapeHtmlTags,stripAnsi}from"../utilities.js";function generateMarkdown(n){const e=getCliMetadata(n);let r="\x3c!-- Auto-generated by zod-args-parser --\x3e\n\n";return r+=`# ${e.name}\n\n`,e.description&&!e.descriptionMarkdown&&(r+=`${forceLineBreak(e.description)}\n`),e.descriptionMarkdown&&(r+=`${forceLineBreak(e.descriptionMarkdown)}\n`),e.example&&(r+=renderExamples(e.example)),e.options.length>0&&(r+="\n## Options:\n\n",r+=renderOptions(e.options,3)),e.arguments.length>0&&(r+="\n## Arguments:\n\n",r+=renderArguments(e.arguments,3)),e.subcommands.length>0&&(r+="\n## Subcommands:\n\n",r+=renderSubcommands(e.subcommands)),r=stripAnsi(r),r=escapeHtmlTags(r),r}function renderExamples(n){let e="\n**Example:**\n";return e+="\n",e+="```bash\n",e+=n,e+="\n```\n",e}function renderOptions(n=[],e){let r="";for(let t=0;t<n.length;t++){const o=n[t];if(o.hidden)continue;const a=[o.nameAsArg].concat(o.aliasesAsArgs).join(", "),i=o.placeholder&&` ${o.placeholder}`;r+=`${"#".repeat(e)} \`${a+i}\``,o.optional&&(r+=" _optional_"),r+="\n\n",o.description&&!o.descriptionMarkdown&&(r+=`${forceLineBreak(o.description)}\n`),o.descriptionMarkdown&&(r+=`${forceLineBreak(o.descriptionMarkdown)}\n`),void 0!==o.defaultValue&&(r+=`\n**default:** \`${o.defaultValueAsString}\`\n`),o.example&&(r+=renderExamples(o.example)),t<n.length-1&&(r+="\n")}return r}function renderArguments(n=[],e){let r="";for(let t=0;t<n.length;t++){const o=n[t];o.hidden||(r+=`${"#".repeat(e)} \`${o.name}\``,o.optional&&(r+=" _optional_"),r+="\n\n",o.description&&!o.descriptionMarkdown&&(r+=`${forceLineBreak(o.description)}\n`),o.descriptionMarkdown&&(r+=`${forceLineBreak(o.descriptionMarkdown)}\n`),void 0!==o.defaultValue&&(r+=`\n**default:** \`${o.defaultValueAsString}\`\n`),o.example&&(r+=renderExamples(o.example)),t<n.length-1&&(r+="\n"))}return r}function renderSubcommands(n){let e="";for(let r=0;r<n.length;r++){const t=n[r];if(t.hidden)continue;e+=`### ${[t.name].concat(t.aliases).join(", ")+(t.placeholder&&` ${t.placeholder}`)}\n\n`,t.description&&!t.descriptionMarkdown&&(e+=`${forceLineBreak(t.description)}\n`),t.descriptionMarkdown&&(e+=`${forceLineBreak(t.descriptionMarkdown)}\n`),t.example&&(e+=renderExamples(t.example)),t.options.length>0&&(e+="\n#### Options:\n\n",e+=renderOptions(t.options,4)),t.arguments.length>0&&(e+="\n#### Arguments:\n\n",e+=renderArguments(t.arguments,4)),r<n.length-1&&(e+="\n---\n\n")}return e}function forceLineBreak(n){return n.replace(/(\n+)/g," $1")}export{generateMarkdown};
2
- //# sourceMappingURL=generate-markdown.js.map
1
+ // src/markdown/generate-markdown.ts
2
+ import { getCliMetadata } from "../metadata/cli-metadata.js";
3
+ import { escapeHtmlTags, stripAnsi } from "../utilities/utilities.js";
4
+ function generateMarkdown(cliDefinition) {
5
+ const metadata = getCliMetadata(cliDefinition);
6
+ let md = "<!-- Auto-generated by zod-args-parser -->\n\n";
7
+ md += `# ${metadata.name}
8
+
9
+ `;
10
+ if (metadata.description && !metadata.descriptionMarkdown) {
11
+ md += `${forceLineBreak(metadata.description)}
12
+ `;
13
+ }
14
+ if (metadata.descriptionMarkdown) {
15
+ md += `${forceLineBreak(metadata.descriptionMarkdown)}
16
+ `;
17
+ }
18
+ if (metadata.example) {
19
+ md += renderExamples(metadata.example);
20
+ }
21
+ if (metadata.options.length > 0) {
22
+ md += "\n## Options:\n\n";
23
+ md += renderOptions(metadata.options, 3);
24
+ }
25
+ if (metadata.arguments.length > 0) {
26
+ md += "\n## Arguments:\n\n";
27
+ md += renderArguments(metadata.arguments, 3);
28
+ }
29
+ if (metadata.subcommands.length > 0) {
30
+ md += "\n## Subcommands:\n\n";
31
+ md += renderSubcommands(metadata.subcommands);
32
+ }
33
+ md = stripAnsi(md);
34
+ md = escapeHtmlTags(md);
35
+ return md;
36
+ }
37
+ function renderExamples(examples) {
38
+ let outString = "\n**Example:**\n";
39
+ const lang = "bash";
40
+ outString += "\n";
41
+ outString += "```" + lang + "\n";
42
+ outString += examples;
43
+ outString += "\n```\n";
44
+ return outString;
45
+ }
46
+ function renderOptions(optionsMetadata = [], h) {
47
+ let outString = "";
48
+ for (let index = 0; index < optionsMetadata.length; index++) {
49
+ const metadata = optionsMetadata[index];
50
+ if (metadata.hidden) continue;
51
+ const aliases = [metadata.nameAsArg].concat(metadata.aliasesAsArgs).join(", ");
52
+ const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;
53
+ outString += `${"#".repeat(h)} \`${aliases + placeholder}\``;
54
+ if (metadata.optional) {
55
+ outString += " _optional_";
56
+ }
57
+ outString += "\n\n";
58
+ if (metadata.description && !metadata.descriptionMarkdown) {
59
+ outString += `${forceLineBreak(metadata.description)}
60
+ `;
61
+ }
62
+ if (metadata.descriptionMarkdown) {
63
+ outString += `${forceLineBreak(metadata.descriptionMarkdown)}
64
+ `;
65
+ }
66
+ if (metadata.defaultValue !== void 0) {
67
+ const nl = outString.endsWith("\n\n") ? "" : "\n";
68
+ outString += `${nl}**default:** \`${metadata.defaultValueAsString}\`
69
+ `;
70
+ }
71
+ if (metadata.example) {
72
+ outString += renderExamples(metadata.example);
73
+ }
74
+ if (index < optionsMetadata.length - 1) {
75
+ outString += "\n";
76
+ }
77
+ }
78
+ return outString;
79
+ }
80
+ function renderArguments(argumentsMetadata = [], h) {
81
+ let outString = "";
82
+ for (let index = 0; index < argumentsMetadata.length; index++) {
83
+ const metadata = argumentsMetadata[index];
84
+ if (metadata.hidden) continue;
85
+ outString += `${"#".repeat(h)} \`${metadata.name}\``;
86
+ if (metadata.optional) {
87
+ outString += " _optional_";
88
+ }
89
+ outString += "\n\n";
90
+ if (metadata.description && !metadata.descriptionMarkdown) {
91
+ outString += `${forceLineBreak(metadata.description)}
92
+ `;
93
+ }
94
+ if (metadata.descriptionMarkdown) {
95
+ outString += `${forceLineBreak(metadata.descriptionMarkdown)}
96
+ `;
97
+ }
98
+ if (metadata.defaultValue !== void 0) {
99
+ const nl = outString.endsWith("\n\n") ? "" : "\n";
100
+ outString += `${nl}**default:** \`${metadata.defaultValueAsString}\`
101
+ `;
102
+ }
103
+ if (metadata.example) {
104
+ outString += renderExamples(metadata.example);
105
+ }
106
+ if (index < argumentsMetadata.length - 1) {
107
+ outString += "\n";
108
+ }
109
+ }
110
+ return outString;
111
+ }
112
+ function renderSubcommands(subcommandsMetadata) {
113
+ let outString = "";
114
+ for (let index = 0; index < subcommandsMetadata.length; index++) {
115
+ const metadata = subcommandsMetadata[index];
116
+ if (metadata.hidden) continue;
117
+ const aliases = [metadata.name].concat(metadata.aliases).join(", ");
118
+ const placeholder = metadata.placeholder && ` ${metadata.placeholder}`;
119
+ outString += `### ${aliases + placeholder}
120
+
121
+ `;
122
+ if (metadata.description && !metadata.descriptionMarkdown) {
123
+ outString += `${forceLineBreak(metadata.description)}
124
+ `;
125
+ }
126
+ if (metadata.descriptionMarkdown) {
127
+ outString += `${forceLineBreak(metadata.descriptionMarkdown)}
128
+ `;
129
+ }
130
+ if (metadata.example) {
131
+ outString += renderExamples(metadata.example);
132
+ }
133
+ if (metadata.options.length > 0) {
134
+ outString += "\n#### Options:\n\n";
135
+ outString += renderOptions(metadata.options, 4);
136
+ }
137
+ if (metadata.arguments.length > 0) {
138
+ outString += "\n#### Arguments:\n\n";
139
+ outString += renderArguments(metadata.arguments, 4);
140
+ }
141
+ if (index < subcommandsMetadata.length - 1) {
142
+ outString += "\n---\n\n";
143
+ }
144
+ }
145
+ return outString;
146
+ }
147
+ function forceLineBreak(string) {
148
+ return string.replace(/(\n+)/g, " $1");
149
+ }
150
+ export {
151
+ generateMarkdown
152
+ };
153
+ //# sourceMappingURL=generate-markdown.js.map