@villedemontreal/caporal 3.1.7

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 (425) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/dist/src/__tests__/issue-163.spec.d.ts +2 -0
  4. package/dist/src/__tests__/issue-163.spec.d.ts.map +1 -0
  5. package/dist/src/__tests__/issue-163.spec.js +17 -0
  6. package/dist/src/__tests__/issue-163.spec.js.map +1 -0
  7. package/dist/src/argument/__tests__/argument.spec.d.ts +2 -0
  8. package/dist/src/argument/__tests__/argument.spec.d.ts.map +1 -0
  9. package/dist/src/argument/__tests__/argument.spec.js +85 -0
  10. package/dist/src/argument/__tests__/argument.spec.js.map +1 -0
  11. package/dist/src/argument/find.d.ts +8 -0
  12. package/dist/src/argument/find.d.ts.map +1 -0
  13. package/dist/src/argument/find.js +11 -0
  14. package/dist/src/argument/find.js.map +1 -0
  15. package/dist/src/argument/index.d.ts +13 -0
  16. package/dist/src/argument/index.d.ts.map +1 -0
  17. package/dist/src/argument/index.js +27 -0
  18. package/dist/src/argument/index.js.map +1 -0
  19. package/dist/src/argument/synopsis.d.ts +19 -0
  20. package/dist/src/argument/synopsis.d.ts.map +1 -0
  21. package/dist/src/argument/synopsis.js +39 -0
  22. package/dist/src/argument/synopsis.js.map +1 -0
  23. package/dist/src/argument/validate.d.ts +43 -0
  24. package/dist/src/argument/validate.d.ts.map +1 -0
  25. package/dist/src/argument/validate.js +127 -0
  26. package/dist/src/argument/validate.js.map +1 -0
  27. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.d.ts +3 -0
  28. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.d.ts.map +1 -0
  29. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.js +24 -0
  30. package/dist/src/autocomplete/__fixtures__/prog-autocomplete.js.map +1 -0
  31. package/dist/src/autocomplete/__tests__/autocomplete.spec.d.ts +2 -0
  32. package/dist/src/autocomplete/__tests__/autocomplete.spec.d.ts.map +1 -0
  33. package/dist/src/autocomplete/__tests__/autocomplete.spec.js +119 -0
  34. package/dist/src/autocomplete/__tests__/autocomplete.spec.js.map +1 -0
  35. package/dist/src/autocomplete/index.d.ts +20 -0
  36. package/dist/src/autocomplete/index.d.ts.map +1 -0
  37. package/dist/src/autocomplete/index.js +172 -0
  38. package/dist/src/autocomplete/index.js.map +1 -0
  39. package/dist/src/autocomplete/types.d.ts +26 -0
  40. package/dist/src/autocomplete/types.d.ts.map +1 -0
  41. package/dist/src/autocomplete/types.js +3 -0
  42. package/dist/src/autocomplete/types.js.map +1 -0
  43. package/dist/src/command/__fixtures__/example-cmd.d.ts +8 -0
  44. package/dist/src/command/__fixtures__/example-cmd.d.ts.map +1 -0
  45. package/dist/src/command/__fixtures__/example-cmd.js +10 -0
  46. package/dist/src/command/__fixtures__/example-cmd.js.map +1 -0
  47. package/dist/src/command/__tests__/command.spec.d.ts +2 -0
  48. package/dist/src/command/__tests__/command.spec.d.ts.map +1 -0
  49. package/dist/src/command/__tests__/command.spec.js +510 -0
  50. package/dist/src/command/__tests__/command.spec.js.map +1 -0
  51. package/dist/src/command/__tests__/find.spec.d.ts +2 -0
  52. package/dist/src/command/__tests__/find.spec.d.ts.map +1 -0
  53. package/dist/src/command/__tests__/find.spec.js +31 -0
  54. package/dist/src/command/__tests__/find.spec.js.map +1 -0
  55. package/dist/src/command/__tests__/import.spec.d.ts +2 -0
  56. package/dist/src/command/__tests__/import.spec.d.ts.map +1 -0
  57. package/dist/src/command/__tests__/import.spec.js +17 -0
  58. package/dist/src/command/__tests__/import.spec.js.map +1 -0
  59. package/dist/src/command/__tests__/scan.spec.d.ts +2 -0
  60. package/dist/src/command/__tests__/scan.spec.d.ts.map +1 -0
  61. package/dist/src/command/__tests__/scan.spec.js +20 -0
  62. package/dist/src/command/__tests__/scan.spec.js.map +1 -0
  63. package/dist/src/command/find.d.ts +8 -0
  64. package/dist/src/command/find.d.ts.map +1 -0
  65. package/dist/src/command/find.js +47 -0
  66. package/dist/src/command/find.js.map +1 -0
  67. package/dist/src/command/import.d.ts +7 -0
  68. package/dist/src/command/import.d.ts.map +1 -0
  69. package/dist/src/command/import.js +47 -0
  70. package/dist/src/command/import.js.map +1 -0
  71. package/dist/src/command/index.d.ts +211 -0
  72. package/dist/src/command/index.d.ts.map +1 -0
  73. package/dist/src/command/index.js +374 -0
  74. package/dist/src/command/index.js.map +1 -0
  75. package/dist/src/command/scan.d.ts +4 -0
  76. package/dist/src/command/scan.d.ts.map +1 -0
  77. package/dist/src/command/scan.js +31 -0
  78. package/dist/src/command/scan.js.map +1 -0
  79. package/dist/src/command/validate-call.d.ts +8 -0
  80. package/dist/src/command/validate-call.d.ts.map +1 -0
  81. package/dist/src/command/validate-call.js +13 -0
  82. package/dist/src/command/validate-call.js.map +1 -0
  83. package/dist/src/config/index.d.ts +7 -0
  84. package/dist/src/config/index.d.ts.map +1 -0
  85. package/dist/src/config/index.js +24 -0
  86. package/dist/src/config/index.js.map +1 -0
  87. package/dist/src/error/__tests__/fatal.spec.d.ts +2 -0
  88. package/dist/src/error/__tests__/fatal.spec.d.ts.map +1 -0
  89. package/dist/src/error/__tests__/fatal.spec.js +34 -0
  90. package/dist/src/error/__tests__/fatal.spec.js.map +1 -0
  91. package/dist/src/error/action.d.ts +9 -0
  92. package/dist/src/error/action.d.ts.map +1 -0
  93. package/dist/src/error/action.js +16 -0
  94. package/dist/src/error/action.js.map +1 -0
  95. package/dist/src/error/base.d.ts +11 -0
  96. package/dist/src/error/base.d.ts.map +1 -0
  97. package/dist/src/error/base.js +18 -0
  98. package/dist/src/error/base.js.map +1 -0
  99. package/dist/src/error/fatal.d.ts +10 -0
  100. package/dist/src/error/fatal.d.ts.map +1 -0
  101. package/dist/src/error/fatal.js +27 -0
  102. package/dist/src/error/fatal.js.map +1 -0
  103. package/dist/src/error/index.d.ts +18 -0
  104. package/dist/src/error/index.d.ts.map +1 -0
  105. package/dist/src/error/index.js +34 -0
  106. package/dist/src/error/index.js.map +1 -0
  107. package/dist/src/error/invalid-validator.d.ts +10 -0
  108. package/dist/src/error/invalid-validator.d.ts.map +1 -0
  109. package/dist/src/error/invalid-validator.js +15 -0
  110. package/dist/src/error/invalid-validator.js.map +1 -0
  111. package/dist/src/error/missing-argument.d.ts +11 -0
  112. package/dist/src/error/missing-argument.d.ts.map +1 -0
  113. package/dist/src/error/missing-argument.js +20 -0
  114. package/dist/src/error/missing-argument.js.map +1 -0
  115. package/dist/src/error/missing-flag.d.ts +11 -0
  116. package/dist/src/error/missing-flag.d.ts.map +1 -0
  117. package/dist/src/error/missing-flag.js +20 -0
  118. package/dist/src/error/missing-flag.js.map +1 -0
  119. package/dist/src/error/multi-validation.d.ts +10 -0
  120. package/dist/src/error/multi-validation.d.ts.map +1 -0
  121. package/dist/src/error/multi-validation.js +26 -0
  122. package/dist/src/error/multi-validation.js.map +1 -0
  123. package/dist/src/error/no-action.d.ts +10 -0
  124. package/dist/src/error/no-action.d.ts.map +1 -0
  125. package/dist/src/error/no-action.js +22 -0
  126. package/dist/src/error/no-action.js.map +1 -0
  127. package/dist/src/error/option-synopsis-syntax.d.ts +9 -0
  128. package/dist/src/error/option-synopsis-syntax.d.ts.map +1 -0
  129. package/dist/src/error/option-synopsis-syntax.js +15 -0
  130. package/dist/src/error/option-synopsis-syntax.js.map +1 -0
  131. package/dist/src/error/too-many-arguments.d.ts +11 -0
  132. package/dist/src/error/too-many-arguments.d.ts.map +1 -0
  133. package/dist/src/error/too-many-arguments.js +25 -0
  134. package/dist/src/error/too-many-arguments.js.map +1 -0
  135. package/dist/src/error/unknown-command.d.ts +13 -0
  136. package/dist/src/error/unknown-command.d.ts.map +1 -0
  137. package/dist/src/error/unknown-command.js +44 -0
  138. package/dist/src/error/unknown-command.js.map +1 -0
  139. package/dist/src/error/unknown-option.d.ts +13 -0
  140. package/dist/src/error/unknown-option.d.ts.map +1 -0
  141. package/dist/src/error/unknown-option.js +40 -0
  142. package/dist/src/error/unknown-option.js.map +1 -0
  143. package/dist/src/error/validation.d.ts +17 -0
  144. package/dist/src/error/validation.d.ts.map +1 -0
  145. package/dist/src/error/validation.js +49 -0
  146. package/dist/src/error/validation.js.map +1 -0
  147. package/dist/src/help/__tests__/help.spec.d.ts +2 -0
  148. package/dist/src/help/__tests__/help.spec.d.ts.map +1 -0
  149. package/dist/src/help/__tests__/help.spec.js +130 -0
  150. package/dist/src/help/__tests__/help.spec.js.map +1 -0
  151. package/dist/src/help/__tests__/utils.spec.d.ts +2 -0
  152. package/dist/src/help/__tests__/utils.spec.d.ts.map +1 -0
  153. package/dist/src/help/__tests__/utils.spec.js +16 -0
  154. package/dist/src/help/__tests__/utils.spec.js.map +1 -0
  155. package/dist/src/help/index.d.ts +47 -0
  156. package/dist/src/help/index.d.ts.map +1 -0
  157. package/dist/src/help/index.js +131 -0
  158. package/dist/src/help/index.js.map +1 -0
  159. package/dist/src/help/templates/command.d.ts +7 -0
  160. package/dist/src/help/templates/command.d.ts.map +1 -0
  161. package/dist/src/help/templates/command.js +23 -0
  162. package/dist/src/help/templates/command.js.map +1 -0
  163. package/dist/src/help/templates/custom.d.ts +7 -0
  164. package/dist/src/help/templates/custom.d.ts.map +1 -0
  165. package/dist/src/help/templates/custom.js +24 -0
  166. package/dist/src/help/templates/custom.js.map +1 -0
  167. package/dist/src/help/templates/header.d.ts +7 -0
  168. package/dist/src/help/templates/header.d.ts.map +1 -0
  169. package/dist/src/help/templates/header.js +16 -0
  170. package/dist/src/help/templates/header.js.map +1 -0
  171. package/dist/src/help/templates/index.d.ts +10 -0
  172. package/dist/src/help/templates/index.d.ts.map +1 -0
  173. package/dist/src/help/templates/index.js +26 -0
  174. package/dist/src/help/templates/index.js.map +1 -0
  175. package/dist/src/help/templates/program.d.ts +7 -0
  176. package/dist/src/help/templates/program.d.ts.map +1 -0
  177. package/dist/src/help/templates/program.js +18 -0
  178. package/dist/src/help/templates/program.js.map +1 -0
  179. package/dist/src/help/templates/usage.d.ts +7 -0
  180. package/dist/src/help/templates/usage.d.ts.map +1 -0
  181. package/dist/src/help/templates/usage.js +19 -0
  182. package/dist/src/help/templates/usage.js.map +1 -0
  183. package/dist/src/help/types.d.ts +53 -0
  184. package/dist/src/help/types.d.ts.map +1 -0
  185. package/dist/src/help/types.js +3 -0
  186. package/dist/src/help/types.js.map +1 -0
  187. package/dist/src/help/utils.d.ts +9 -0
  188. package/dist/src/help/utils.d.ts.map +1 -0
  189. package/dist/src/help/utils.js +92 -0
  190. package/dist/src/help/utils.js.map +1 -0
  191. package/dist/src/index.d.ts +90 -0
  192. package/dist/src/index.d.ts.map +1 -0
  193. package/dist/src/index.js +111 -0
  194. package/dist/src/index.js.map +1 -0
  195. package/dist/src/logger/__tests__/logger.spec.d.ts +2 -0
  196. package/dist/src/logger/__tests__/logger.spec.d.ts.map +1 -0
  197. package/dist/src/logger/__tests__/logger.spec.js +56 -0
  198. package/dist/src/logger/__tests__/logger.spec.js.map +1 -0
  199. package/dist/src/logger/index.d.ts +6 -0
  200. package/dist/src/logger/index.d.ts.map +1 -0
  201. package/dist/src/logger/index.js +128 -0
  202. package/dist/src/logger/index.js.map +1 -0
  203. package/dist/src/option/__tests__/global.spec.d.ts +2 -0
  204. package/dist/src/option/__tests__/global.spec.d.ts.map +1 -0
  205. package/dist/src/option/__tests__/global.spec.js +121 -0
  206. package/dist/src/option/__tests__/global.spec.js.map +1 -0
  207. package/dist/src/option/__tests__/option.spec.d.ts +2 -0
  208. package/dist/src/option/__tests__/option.spec.d.ts.map +1 -0
  209. package/dist/src/option/__tests__/option.spec.js +111 -0
  210. package/dist/src/option/__tests__/option.spec.js.map +1 -0
  211. package/dist/src/option/find.d.ts +14 -0
  212. package/dist/src/option/find.d.ts.map +1 -0
  213. package/dist/src/option/find.js +17 -0
  214. package/dist/src/option/find.js.map +1 -0
  215. package/dist/src/option/index.d.ts +65 -0
  216. package/dist/src/option/index.d.ts.map +1 -0
  217. package/dist/src/option/index.js +230 -0
  218. package/dist/src/option/index.js.map +1 -0
  219. package/dist/src/option/mapping.d.ts +7 -0
  220. package/dist/src/option/mapping.d.ts.map +1 -0
  221. package/dist/src/option/mapping.js +21 -0
  222. package/dist/src/option/mapping.js.map +1 -0
  223. package/dist/src/option/utils.d.ts +35 -0
  224. package/dist/src/option/utils.d.ts.map +1 -0
  225. package/dist/src/option/utils.js +139 -0
  226. package/dist/src/option/utils.js.map +1 -0
  227. package/dist/src/option/validate.d.ts +15 -0
  228. package/dist/src/option/validate.d.ts.map +1 -0
  229. package/dist/src/option/validate.js +63 -0
  230. package/dist/src/option/validate.js.map +1 -0
  231. package/dist/src/parser/__tests__/parser.spec.d.ts +2 -0
  232. package/dist/src/parser/__tests__/parser.spec.d.ts.map +1 -0
  233. package/dist/src/parser/__tests__/parser.spec.js +343 -0
  234. package/dist/src/parser/__tests__/parser.spec.js.map +1 -0
  235. package/dist/src/parser/index.d.ts +17 -0
  236. package/dist/src/parser/index.d.ts.map +1 -0
  237. package/dist/src/parser/index.js +299 -0
  238. package/dist/src/parser/index.js.map +1 -0
  239. package/dist/src/program/__tests__/program.spec.d.ts +2 -0
  240. package/dist/src/program/__tests__/program.spec.d.ts.map +1 -0
  241. package/dist/src/program/__tests__/program.spec.js +261 -0
  242. package/dist/src/program/__tests__/program.spec.js.map +1 -0
  243. package/dist/src/program/index.d.ts +349 -0
  244. package/dist/src/program/index.d.ts.map +1 -0
  245. package/dist/src/program/index.js +584 -0
  246. package/dist/src/program/index.js.map +1 -0
  247. package/dist/src/types.d.ts +396 -0
  248. package/dist/src/types.d.ts.map +1 -0
  249. package/dist/src/types.js +51 -0
  250. package/dist/src/types.js.map +1 -0
  251. package/dist/src/utils/__tests__/fs.spec.d.ts +2 -0
  252. package/dist/src/utils/__tests__/fs.spec.d.ts.map +1 -0
  253. package/dist/src/utils/__tests__/fs.spec.js +14 -0
  254. package/dist/src/utils/__tests__/fs.spec.js.map +1 -0
  255. package/dist/src/utils/__tests__/levenshtein.spec.d.ts +2 -0
  256. package/dist/src/utils/__tests__/levenshtein.spec.d.ts.map +1 -0
  257. package/dist/src/utils/__tests__/levenshtein.spec.js +18 -0
  258. package/dist/src/utils/__tests__/levenshtein.spec.js.map +1 -0
  259. package/dist/src/utils/__tests__/suggest.spec.d.ts +2 -0
  260. package/dist/src/utils/__tests__/suggest.spec.d.ts.map +1 -0
  261. package/dist/src/utils/__tests__/suggest.spec.js +31 -0
  262. package/dist/src/utils/__tests__/suggest.spec.js.map +1 -0
  263. package/dist/src/utils/colorize.d.ts +2 -0
  264. package/dist/src/utils/colorize.d.ts.map +1 -0
  265. package/dist/src/utils/colorize.js +27 -0
  266. package/dist/src/utils/colorize.js.map +1 -0
  267. package/dist/src/utils/fs.d.ts +2 -0
  268. package/dist/src/utils/fs.d.ts.map +1 -0
  269. package/dist/src/utils/fs.js +19 -0
  270. package/dist/src/utils/fs.js.map +1 -0
  271. package/dist/src/utils/levenshtein.d.ts +6 -0
  272. package/dist/src/utils/levenshtein.d.ts.map +1 -0
  273. package/dist/src/utils/levenshtein.js +32 -0
  274. package/dist/src/utils/levenshtein.js.map +1 -0
  275. package/dist/src/utils/suggest.d.ts +15 -0
  276. package/dist/src/utils/suggest.d.ts.map +1 -0
  277. package/dist/src/utils/suggest.js +49 -0
  278. package/dist/src/utils/suggest.js.map +1 -0
  279. package/dist/src/utils/version.d.ts +2 -0
  280. package/dist/src/utils/version.d.ts.map +1 -0
  281. package/dist/src/utils/version.js +21 -0
  282. package/dist/src/utils/version.js.map +1 -0
  283. package/dist/src/utils/web/autocomplete.d.ts +12 -0
  284. package/dist/src/utils/web/autocomplete.d.ts.map +1 -0
  285. package/dist/src/utils/web/autocomplete.js +12 -0
  286. package/dist/src/utils/web/autocomplete.js.map +1 -0
  287. package/dist/src/utils/web/process.d.ts +15 -0
  288. package/dist/src/utils/web/process.d.ts.map +1 -0
  289. package/dist/src/utils/web/process.js +29 -0
  290. package/dist/src/utils/web/process.js.map +1 -0
  291. package/dist/src/validator/__tests__/array.spec.d.ts +2 -0
  292. package/dist/src/validator/__tests__/array.spec.d.ts.map +1 -0
  293. package/dist/src/validator/__tests__/array.spec.js +34 -0
  294. package/dist/src/validator/__tests__/array.spec.js.map +1 -0
  295. package/dist/src/validator/__tests__/caporal.spec.d.ts +2 -0
  296. package/dist/src/validator/__tests__/caporal.spec.d.ts.map +1 -0
  297. package/dist/src/validator/__tests__/caporal.spec.js +86 -0
  298. package/dist/src/validator/__tests__/caporal.spec.js.map +1 -0
  299. package/dist/src/validator/__tests__/function.spec.d.ts +2 -0
  300. package/dist/src/validator/__tests__/function.spec.d.ts.map +1 -0
  301. package/dist/src/validator/__tests__/function.spec.js +42 -0
  302. package/dist/src/validator/__tests__/function.spec.js.map +1 -0
  303. package/dist/src/validator/__tests__/regexp.spec.d.ts +2 -0
  304. package/dist/src/validator/__tests__/regexp.spec.d.ts.map +1 -0
  305. package/dist/src/validator/__tests__/regexp.spec.js +34 -0
  306. package/dist/src/validator/__tests__/regexp.spec.js.map +1 -0
  307. package/dist/src/validator/__tests__/utils.spec.d.ts +2 -0
  308. package/dist/src/validator/__tests__/utils.spec.d.ts.map +1 -0
  309. package/dist/src/validator/__tests__/utils.spec.js +66 -0
  310. package/dist/src/validator/__tests__/utils.spec.js.map +1 -0
  311. package/dist/src/validator/__tests__/validate.spec.d.ts +2 -0
  312. package/dist/src/validator/__tests__/validate.spec.d.ts.map +1 -0
  313. package/dist/src/validator/__tests__/validate.spec.js +25 -0
  314. package/dist/src/validator/__tests__/validate.spec.js.map +1 -0
  315. package/dist/src/validator/array.d.ts +14 -0
  316. package/dist/src/validator/array.d.ts.map +1 -0
  317. package/dist/src/validator/array.js +29 -0
  318. package/dist/src/validator/array.js.map +1 -0
  319. package/dist/src/validator/caporal.d.ts +25 -0
  320. package/dist/src/validator/caporal.d.ts.map +1 -0
  321. package/dist/src/validator/caporal.js +89 -0
  322. package/dist/src/validator/caporal.js.map +1 -0
  323. package/dist/src/validator/function.d.ts +7 -0
  324. package/dist/src/validator/function.d.ts.map +1 -0
  325. package/dist/src/validator/function.js +27 -0
  326. package/dist/src/validator/function.js.map +1 -0
  327. package/dist/src/validator/regexp.d.ts +14 -0
  328. package/dist/src/validator/regexp.d.ts.map +1 -0
  329. package/dist/src/validator/regexp.js +31 -0
  330. package/dist/src/validator/regexp.js.map +1 -0
  331. package/dist/src/validator/utils.d.ts +14 -0
  332. package/dist/src/validator/utils.d.ts.map +1 -0
  333. package/dist/src/validator/utils.js +81 -0
  334. package/dist/src/validator/utils.js.map +1 -0
  335. package/dist/src/validator/validate.d.ts +7 -0
  336. package/dist/src/validator/validate.d.ts.map +1 -0
  337. package/dist/src/validator/validate.js +29 -0
  338. package/dist/src/validator/validate.js.map +1 -0
  339. package/dist/tsconfig.tsbuildinfo +1 -0
  340. package/package.json +75 -0
  341. package/src/__tests__/issue-163.spec.ts +18 -0
  342. package/src/argument/__tests__/argument.spec.ts +84 -0
  343. package/src/argument/find.ts +11 -0
  344. package/src/argument/index.ts +35 -0
  345. package/src/argument/synopsis.ts +41 -0
  346. package/src/argument/validate.ts +176 -0
  347. package/src/autocomplete/__fixtures__/prog-autocomplete.ts +24 -0
  348. package/src/autocomplete/__tests__/autocomplete.spec.ts +129 -0
  349. package/src/autocomplete/index.ts +225 -0
  350. package/src/autocomplete/types.ts +29 -0
  351. package/src/command/__fixtures__/example-cmd.ts +14 -0
  352. package/src/command/__tests__/command.spec.ts +621 -0
  353. package/src/command/__tests__/find.spec.ts +32 -0
  354. package/src/command/__tests__/import.spec.ts +14 -0
  355. package/src/command/__tests__/scan.spec.ts +16 -0
  356. package/src/command/find.ts +57 -0
  357. package/src/command/import.ts +13 -0
  358. package/src/command/index.ts +458 -0
  359. package/src/command/scan.ts +30 -0
  360. package/src/command/validate-call.ts +19 -0
  361. package/src/config/index.ts +26 -0
  362. package/src/error/__tests__/fatal.spec.ts +38 -0
  363. package/src/error/action.ts +13 -0
  364. package/src/error/base.ts +20 -0
  365. package/src/error/fatal.ts +25 -0
  366. package/src/error/index.ts +17 -0
  367. package/src/error/invalid-validator.ts +12 -0
  368. package/src/error/missing-argument.ts +16 -0
  369. package/src/error/missing-flag.ts +16 -0
  370. package/src/error/multi-validation.ts +22 -0
  371. package/src/error/no-action.ts +19 -0
  372. package/src/error/option-synopsis-syntax.ts +12 -0
  373. package/src/error/too-many-arguments.ts +28 -0
  374. package/src/error/unknown-command.ts +41 -0
  375. package/src/error/unknown-option.ts +40 -0
  376. package/src/error/validation.ts +80 -0
  377. package/src/help/__tests__/__snapshots__/help.spec.ts.snap +334 -0
  378. package/src/help/__tests__/help.spec.ts +144 -0
  379. package/src/help/__tests__/utils.spec.ts +14 -0
  380. package/src/help/index.ts +107 -0
  381. package/src/help/templates/command.ts +27 -0
  382. package/src/help/templates/custom.ts +25 -0
  383. package/src/help/templates/header.ts +19 -0
  384. package/src/help/templates/index.ts +9 -0
  385. package/src/help/templates/program.ts +21 -0
  386. package/src/help/templates/usage.ts +24 -0
  387. package/src/help/types.ts +57 -0
  388. package/src/help/utils.ts +109 -0
  389. package/src/index.ts +93 -0
  390. package/src/logger/__tests__/logger.spec.ts +65 -0
  391. package/src/logger/index.ts +97 -0
  392. package/src/option/__tests__/global.spec.ts +141 -0
  393. package/src/option/__tests__/option.spec.ts +115 -0
  394. package/src/option/find.ts +17 -0
  395. package/src/option/index.ts +280 -0
  396. package/src/option/mapping.ts +17 -0
  397. package/src/option/utils.ts +141 -0
  398. package/src/option/validate.ts +80 -0
  399. package/src/parser/__tests__/parser.spec.ts +371 -0
  400. package/src/parser/index.ts +383 -0
  401. package/src/program/__tests__/program.spec.ts +316 -0
  402. package/src/program/index.ts +676 -0
  403. package/src/types.ts +432 -0
  404. package/src/utils/__tests__/fs.spec.ts +14 -0
  405. package/src/utils/__tests__/levenshtein.spec.ts +16 -0
  406. package/src/utils/__tests__/suggest.spec.ts +30 -0
  407. package/src/utils/colorize.ts +21 -0
  408. package/src/utils/fs.ts +13 -0
  409. package/src/utils/levenshtein.ts +28 -0
  410. package/src/utils/suggest.ts +52 -0
  411. package/src/utils/version.ts +14 -0
  412. package/src/utils/web/autocomplete.ts +19 -0
  413. package/src/utils/web/process.ts +24 -0
  414. package/src/validator/__tests__/array.spec.ts +41 -0
  415. package/src/validator/__tests__/caporal.spec.ts +132 -0
  416. package/src/validator/__tests__/function.spec.ts +52 -0
  417. package/src/validator/__tests__/regexp.spec.ts +38 -0
  418. package/src/validator/__tests__/utils.spec.ts +67 -0
  419. package/src/validator/__tests__/validate.spec.ts +24 -0
  420. package/src/validator/array.ts +31 -0
  421. package/src/validator/caporal.ts +104 -0
  422. package/src/validator/function.ts +31 -0
  423. package/src/validator/regexp.ts +34 -0
  424. package/src/validator/utils.ts +84 -0
  425. package/src/validator/validate.ts +38 -0
@@ -0,0 +1,396 @@
1
+ /**
2
+ * List of Caporal type aliases.
3
+ *
4
+ * @packageDocumentation
5
+ * @module caporal/types
6
+ */
7
+ import { Logger as WinstonLogger } from "winston";
8
+ import { Program } from "./program";
9
+ import { Command } from "./command";
10
+ import { CommonError } from "./error";
11
+ /**
12
+ * The Caporal logger interface. It extends the [Winston](https://github.com/winstonjs/winston) Logger interface
13
+ * and adds the following properties & methods.
14
+ * @noInheritDoc
15
+ */
16
+ export interface Logger extends WinstonLogger {
17
+ /**
18
+ * Allow to force disabling colors.
19
+ */
20
+ disableColors(): void;
21
+ /**
22
+ * Tells Caporal if colors are enabled or not.
23
+ */
24
+ colorsEnabled: boolean;
25
+ }
26
+ export type GlobalOptions = Map<Option, Action | undefined>;
27
+ /**
28
+ * Caporal-provided validator flags.
29
+ */
30
+ export declare enum CaporalValidator {
31
+ /**
32
+ * Number validator. Check that the value looks like a numeric one
33
+ * and cast the provided value to a javascript `Number`.
34
+ */
35
+ NUMBER = 1,
36
+ /**
37
+ * Boolean validator. Check that the value looks like a boolean.
38
+ * It accepts values like `true`, `false`, `yes`, `no`, `0`, and `1`
39
+ * and will auto-cast those values to `true` or `false`.
40
+ */
41
+ BOOLEAN = 2,
42
+ /**
43
+ * String validator. Mainly used to make sure the value is a string,
44
+ * and prevent Caporal auto-casting of numerics values and boolean
45
+ * strings like `true` or `false`.
46
+ */
47
+ STRING = 4,
48
+ /**
49
+ * Array validator. Convert any provided value to an array. If a string is provided,
50
+ * this validator will try to split it by commas.
51
+ */
52
+ ARRAY = 8
53
+ }
54
+ type FunctionValidatorArgument = ParsedArgument | ParsedOption;
55
+ export interface FunctionValidator<T = FunctionValidatorArgument> {
56
+ (value: T): Promisable<T>;
57
+ }
58
+ export type Validator = RegExp | FunctionValidator | CaporalValidator | ParserTypes[];
59
+ /**
60
+ * @internal
61
+ */
62
+ export interface ValidatorWrapper {
63
+ validate(value: ParsedArgument | ParsedOption): ParserTypes | ParserTypes[] | Promise<ParserTypes>;
64
+ getChoices(): ParserTypes[];
65
+ }
66
+ export interface OptionSynopsis {
67
+ name: string;
68
+ notation: string;
69
+ shortName?: string;
70
+ shortNotation?: string;
71
+ longName?: string;
72
+ longNotation?: string;
73
+ allNames: string[];
74
+ allNotations: string[];
75
+ synopsis: string;
76
+ valueRequired: boolean;
77
+ valueType?: OptionValueType;
78
+ variadic: boolean;
79
+ }
80
+ /**
81
+ * Option possible value.
82
+ *
83
+ */
84
+ export declare enum OptionValueType {
85
+ /**
86
+ * Value is optional.
87
+ */
88
+ Optional = 0,
89
+ /**
90
+ * Value is required.
91
+ */
92
+ Required = 1,
93
+ /**
94
+ * Option does not have any possible value
95
+ */
96
+ None = 2
97
+ }
98
+ /**
99
+ * Option properties
100
+ */
101
+ export interface CreateOptionCommandOpts {
102
+ /**
103
+ * Optional validator
104
+ */
105
+ validator?: Validator;
106
+ /**
107
+ * Default value for the Option
108
+ */
109
+ default?: ParsedOption;
110
+ /**
111
+ * Set the Option as itself required
112
+ */
113
+ required?: boolean;
114
+ /**
115
+ * Hide the option from help
116
+ */
117
+ hidden?: boolean;
118
+ }
119
+ /**
120
+ * Option properties
121
+ */
122
+ export interface CreateOptionProgramOpts extends CreateOptionCommandOpts {
123
+ /**
124
+ * Set to `true` for a global option.
125
+ */
126
+ global?: boolean;
127
+ /**
128
+ * Action to call when a global-option is passed.
129
+ * Only available for global options, e.g. when `global` is set to `true`.
130
+ */
131
+ action?: Action;
132
+ }
133
+ export interface CreateArgumentOpts {
134
+ /**
135
+ * Argument validator.
136
+ */
137
+ validator?: Validator;
138
+ /**
139
+ * Argument default value.
140
+ */
141
+ default?: ParsedArgument;
142
+ }
143
+ export interface ArgumentSynopsis {
144
+ /**
145
+ * Argument name.
146
+ */
147
+ readonly name: string;
148
+ /**
149
+ * Boolean indicating if the argument is required.
150
+ */
151
+ readonly required: boolean;
152
+ /**
153
+ * Synopsis string.
154
+ */
155
+ readonly synopsis: string;
156
+ /**
157
+ * Boolean indicating if the argument is valiadic,
158
+ * e.g. can be repeated to contain an array of values.
159
+ */
160
+ readonly variadic: boolean;
161
+ }
162
+ export interface Argument extends ArgumentSynopsis {
163
+ readonly default?: ParsedArgument;
164
+ readonly description: string;
165
+ readonly choices: ParsedArgument[];
166
+ readonly validator?: Validator;
167
+ typeHint?: string;
168
+ kind: "argument";
169
+ }
170
+ export interface Option extends OptionSynopsis {
171
+ readonly boolean: boolean;
172
+ readonly default?: ParsedOption;
173
+ readonly description: string;
174
+ readonly choices: ParsedOption[];
175
+ readonly validator?: Validator;
176
+ readonly required: boolean;
177
+ readonly visible: boolean;
178
+ typeHint?: string;
179
+ kind: "option";
180
+ }
181
+ /**
182
+ * A type that could be wrapped in a Promise, or not
183
+ */
184
+ export type Promisable<T> = T | Promise<T>;
185
+ /**
186
+ * Parameters object passed to an {@link Action} function
187
+ */
188
+ export interface ActionParameters {
189
+ /**
190
+ * Parsed command line arguments
191
+ */
192
+ args: ParsedArgumentsObject;
193
+ /**
194
+ * If the `dash` (double dash) config property is enabled,
195
+ * this *array* will contain all arguments present
196
+ * after '--'.
197
+ */
198
+ ddash: ParsedArguments;
199
+ /**
200
+ * Parsed command line options
201
+ */
202
+ options: ParsedOptions;
203
+ /**
204
+ * Program instance
205
+ */
206
+ program: Program;
207
+ /**
208
+ * Contextual command, if any
209
+ */
210
+ command?: Command;
211
+ /**
212
+ * Logger instance
213
+ */
214
+ logger: Logger;
215
+ }
216
+ /**
217
+ * An action is a function that will be executed upon a command call.
218
+ */
219
+ export interface Action {
220
+ (params: ActionParameters): unknown;
221
+ }
222
+ export interface ErrorMetadata {
223
+ [meta: string]: unknown;
224
+ }
225
+ export type ParserTypes = string | number | boolean;
226
+ /**
227
+ * Available options for the Caporal internal parser.
228
+ * Arguments must be referenced by their position (0-based) and options by their name (short or long)
229
+ * in {@link ParserOptions.boolean boolean}, {@link ParserOptions.string string}
230
+ * and {@link ParserOptions.variadic variadic} parser options.
231
+ *
232
+ */
233
+ export interface ParserOptions {
234
+ /**
235
+ * List of {@link Argument Arguments} and {@link Options Options} to be casted as *booleans*.
236
+ * Arguments must be referenced by their position (0-based) and options by their name (short or long).
237
+ *
238
+ * **Example**
239
+ *
240
+ * ```ts
241
+ * import { parseArgv } from "caporal/parser"
242
+ *
243
+ * parseArgv({
244
+ * boolean: [2, 'sendEmail']
245
+ * })
246
+ *
247
+ * // ./my-cli-app first-arg second-arg 3rd-arg --sendEmail=1
248
+ * // -> "3rd-arg" will be casted to boolean as well as "--sendEmail"
249
+ * ```
250
+ */
251
+ boolean: (string | number)[];
252
+ /**
253
+ * List of {@link Argument Arguments} and {@link Options Options} to be casted as *strings*.
254
+ * Arguments must be referenced by their position (0-based) and options by their name (short or long).
255
+ *
256
+ * **Example**
257
+ *
258
+ * ```ts
259
+ * import { parseArgv } from "caporal/parser"
260
+ *
261
+ * parseArgv({
262
+ * string: [1]
263
+ * })
264
+ *
265
+ * // ./my-cli-app first-arg 2
266
+ * // -> second arg "2" will be casted to string instead of number
267
+ * ```
268
+ */
269
+ string: (string | number)[];
270
+ /**
271
+ * List of variadic {@link Argument Arguments} and {@link Options Options}, meaning
272
+ * that there value is an `Array`.
273
+ *
274
+ * Arguments must be referenced by their position (0-based) and options by their name (short or long).
275
+ *
276
+ * **Example**
277
+ *
278
+ * ```ts
279
+ * import { parseArgv } from "caporal/parser"
280
+ *
281
+ * parseArgv({
282
+ * variadic: [1]
283
+ * })
284
+ *
285
+ * // ./pizza order margherita regina --add sausages --add basil
286
+ * {
287
+ * args: ['order', ['margherita', 'regina']]
288
+ * options: {
289
+ * add: ['sausages', 'basil']
290
+ * }
291
+ * }
292
+ * ```
293
+ */
294
+ variadic: (string | number)[];
295
+ /**
296
+ * Double-dash (--) handling mode. If `true`, the parser will populate the
297
+ * {@link ParserResult.ddash} property, otherwise, arguments will be added
298
+ * to {@link ParserResult.args}.
299
+ */
300
+ ddash: boolean;
301
+ /**
302
+ * Option aliases map.
303
+ */
304
+ alias: Record<string, string>;
305
+ /**
306
+ * Enable or disable autocasting of arguments and options. Default to `true`.
307
+ */
308
+ autoCast: boolean;
309
+ }
310
+ export type ParsedArgument = ParserTypes | ParserTypes[];
311
+ export type ParsedArguments = ParsedArgument[];
312
+ export interface ParsedArgumentsObject {
313
+ [arg: string]: ParsedArgument;
314
+ }
315
+ export type ParsedOption = ParserTypes | ParserTypes[];
316
+ export interface ParsedOptions {
317
+ [opt: string]: ParsedOption;
318
+ }
319
+ /**
320
+ * @internal
321
+ */
322
+ export interface ArgumentsRange {
323
+ min: number;
324
+ max: number;
325
+ }
326
+ export interface ParserResult {
327
+ args: ParsedArguments;
328
+ options: ParsedOptions;
329
+ rawOptions: ParsedOptions;
330
+ line: string;
331
+ rawArgv: string[];
332
+ ddash: ParsedArguments;
333
+ }
334
+ export interface ParserProcessedResult extends Omit<ParserResult, "args"> {
335
+ args: ParsedArgumentsObject;
336
+ errors: CommonError[];
337
+ }
338
+ export interface CreateCommandParameters {
339
+ program: Program;
340
+ createCommand(description?: string): Command;
341
+ }
342
+ export interface CommandCreator {
343
+ (options: CreateCommandParameters): Command;
344
+ }
345
+ /**
346
+ * Available configuration properties for the program.
347
+ */
348
+ export type ProgramConfig = {
349
+ /**
350
+ * Strict checking of arguments count. If enabled, any additional argument willl trigger an error.
351
+ * Default to `true`.
352
+ */
353
+ strictArgsCount: boolean;
354
+ /**
355
+ * Strict checking of options provided. If enabled, any unknown option will trigger an error.
356
+ * Default to `true`.
357
+ */
358
+ strictOptions: boolean;
359
+ /**
360
+ * Auto-casting of arguments and options.
361
+ * Default to `true`.
362
+ */
363
+ autoCast: boolean;
364
+ /**
365
+ * Environment variable to check for log level override.
366
+ * Default to "CAPORAL_LOG_LEVEL".
367
+ */
368
+ logLevelEnvVar: string;
369
+ };
370
+ export type CommandConfig = {
371
+ /**
372
+ * Strict checking of arguments count. If enabled, any additional argument willl trigger an error.
373
+ */
374
+ strictArgsCount?: boolean;
375
+ /**
376
+ * Strict checking of options provided. If enabled, any unknown option will trigger an error.
377
+ */
378
+ strictOptions?: boolean;
379
+ /**
380
+ * Auto-casting of arguments and options.
381
+ */
382
+ autoCast?: boolean;
383
+ /**
384
+ * Visibility of the command in help.
385
+ */
386
+ visible: boolean;
387
+ };
388
+ export type BaseConfig = Record<string, boolean | string>;
389
+ export interface Configurator<T extends BaseConfig> {
390
+ get<K extends keyof T>(key: K): T[K];
391
+ getAll(): T;
392
+ set(props: Partial<T>): T;
393
+ reset(): T;
394
+ }
395
+ export {};
396
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OptionValueType = exports.CaporalValidator = void 0;
4
+ /**
5
+ * Caporal-provided validator flags.
6
+ */
7
+ var CaporalValidator;
8
+ (function (CaporalValidator) {
9
+ /**
10
+ * Number validator. Check that the value looks like a numeric one
11
+ * and cast the provided value to a javascript `Number`.
12
+ */
13
+ CaporalValidator[CaporalValidator["NUMBER"] = 1] = "NUMBER";
14
+ /**
15
+ * Boolean validator. Check that the value looks like a boolean.
16
+ * It accepts values like `true`, `false`, `yes`, `no`, `0`, and `1`
17
+ * and will auto-cast those values to `true` or `false`.
18
+ */
19
+ CaporalValidator[CaporalValidator["BOOLEAN"] = 2] = "BOOLEAN";
20
+ /**
21
+ * String validator. Mainly used to make sure the value is a string,
22
+ * and prevent Caporal auto-casting of numerics values and boolean
23
+ * strings like `true` or `false`.
24
+ */
25
+ CaporalValidator[CaporalValidator["STRING"] = 4] = "STRING";
26
+ /**
27
+ * Array validator. Convert any provided value to an array. If a string is provided,
28
+ * this validator will try to split it by commas.
29
+ */
30
+ CaporalValidator[CaporalValidator["ARRAY"] = 8] = "ARRAY";
31
+ })(CaporalValidator || (exports.CaporalValidator = CaporalValidator = {}));
32
+ /**
33
+ * Option possible value.
34
+ *
35
+ */
36
+ var OptionValueType;
37
+ (function (OptionValueType) {
38
+ /**
39
+ * Value is optional.
40
+ */
41
+ OptionValueType[OptionValueType["Optional"] = 0] = "Optional";
42
+ /**
43
+ * Value is required.
44
+ */
45
+ OptionValueType[OptionValueType["Required"] = 1] = "Required";
46
+ /**
47
+ * Option does not have any possible value
48
+ */
49
+ OptionValueType[OptionValueType["None"] = 2] = "None";
50
+ })(OptionValueType || (exports.OptionValueType = OptionValueType = {}));
51
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA8BA;;GAEG;AACH,IAAY,gBAuBX;AAvBD,WAAY,gBAAgB;IAC1B;;;OAGG;IACH,2DAAU,CAAA;IACV;;;;OAIG;IACH,6DAAW,CAAA;IACX;;;;OAIG;IACH,2DAAU,CAAA;IACV;;;OAGG;IACH,yDAAS,CAAA;AACX,CAAC,EAvBW,gBAAgB,gCAAhB,gBAAgB,QAuB3B;AAyCD;;;GAGG;AACH,IAAY,eAaX;AAbD,WAAY,eAAe;IACzB;;OAEG;IACH,6DAAQ,CAAA;IACR;;OAEG;IACH,6DAAQ,CAAA;IACR;;OAEG;IACH,qDAAI,CAAA;AACN,CAAC,EAbW,eAAe,+BAAf,eAAe,QAa1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fs.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.spec.d.ts","sourceRoot":"","sources":["../../../../src/utils/__tests__/fs.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fs_1 = require("../fs");
4
+ const vitest_1 = require("vitest");
5
+ (0, vitest_1.describe)("readdir()", () => {
6
+ (0, vitest_1.it)("should resolve to a file list on success", async () => {
7
+ const files = await (0, fs_1.readdir)(__dirname);
8
+ return (0, vitest_1.expect)(files.sort()).toEqual(["fs.spec.ts", "levenshtein.spec.ts", "suggest.spec.ts"].sort());
9
+ });
10
+ (0, vitest_1.it)("should reject if directory does note exist", () => {
11
+ return (0, vitest_1.expect)((0, fs_1.readdir)("/does/not/exist")).rejects.toBeInstanceOf(Error);
12
+ });
13
+ });
14
+ //# sourceMappingURL=fs.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.spec.js","sourceRoot":"","sources":["../../../../src/utils/__tests__/fs.spec.ts"],"names":[],"mappings":";;AAAA,8BAA+B;AAC/B,mCAA6C;AAE7C,IAAA,iBAAQ,EAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAA,WAAE,EAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,KAAK,GAAG,MAAM,IAAA,YAAO,EAAC,SAAS,CAAC,CAAA;QACtC,OAAO,IAAA,eAAM,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CACjC,CAAC,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAChE,CAAA;IACH,CAAC,CAAC,CAAA;IACF,IAAA,WAAE,EAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,OAAO,IAAA,eAAM,EAAC,IAAA,YAAO,EAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACzE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=levenshtein.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.spec.d.ts","sourceRoot":"","sources":["../../../../src/utils/__tests__/levenshtein.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const levenshtein_1 = require("../levenshtein");
4
+ const vitest_1 = require("vitest");
5
+ (0, vitest_1.describe)("levenshtein", () => {
6
+ vitest_1.it.each([
7
+ ["hello", "bye", 5],
8
+ ["some", "sometimes", 5],
9
+ ["john", "jane", 3],
10
+ ["exemple", "example", 1],
11
+ ["", "", 0],
12
+ ["not-empty", "", 9],
13
+ ["", "not-empty", 9],
14
+ ])(".levenshtein('%s', '%s')", (a, b, expected) => {
15
+ (0, vitest_1.expect)((0, levenshtein_1.levenshtein)(a, b)).toBe(expected);
16
+ });
17
+ });
18
+ //# sourceMappingURL=levenshtein.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.spec.js","sourceRoot":"","sources":["../../../../src/utils/__tests__/levenshtein.spec.ts"],"names":[],"mappings":";;AAAA,gDAA4C;AAC5C,mCAA6C;AAE7C,IAAA,iBAAQ,EAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,WAAE,CAAC,IAAI,CAAC;QACN,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnB,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACxB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACnB,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;QACzB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACX,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QACpB,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;KACrB,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;QAChD,IAAA,eAAM,EAAC,IAAA,yBAAW,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=suggest.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.spec.d.ts","sourceRoot":"","sources":["../../../../src/utils/__tests__/suggest.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const suggest_1 = require("../suggest");
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const vitest_1 = require("vitest");
9
+ (0, vitest_1.describe)("Suggest", () => {
10
+ (0, vitest_1.describe)("getSuggestions()", () => {
11
+ (0, vitest_1.it)("should return proper suggestions", () => {
12
+ const suggestions = (0, suggest_1.getSuggestions)("foo", ["foa", "foab", "foabc", "afoo", "bfoap"]);
13
+ (0, vitest_1.expect)(suggestions).toStrictEqual(["foa", "afoo", "foab"]);
14
+ });
15
+ });
16
+ (0, vitest_1.describe)("boldDiffString()", () => {
17
+ (0, vitest_1.it)("should make the diff bold at the end of the word", () => {
18
+ (0, vitest_1.expect)((0, suggest_1.boldDiffString)("foo", "foob")).toEqual("foo" + chalk_1.default.bold.greenBright("b"));
19
+ });
20
+ (0, vitest_1.it)("should make the diff bold at the beginning of the word", () => {
21
+ (0, vitest_1.expect)((0, suggest_1.boldDiffString)("foo", "doo")).toBe(chalk_1.default.bold.greenBright("d") + "oo");
22
+ });
23
+ (0, vitest_1.it)("should make the diff bold at the middle of the word", () => {
24
+ (0, vitest_1.expect)((0, suggest_1.boldDiffString)("foo", "fao")).toBe("f" + chalk_1.default.bold.greenBright("a") + "o");
25
+ });
26
+ (0, vitest_1.it)("should make the diff bold anywhere in the word", () => {
27
+ (0, vitest_1.expect)((0, suggest_1.boldDiffString)("minimum", "maximum")).toBe("m" + chalk_1.default.bold.greenBright("a") + chalk_1.default.bold.greenBright("x") + "imum");
28
+ });
29
+ });
30
+ });
31
+ //# sourceMappingURL=suggest.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.spec.js","sourceRoot":"","sources":["../../../../src/utils/__tests__/suggest.spec.ts"],"names":[],"mappings":";;;;;AAAA,wCAA2D;AAC3D,kDAAqB;AACrB,mCAA6C;AAE7C,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAA,WAAE,EAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,WAAW,GAAG,IAAA,wBAAc,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;YACpF,IAAA,eAAM,EAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAA,WAAE,EAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,eAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;QACF,IAAA,WAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3E,CAAC,CAAC,CAAA;QAEF,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,eAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAChF,CAAC,CAAC,CAAA;QAEF,IAAA,WAAE,EAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,IAAA,eAAM,EAAC,IAAA,wBAAc,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAC/C,GAAG,GAAG,eAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,eAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CACjE,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function colorize(text: string): string;
2
+ //# sourceMappingURL=colorize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorize.d.ts","sourceRoot":"","sources":["../../../src/utils/colorize.ts"],"names":[],"mappings":"AAMA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc7C"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.colorize = colorize;
7
+ /**
8
+ * @packageDocumentation
9
+ * @internal
10
+ */
11
+ const chalk_1 = __importDefault(require("chalk"));
12
+ function colorize(text) {
13
+ return text
14
+ .replace(/<([^>]+)>/gi, (match) => {
15
+ return chalk_1.default.hex("#569cd6")(match);
16
+ })
17
+ .replace(/<command>/gi, (match) => {
18
+ return chalk_1.default.hex("#ff9900")(match);
19
+ })
20
+ .replace(/\[([^[\]]+)\]/gi, (match) => {
21
+ return chalk_1.default.hex("#aaa")(match);
22
+ })
23
+ .replace(/ --?([^\s,]+)/gi, (match) => {
24
+ return chalk_1.default.green(match);
25
+ });
26
+ }
27
+ //# sourceMappingURL=colorize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorize.js","sourceRoot":"","sources":["../../../src/utils/colorize.ts"],"names":[],"mappings":";;;;;AAMA,4BAcC;AApBD;;;GAGG;AACH,kDAAqB;AAErB,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,eAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC,CAAC;SACD,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,eAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC,CAAC;SACD,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACpC,OAAO,eAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAC;SACD,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE;QACpC,OAAO,eAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function readdir(dirPath: string, extensions?: string): Promise<string[]>;
2
+ //# sourceMappingURL=fs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":"AAOA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,SAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKhF"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.readdir = readdir;
7
+ /**
8
+ * @packageDocumentation
9
+ * @internal
10
+ */
11
+ const glob_1 = require("glob");
12
+ const fs_1 = __importDefault(require("fs"));
13
+ function readdir(dirPath, extensions = "js,ts") {
14
+ if (!fs_1.default.existsSync(dirPath)) {
15
+ return Promise.reject(new Error(`'${dirPath}' does not exist!`));
16
+ }
17
+ return (0, glob_1.glob)(`**/*.{${extensions}}`, { cwd: dirPath });
18
+ }
19
+ //# sourceMappingURL=fs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/utils/fs.ts"],"names":[],"mappings":";;;;;AAOA,0BAKC;AAZD;;;GAGG;AACH,+BAA2B;AAC3B,4CAAmB;AAEnB,SAAgB,OAAO,CAAC,OAAe,EAAE,UAAU,GAAG,OAAO;IAC3D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,OAAO,mBAAmB,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAA,WAAI,EAAC,SAAS,UAAU,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;AACvD,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * @internal
4
+ */
5
+ export declare function levenshtein(a: string, b: string): number;
6
+ //# sourceMappingURL=levenshtein.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../../../src/utils/levenshtein.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAuBxD"}