pull-request-split-advisor 3.1.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 (375) hide show
  1. package/LICENSE +52 -0
  2. package/README.md +168 -0
  3. package/dist/ai/config-wizard.js +282 -0
  4. package/dist/ai/enricher.js +290 -0
  5. package/dist/ai/prompts.js +231 -0
  6. package/dist/ai/provider.js +265 -0
  7. package/dist/cli.js +442 -0
  8. package/dist/config/config.js +315 -0
  9. package/dist/config/default-config.js +223 -0
  10. package/dist/core/blocks.js +145 -0
  11. package/dist/core/commit-planner.js +273 -0
  12. package/dist/core/dependency.js +284 -0
  13. package/dist/core/file-stats.js +341 -0
  14. package/dist/core/history.js +72 -0
  15. package/dist/core/planner.js +25 -0
  16. package/dist/core/scoring.js +166 -0
  17. package/dist/core/strategy.js +486 -0
  18. package/dist/git/branch-naming.js +120 -0
  19. package/dist/git/executor.js +378 -0
  20. package/dist/git/git.js +239 -0
  21. package/dist/output/report-styles.generated.js +10 -0
  22. package/dist/output/report.js +726 -0
  23. package/dist/output/ui.js +417 -0
  24. package/dist/shared/constants.js +59 -0
  25. package/dist/shared/types.js +7 -0
  26. package/dist/shared/utils.js +73 -0
  27. package/node_modules/@colors/colors/LICENSE +26 -0
  28. package/node_modules/@colors/colors/README.md +219 -0
  29. package/node_modules/@colors/colors/examples/normal-usage.js +83 -0
  30. package/node_modules/@colors/colors/examples/safe-string.js +80 -0
  31. package/node_modules/@colors/colors/index.d.ts +136 -0
  32. package/node_modules/@colors/colors/lib/colors.js +211 -0
  33. package/node_modules/@colors/colors/lib/custom/trap.js +46 -0
  34. package/node_modules/@colors/colors/lib/custom/zalgo.js +110 -0
  35. package/node_modules/@colors/colors/lib/extendStringPrototype.js +110 -0
  36. package/node_modules/@colors/colors/lib/index.js +13 -0
  37. package/node_modules/@colors/colors/lib/maps/america.js +10 -0
  38. package/node_modules/@colors/colors/lib/maps/rainbow.js +12 -0
  39. package/node_modules/@colors/colors/lib/maps/random.js +11 -0
  40. package/node_modules/@colors/colors/lib/maps/zebra.js +5 -0
  41. package/node_modules/@colors/colors/lib/styles.js +95 -0
  42. package/node_modules/@colors/colors/lib/system/has-flag.js +35 -0
  43. package/node_modules/@colors/colors/lib/system/supports-colors.js +151 -0
  44. package/node_modules/@colors/colors/package.json +45 -0
  45. package/node_modules/@colors/colors/safe.d.ts +48 -0
  46. package/node_modules/@colors/colors/safe.js +10 -0
  47. package/node_modules/@colors/colors/themes/generic-logging.js +12 -0
  48. package/node_modules/ansi-align/LICENSE +13 -0
  49. package/node_modules/ansi-align/README.md +80 -0
  50. package/node_modules/ansi-align/index.js +61 -0
  51. package/node_modules/ansi-align/node_modules/ansi-regex/index.d.ts +37 -0
  52. package/node_modules/ansi-align/node_modules/ansi-regex/index.js +10 -0
  53. package/node_modules/ansi-align/node_modules/ansi-regex/license +9 -0
  54. package/node_modules/ansi-align/node_modules/ansi-regex/package.json +55 -0
  55. package/node_modules/ansi-align/node_modules/ansi-regex/readme.md +78 -0
  56. package/node_modules/ansi-align/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  57. package/node_modules/ansi-align/node_modules/emoji-regex/README.md +73 -0
  58. package/node_modules/ansi-align/node_modules/emoji-regex/es2015/index.js +6 -0
  59. package/node_modules/ansi-align/node_modules/emoji-regex/es2015/text.js +6 -0
  60. package/node_modules/ansi-align/node_modules/emoji-regex/index.d.ts +23 -0
  61. package/node_modules/ansi-align/node_modules/emoji-regex/index.js +6 -0
  62. package/node_modules/ansi-align/node_modules/emoji-regex/package.json +50 -0
  63. package/node_modules/ansi-align/node_modules/emoji-regex/text.js +6 -0
  64. package/node_modules/ansi-align/node_modules/string-width/index.d.ts +29 -0
  65. package/node_modules/ansi-align/node_modules/string-width/index.js +47 -0
  66. package/node_modules/ansi-align/node_modules/string-width/license +9 -0
  67. package/node_modules/ansi-align/node_modules/string-width/package.json +56 -0
  68. package/node_modules/ansi-align/node_modules/string-width/readme.md +50 -0
  69. package/node_modules/ansi-align/node_modules/strip-ansi/index.d.ts +17 -0
  70. package/node_modules/ansi-align/node_modules/strip-ansi/index.js +4 -0
  71. package/node_modules/ansi-align/node_modules/strip-ansi/license +9 -0
  72. package/node_modules/ansi-align/node_modules/strip-ansi/package.json +54 -0
  73. package/node_modules/ansi-align/node_modules/strip-ansi/readme.md +46 -0
  74. package/node_modules/ansi-align/package.json +43 -0
  75. package/node_modules/ansi-regex/index.d.ts +33 -0
  76. package/node_modules/ansi-regex/index.js +14 -0
  77. package/node_modules/ansi-regex/license +9 -0
  78. package/node_modules/ansi-regex/package.json +61 -0
  79. package/node_modules/ansi-regex/readme.md +66 -0
  80. package/node_modules/ansi-styles/index.d.ts +236 -0
  81. package/node_modules/ansi-styles/index.js +223 -0
  82. package/node_modules/ansi-styles/license +9 -0
  83. package/node_modules/ansi-styles/package.json +54 -0
  84. package/node_modules/ansi-styles/readme.md +173 -0
  85. package/node_modules/boxen/index.d.ts +267 -0
  86. package/node_modules/boxen/index.js +376 -0
  87. package/node_modules/boxen/license +9 -0
  88. package/node_modules/boxen/package.json +69 -0
  89. package/node_modules/boxen/readme.md +300 -0
  90. package/node_modules/camelcase/index.d.ts +102 -0
  91. package/node_modules/camelcase/index.js +110 -0
  92. package/node_modules/camelcase/license +9 -0
  93. package/node_modules/camelcase/package.json +47 -0
  94. package/node_modules/camelcase/readme.md +135 -0
  95. package/node_modules/chalk/license +9 -0
  96. package/node_modules/chalk/package.json +83 -0
  97. package/node_modules/chalk/readme.md +297 -0
  98. package/node_modules/chalk/source/index.d.ts +325 -0
  99. package/node_modules/chalk/source/index.js +225 -0
  100. package/node_modules/chalk/source/utilities.js +33 -0
  101. package/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  102. package/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  103. package/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  104. package/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  105. package/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  106. package/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  107. package/node_modules/cli-boxes/boxes.json +82 -0
  108. package/node_modules/cli-boxes/index.d.ts +127 -0
  109. package/node_modules/cli-boxes/index.js +6 -0
  110. package/node_modules/cli-boxes/license +9 -0
  111. package/node_modules/cli-boxes/package.json +42 -0
  112. package/node_modules/cli-boxes/readme.md +115 -0
  113. package/node_modules/cli-table3/LICENSE +21 -0
  114. package/node_modules/cli-table3/README.md +236 -0
  115. package/node_modules/cli-table3/index.d.ts +96 -0
  116. package/node_modules/cli-table3/index.js +1 -0
  117. package/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts +37 -0
  118. package/node_modules/cli-table3/node_modules/ansi-regex/index.js +10 -0
  119. package/node_modules/cli-table3/node_modules/ansi-regex/license +9 -0
  120. package/node_modules/cli-table3/node_modules/ansi-regex/package.json +55 -0
  121. package/node_modules/cli-table3/node_modules/ansi-regex/readme.md +78 -0
  122. package/node_modules/cli-table3/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  123. package/node_modules/cli-table3/node_modules/emoji-regex/README.md +73 -0
  124. package/node_modules/cli-table3/node_modules/emoji-regex/es2015/index.js +6 -0
  125. package/node_modules/cli-table3/node_modules/emoji-regex/es2015/text.js +6 -0
  126. package/node_modules/cli-table3/node_modules/emoji-regex/index.d.ts +23 -0
  127. package/node_modules/cli-table3/node_modules/emoji-regex/index.js +6 -0
  128. package/node_modules/cli-table3/node_modules/emoji-regex/package.json +50 -0
  129. package/node_modules/cli-table3/node_modules/emoji-regex/text.js +6 -0
  130. package/node_modules/cli-table3/node_modules/string-width/index.d.ts +29 -0
  131. package/node_modules/cli-table3/node_modules/string-width/index.js +47 -0
  132. package/node_modules/cli-table3/node_modules/string-width/license +9 -0
  133. package/node_modules/cli-table3/node_modules/string-width/package.json +56 -0
  134. package/node_modules/cli-table3/node_modules/string-width/readme.md +50 -0
  135. package/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts +17 -0
  136. package/node_modules/cli-table3/node_modules/strip-ansi/index.js +4 -0
  137. package/node_modules/cli-table3/node_modules/strip-ansi/license +9 -0
  138. package/node_modules/cli-table3/node_modules/strip-ansi/package.json +54 -0
  139. package/node_modules/cli-table3/node_modules/strip-ansi/readme.md +46 -0
  140. package/node_modules/cli-table3/package.json +100 -0
  141. package/node_modules/cli-table3/src/cell.js +409 -0
  142. package/node_modules/cli-table3/src/debug.js +28 -0
  143. package/node_modules/cli-table3/src/layout-manager.js +254 -0
  144. package/node_modules/cli-table3/src/table.js +106 -0
  145. package/node_modules/cli-table3/src/utils.js +344 -0
  146. package/node_modules/commander/LICENSE +22 -0
  147. package/node_modules/commander/Readme.md +1157 -0
  148. package/node_modules/commander/esm.mjs +16 -0
  149. package/node_modules/commander/index.js +24 -0
  150. package/node_modules/commander/lib/argument.js +149 -0
  151. package/node_modules/commander/lib/command.js +2509 -0
  152. package/node_modules/commander/lib/error.js +39 -0
  153. package/node_modules/commander/lib/help.js +520 -0
  154. package/node_modules/commander/lib/option.js +330 -0
  155. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  156. package/node_modules/commander/package-support.json +16 -0
  157. package/node_modules/commander/package.json +84 -0
  158. package/node_modules/commander/typings/esm.d.mts +3 -0
  159. package/node_modules/commander/typings/index.d.ts +969 -0
  160. package/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  161. package/node_modules/emoji-regex/README.md +107 -0
  162. package/node_modules/emoji-regex/index.d.ts +3 -0
  163. package/node_modules/emoji-regex/index.js +4 -0
  164. package/node_modules/emoji-regex/index.mjs +4 -0
  165. package/node_modules/emoji-regex/package.json +45 -0
  166. package/node_modules/get-east-asian-width/index.d.ts +60 -0
  167. package/node_modules/get-east-asian-width/index.js +30 -0
  168. package/node_modules/get-east-asian-width/license +9 -0
  169. package/node_modules/get-east-asian-width/lookup-data.js +18 -0
  170. package/node_modules/get-east-asian-width/lookup.js +135 -0
  171. package/node_modules/get-east-asian-width/package.json +71 -0
  172. package/node_modules/get-east-asian-width/readme.md +65 -0
  173. package/node_modules/get-east-asian-width/utilities.js +24 -0
  174. package/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
  175. package/node_modules/is-fullwidth-code-point/index.js +50 -0
  176. package/node_modules/is-fullwidth-code-point/license +9 -0
  177. package/node_modules/is-fullwidth-code-point/package.json +42 -0
  178. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  179. package/node_modules/isbinaryfile/LICENSE.txt +22 -0
  180. package/node_modules/isbinaryfile/README.md +70 -0
  181. package/node_modules/isbinaryfile/lib/index.d.ts +3 -0
  182. package/node_modules/isbinaryfile/lib/index.js +256 -0
  183. package/node_modules/isbinaryfile/package.json +64 -0
  184. package/node_modules/string-width/index.d.ts +39 -0
  185. package/node_modules/string-width/index.js +82 -0
  186. package/node_modules/string-width/license +9 -0
  187. package/node_modules/string-width/package.json +64 -0
  188. package/node_modules/string-width/readme.md +66 -0
  189. package/node_modules/strip-ansi/index.d.ts +15 -0
  190. package/node_modules/strip-ansi/index.js +19 -0
  191. package/node_modules/strip-ansi/license +9 -0
  192. package/node_modules/strip-ansi/package.json +59 -0
  193. package/node_modules/strip-ansi/readme.md +37 -0
  194. package/node_modules/type-fest/index.d.ts +178 -0
  195. package/node_modules/type-fest/license-cc0 +121 -0
  196. package/node_modules/type-fest/license-mit +9 -0
  197. package/node_modules/type-fest/package.json +91 -0
  198. package/node_modules/type-fest/readme.md +1060 -0
  199. package/node_modules/type-fest/source/all-union-fields.d.ts +88 -0
  200. package/node_modules/type-fest/source/and.d.ts +25 -0
  201. package/node_modules/type-fest/source/array-indices.d.ts +23 -0
  202. package/node_modules/type-fest/source/array-slice.d.ts +109 -0
  203. package/node_modules/type-fest/source/array-splice.d.ts +99 -0
  204. package/node_modules/type-fest/source/array-tail.d.ts +76 -0
  205. package/node_modules/type-fest/source/array-values.d.ts +22 -0
  206. package/node_modules/type-fest/source/arrayable.d.ts +29 -0
  207. package/node_modules/type-fest/source/async-return-type.d.ts +23 -0
  208. package/node_modules/type-fest/source/asyncify.d.ts +32 -0
  209. package/node_modules/type-fest/source/basic.d.ts +68 -0
  210. package/node_modules/type-fest/source/camel-case.d.ts +89 -0
  211. package/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +97 -0
  212. package/node_modules/type-fest/source/camel-cased-properties.d.ts +43 -0
  213. package/node_modules/type-fest/source/conditional-except.d.ts +45 -0
  214. package/node_modules/type-fest/source/conditional-keys.d.ts +47 -0
  215. package/node_modules/type-fest/source/conditional-pick-deep.d.ts +118 -0
  216. package/node_modules/type-fest/source/conditional-pick.d.ts +44 -0
  217. package/node_modules/type-fest/source/conditional-simplify.d.ts +32 -0
  218. package/node_modules/type-fest/source/delimiter-case.d.ts +78 -0
  219. package/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +106 -0
  220. package/node_modules/type-fest/source/delimiter-cased-properties.d.ts +46 -0
  221. package/node_modules/type-fest/source/distributed-omit.d.ts +89 -0
  222. package/node_modules/type-fest/source/distributed-pick.d.ts +85 -0
  223. package/node_modules/type-fest/source/empty-object.d.ts +46 -0
  224. package/node_modules/type-fest/source/enforce-optional.d.ts +47 -0
  225. package/node_modules/type-fest/source/entries.d.ts +62 -0
  226. package/node_modules/type-fest/source/entry.d.ts +65 -0
  227. package/node_modules/type-fest/source/exact.d.ts +68 -0
  228. package/node_modules/type-fest/source/except.d.ts +108 -0
  229. package/node_modules/type-fest/source/find-global-type.d.ts +64 -0
  230. package/node_modules/type-fest/source/fixed-length-array.d.ts +43 -0
  231. package/node_modules/type-fest/source/get.d.ts +219 -0
  232. package/node_modules/type-fest/source/global-this.d.ts +21 -0
  233. package/node_modules/type-fest/source/greater-than-or-equal.d.ts +22 -0
  234. package/node_modules/type-fest/source/greater-than.d.ts +56 -0
  235. package/node_modules/type-fest/source/has-optional-keys.d.ts +21 -0
  236. package/node_modules/type-fest/source/has-readonly-keys.d.ts +21 -0
  237. package/node_modules/type-fest/source/has-required-keys.d.ts +59 -0
  238. package/node_modules/type-fest/source/has-writable-keys.d.ts +21 -0
  239. package/node_modules/type-fest/source/if-any.d.ts +24 -0
  240. package/node_modules/type-fest/source/if-empty-object.d.ts +26 -0
  241. package/node_modules/type-fest/source/if-never.d.ts +24 -0
  242. package/node_modules/type-fest/source/if-null.d.ts +24 -0
  243. package/node_modules/type-fest/source/if-unknown.d.ts +24 -0
  244. package/node_modules/type-fest/source/includes.d.ts +22 -0
  245. package/node_modules/type-fest/source/int-closed-range.d.ts +35 -0
  246. package/node_modules/type-fest/source/int-range.d.ts +55 -0
  247. package/node_modules/type-fest/source/internal/array.d.ts +126 -0
  248. package/node_modules/type-fest/source/internal/characters.d.ts +67 -0
  249. package/node_modules/type-fest/source/internal/index.d.ts +8 -0
  250. package/node_modules/type-fest/source/internal/keys.d.ts +97 -0
  251. package/node_modules/type-fest/source/internal/numeric.d.ts +118 -0
  252. package/node_modules/type-fest/source/internal/object.d.ts +236 -0
  253. package/node_modules/type-fest/source/internal/string.d.ts +210 -0
  254. package/node_modules/type-fest/source/internal/tuple.d.ts +90 -0
  255. package/node_modules/type-fest/source/internal/type.d.ts +139 -0
  256. package/node_modules/type-fest/source/invariant-of.d.ts +76 -0
  257. package/node_modules/type-fest/source/is-any.d.ts +33 -0
  258. package/node_modules/type-fest/source/is-equal.d.ts +31 -0
  259. package/node_modules/type-fest/source/is-float.d.ts +41 -0
  260. package/node_modules/type-fest/source/is-integer.d.ts +58 -0
  261. package/node_modules/type-fest/source/is-literal.d.ts +296 -0
  262. package/node_modules/type-fest/source/is-never.d.ts +42 -0
  263. package/node_modules/type-fest/source/is-null.d.ts +20 -0
  264. package/node_modules/type-fest/source/is-tuple.d.ts +89 -0
  265. package/node_modules/type-fest/source/is-unknown.d.ts +52 -0
  266. package/node_modules/type-fest/source/iterable-element.d.ts +64 -0
  267. package/node_modules/type-fest/source/join.d.ts +68 -0
  268. package/node_modules/type-fest/source/jsonifiable.d.ts +37 -0
  269. package/node_modules/type-fest/source/jsonify.d.ts +122 -0
  270. package/node_modules/type-fest/source/kebab-case.d.ts +44 -0
  271. package/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +63 -0
  272. package/node_modules/type-fest/source/kebab-cased-properties.d.ts +40 -0
  273. package/node_modules/type-fest/source/keys-of-union.d.ts +42 -0
  274. package/node_modules/type-fest/source/last-array-element.d.ts +38 -0
  275. package/node_modules/type-fest/source/less-than-or-equal.d.ts +22 -0
  276. package/node_modules/type-fest/source/less-than.d.ts +26 -0
  277. package/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +36 -0
  278. package/node_modules/type-fest/source/literal-to-primitive.d.ts +36 -0
  279. package/node_modules/type-fest/source/literal-union.d.ts +37 -0
  280. package/node_modules/type-fest/source/merge-deep.d.ts +486 -0
  281. package/node_modules/type-fest/source/merge-exclusive.d.ts +41 -0
  282. package/node_modules/type-fest/source/merge.d.ts +48 -0
  283. package/node_modules/type-fest/source/multidimensional-array.d.ts +44 -0
  284. package/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +48 -0
  285. package/node_modules/type-fest/source/non-empty-object.d.ts +35 -0
  286. package/node_modules/type-fest/source/non-empty-string.d.ts +28 -0
  287. package/node_modules/type-fest/source/non-empty-tuple.d.ts +21 -0
  288. package/node_modules/type-fest/source/numeric.d.ts +222 -0
  289. package/node_modules/type-fest/source/observable-like.d.ts +63 -0
  290. package/node_modules/type-fest/source/omit-deep.d.ts +167 -0
  291. package/node_modules/type-fest/source/omit-index-signature.d.ts +95 -0
  292. package/node_modules/type-fest/source/opaque.d.ts +1 -0
  293. package/node_modules/type-fest/source/optional-keys-of.d.ts +39 -0
  294. package/node_modules/type-fest/source/or.d.ts +25 -0
  295. package/node_modules/type-fest/source/override-properties.d.ts +36 -0
  296. package/node_modules/type-fest/source/package-json.d.ts +676 -0
  297. package/node_modules/type-fest/source/partial-deep.d.ts +151 -0
  298. package/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +78 -0
  299. package/node_modules/type-fest/source/pascal-case.d.ts +42 -0
  300. package/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +62 -0
  301. package/node_modules/type-fest/source/pascal-cased-properties.d.ts +36 -0
  302. package/node_modules/type-fest/source/paths.d.ts +262 -0
  303. package/node_modules/type-fest/source/pick-deep.d.ts +149 -0
  304. package/node_modules/type-fest/source/pick-index-signature.d.ts +50 -0
  305. package/node_modules/type-fest/source/primitive.d.ts +13 -0
  306. package/node_modules/type-fest/source/promisable.d.ts +25 -0
  307. package/node_modules/type-fest/source/readonly-deep.d.ts +81 -0
  308. package/node_modules/type-fest/source/readonly-keys-of.d.ts +30 -0
  309. package/node_modules/type-fest/source/readonly-tuple.d.ts +41 -0
  310. package/node_modules/type-fest/source/replace.d.ts +85 -0
  311. package/node_modules/type-fest/source/require-all-or-none.d.ts +51 -0
  312. package/node_modules/type-fest/source/require-at-least-one.d.ts +47 -0
  313. package/node_modules/type-fest/source/require-exactly-one.d.ts +45 -0
  314. package/node_modules/type-fest/source/require-one-or-none.d.ts +46 -0
  315. package/node_modules/type-fest/source/required-deep.d.ts +78 -0
  316. package/node_modules/type-fest/source/required-keys-of.d.ts +30 -0
  317. package/node_modules/type-fest/source/schema.d.ts +114 -0
  318. package/node_modules/type-fest/source/screaming-snake-case.d.ts +28 -0
  319. package/node_modules/type-fest/source/set-field-type.d.ts +65 -0
  320. package/node_modules/type-fest/source/set-non-nullable-deep.d.ts +83 -0
  321. package/node_modules/type-fest/source/set-non-nullable.d.ts +39 -0
  322. package/node_modules/type-fest/source/set-optional.d.ts +38 -0
  323. package/node_modules/type-fest/source/set-parameter-type.d.ts +117 -0
  324. package/node_modules/type-fest/source/set-readonly.d.ts +39 -0
  325. package/node_modules/type-fest/source/set-required-deep.d.ts +68 -0
  326. package/node_modules/type-fest/source/set-required.d.ts +70 -0
  327. package/node_modules/type-fest/source/set-return-type.d.ts +29 -0
  328. package/node_modules/type-fest/source/shared-union-fields-deep.d.ts +178 -0
  329. package/node_modules/type-fest/source/shared-union-fields.d.ts +76 -0
  330. package/node_modules/type-fest/source/simplify-deep.d.ts +115 -0
  331. package/node_modules/type-fest/source/simplify.d.ts +58 -0
  332. package/node_modules/type-fest/source/single-key-object.d.ts +29 -0
  333. package/node_modules/type-fest/source/snake-case.d.ts +45 -0
  334. package/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +63 -0
  335. package/node_modules/type-fest/source/snake-cased-properties.d.ts +40 -0
  336. package/node_modules/type-fest/source/split.d.ts +88 -0
  337. package/node_modules/type-fest/source/spread.d.ts +84 -0
  338. package/node_modules/type-fest/source/string-key-of.d.ts +25 -0
  339. package/node_modules/type-fest/source/string-repeat.d.ts +47 -0
  340. package/node_modules/type-fest/source/string-slice.d.ts +37 -0
  341. package/node_modules/type-fest/source/stringified.d.ts +23 -0
  342. package/node_modules/type-fest/source/structured-cloneable.d.ts +92 -0
  343. package/node_modules/type-fest/source/subtract.d.ts +83 -0
  344. package/node_modules/type-fest/source/sum.d.ts +78 -0
  345. package/node_modules/type-fest/source/tagged-union.d.ts +51 -0
  346. package/node_modules/type-fest/source/tagged.d.ts +256 -0
  347. package/node_modules/type-fest/source/trim.d.ts +27 -0
  348. package/node_modules/type-fest/source/tsconfig-json.d.ts +1294 -0
  349. package/node_modules/type-fest/source/tuple-to-object.d.ts +42 -0
  350. package/node_modules/type-fest/source/tuple-to-union.d.ts +51 -0
  351. package/node_modules/type-fest/source/typed-array.d.ts +17 -0
  352. package/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +80 -0
  353. package/node_modules/type-fest/source/union-to-intersection.d.ts +61 -0
  354. package/node_modules/type-fest/source/union-to-tuple.d.ts +56 -0
  355. package/node_modules/type-fest/source/unknown-array.d.ts +25 -0
  356. package/node_modules/type-fest/source/unknown-map.d.ts +24 -0
  357. package/node_modules/type-fest/source/unknown-record.d.ts +31 -0
  358. package/node_modules/type-fest/source/unknown-set.d.ts +24 -0
  359. package/node_modules/type-fest/source/value-of.d.ts +42 -0
  360. package/node_modules/type-fest/source/words.d.ts +118 -0
  361. package/node_modules/type-fest/source/writable-deep.d.ts +83 -0
  362. package/node_modules/type-fest/source/writable-keys-of.d.ts +33 -0
  363. package/node_modules/type-fest/source/writable.d.ts +68 -0
  364. package/node_modules/widest-line/index.d.ts +12 -0
  365. package/node_modules/widest-line/index.js +11 -0
  366. package/node_modules/widest-line/license +9 -0
  367. package/node_modules/widest-line/package.json +60 -0
  368. package/node_modules/widest-line/readme.md +26 -0
  369. package/node_modules/wrap-ansi/index.d.ts +41 -0
  370. package/node_modules/wrap-ansi/index.js +222 -0
  371. package/node_modules/wrap-ansi/license +9 -0
  372. package/node_modules/wrap-ansi/package.json +69 -0
  373. package/node_modules/wrap-ansi/readme.md +75 -0
  374. package/package.json +78 -0
  375. package/scripts/postinstall.cjs +122 -0
@@ -0,0 +1,106 @@
1
+ const debug = require('./debug');
2
+ const utils = require('./utils');
3
+ const tableLayout = require('./layout-manager');
4
+
5
+ class Table extends Array {
6
+ constructor(opts) {
7
+ super();
8
+
9
+ const options = utils.mergeOptions(opts);
10
+ Object.defineProperty(this, 'options', {
11
+ value: options,
12
+ enumerable: options.debug,
13
+ });
14
+
15
+ if (options.debug) {
16
+ switch (typeof options.debug) {
17
+ case 'boolean':
18
+ debug.setDebugLevel(debug.WARN);
19
+ break;
20
+ case 'number':
21
+ debug.setDebugLevel(options.debug);
22
+ break;
23
+ case 'string':
24
+ debug.setDebugLevel(parseInt(options.debug, 10));
25
+ break;
26
+ default:
27
+ debug.setDebugLevel(debug.WARN);
28
+ debug.warn(`Debug option is expected to be boolean, number, or string. Received a ${typeof options.debug}`);
29
+ }
30
+ Object.defineProperty(this, 'messages', {
31
+ get() {
32
+ return debug.debugMessages();
33
+ },
34
+ });
35
+ }
36
+ }
37
+
38
+ toString() {
39
+ let array = this;
40
+ let headersPresent = this.options.head && this.options.head.length;
41
+ if (headersPresent) {
42
+ array = [this.options.head];
43
+ if (this.length) {
44
+ array.push.apply(array, this);
45
+ }
46
+ } else {
47
+ this.options.style.head = [];
48
+ }
49
+
50
+ let cells = tableLayout.makeTableLayout(array);
51
+
52
+ cells.forEach(function (row) {
53
+ row.forEach(function (cell) {
54
+ cell.mergeTableOptions(this.options, cells);
55
+ }, this);
56
+ }, this);
57
+
58
+ tableLayout.computeWidths(this.options.colWidths, cells);
59
+ tableLayout.computeHeights(this.options.rowHeights, cells);
60
+
61
+ cells.forEach(function (row) {
62
+ row.forEach(function (cell) {
63
+ cell.init(this.options);
64
+ }, this);
65
+ }, this);
66
+
67
+ let result = [];
68
+
69
+ for (let rowIndex = 0; rowIndex < cells.length; rowIndex++) {
70
+ let row = cells[rowIndex];
71
+ let heightOfRow = this.options.rowHeights[rowIndex];
72
+
73
+ if (rowIndex === 0 || !this.options.style.compact || (rowIndex == 1 && headersPresent)) {
74
+ doDraw(row, 'top', result);
75
+ }
76
+
77
+ for (let lineNum = 0; lineNum < heightOfRow; lineNum++) {
78
+ doDraw(row, lineNum, result);
79
+ }
80
+
81
+ if (rowIndex + 1 == cells.length) {
82
+ doDraw(row, 'bottom', result);
83
+ }
84
+ }
85
+
86
+ return result.join('\n');
87
+ }
88
+
89
+ get width() {
90
+ let str = this.toString().split('\n');
91
+ return str[0].length;
92
+ }
93
+ }
94
+
95
+ Table.reset = () => debug.reset();
96
+
97
+ function doDraw(row, lineNum, result) {
98
+ let line = [];
99
+ row.forEach(function (cell) {
100
+ line.push(cell.draw(lineNum));
101
+ });
102
+ let str = line.join('');
103
+ if (str.length) result.push(str);
104
+ }
105
+
106
+ module.exports = Table;
@@ -0,0 +1,344 @@
1
+ const stringWidth = require('string-width');
2
+
3
+ function codeRegex(capture) {
4
+ return capture ? /\u001b\[((?:\d*;){0,5}\d*)m/g : /\u001b\[(?:\d*;){0,5}\d*m/g;
5
+ }
6
+
7
+ function strlen(str) {
8
+ let code = codeRegex();
9
+ let stripped = ('' + str).replace(code, '');
10
+ let split = stripped.split('\n');
11
+ return split.reduce(function (memo, s) {
12
+ return stringWidth(s) > memo ? stringWidth(s) : memo;
13
+ }, 0);
14
+ }
15
+
16
+ function repeat(str, times) {
17
+ return Array(times + 1).join(str);
18
+ }
19
+
20
+ function pad(str, len, pad, dir) {
21
+ let length = strlen(str);
22
+ if (len + 1 >= length) {
23
+ let padlen = len - length;
24
+ switch (dir) {
25
+ case 'right': {
26
+ str = repeat(pad, padlen) + str;
27
+ break;
28
+ }
29
+ case 'center': {
30
+ let right = Math.ceil(padlen / 2);
31
+ let left = padlen - right;
32
+ str = repeat(pad, left) + str + repeat(pad, right);
33
+ break;
34
+ }
35
+ default: {
36
+ str = str + repeat(pad, padlen);
37
+ break;
38
+ }
39
+ }
40
+ }
41
+ return str;
42
+ }
43
+
44
+ let codeCache = {};
45
+
46
+ function addToCodeCache(name, on, off) {
47
+ on = '\u001b[' + on + 'm';
48
+ off = '\u001b[' + off + 'm';
49
+ codeCache[on] = { set: name, to: true };
50
+ codeCache[off] = { set: name, to: false };
51
+ codeCache[name] = { on: on, off: off };
52
+ }
53
+
54
+ //https://github.com/Marak/colors.js/blob/master/lib/styles.js
55
+ addToCodeCache('bold', 1, 22);
56
+ addToCodeCache('italics', 3, 23);
57
+ addToCodeCache('underline', 4, 24);
58
+ addToCodeCache('inverse', 7, 27);
59
+ addToCodeCache('strikethrough', 9, 29);
60
+
61
+ function updateState(state, controlChars) {
62
+ let controlCode = controlChars[1] ? parseInt(controlChars[1].split(';')[0]) : 0;
63
+ if ((controlCode >= 30 && controlCode <= 39) || (controlCode >= 90 && controlCode <= 97)) {
64
+ state.lastForegroundAdded = controlChars[0];
65
+ return;
66
+ }
67
+ if ((controlCode >= 40 && controlCode <= 49) || (controlCode >= 100 && controlCode <= 107)) {
68
+ state.lastBackgroundAdded = controlChars[0];
69
+ return;
70
+ }
71
+ if (controlCode === 0) {
72
+ for (let i in state) {
73
+ /* istanbul ignore else */
74
+ if (Object.prototype.hasOwnProperty.call(state, i)) {
75
+ delete state[i];
76
+ }
77
+ }
78
+ return;
79
+ }
80
+ let info = codeCache[controlChars[0]];
81
+ if (info) {
82
+ state[info.set] = info.to;
83
+ }
84
+ }
85
+
86
+ function readState(line) {
87
+ let code = codeRegex(true);
88
+ let controlChars = code.exec(line);
89
+ let state = {};
90
+ while (controlChars !== null) {
91
+ updateState(state, controlChars);
92
+ controlChars = code.exec(line);
93
+ }
94
+ return state;
95
+ }
96
+
97
+ function unwindState(state, ret) {
98
+ let lastBackgroundAdded = state.lastBackgroundAdded;
99
+ let lastForegroundAdded = state.lastForegroundAdded;
100
+
101
+ delete state.lastBackgroundAdded;
102
+ delete state.lastForegroundAdded;
103
+
104
+ Object.keys(state).forEach(function (key) {
105
+ if (state[key]) {
106
+ ret += codeCache[key].off;
107
+ }
108
+ });
109
+
110
+ if (lastBackgroundAdded && lastBackgroundAdded != '\u001b[49m') {
111
+ ret += '\u001b[49m';
112
+ }
113
+ if (lastForegroundAdded && lastForegroundAdded != '\u001b[39m') {
114
+ ret += '\u001b[39m';
115
+ }
116
+
117
+ return ret;
118
+ }
119
+
120
+ function rewindState(state, ret) {
121
+ let lastBackgroundAdded = state.lastBackgroundAdded;
122
+ let lastForegroundAdded = state.lastForegroundAdded;
123
+
124
+ delete state.lastBackgroundAdded;
125
+ delete state.lastForegroundAdded;
126
+
127
+ Object.keys(state).forEach(function (key) {
128
+ if (state[key]) {
129
+ ret = codeCache[key].on + ret;
130
+ }
131
+ });
132
+
133
+ if (lastBackgroundAdded && lastBackgroundAdded != '\u001b[49m') {
134
+ ret = lastBackgroundAdded + ret;
135
+ }
136
+ if (lastForegroundAdded && lastForegroundAdded != '\u001b[39m') {
137
+ ret = lastForegroundAdded + ret;
138
+ }
139
+
140
+ return ret;
141
+ }
142
+
143
+ function truncateWidth(str, desiredLength) {
144
+ if (str.length === strlen(str)) {
145
+ return str.substr(0, desiredLength);
146
+ }
147
+
148
+ while (strlen(str) > desiredLength) {
149
+ str = str.slice(0, -1);
150
+ }
151
+
152
+ return str;
153
+ }
154
+
155
+ function truncateWidthWithAnsi(str, desiredLength) {
156
+ let code = codeRegex(true);
157
+ let split = str.split(codeRegex());
158
+ let splitIndex = 0;
159
+ let retLen = 0;
160
+ let ret = '';
161
+ let myArray;
162
+ let state = {};
163
+
164
+ while (retLen < desiredLength) {
165
+ myArray = code.exec(str);
166
+ let toAdd = split[splitIndex];
167
+ splitIndex++;
168
+ if (retLen + strlen(toAdd) > desiredLength) {
169
+ toAdd = truncateWidth(toAdd, desiredLength - retLen);
170
+ }
171
+ ret += toAdd;
172
+ retLen += strlen(toAdd);
173
+
174
+ if (retLen < desiredLength) {
175
+ if (!myArray) {
176
+ break;
177
+ } // full-width chars may cause a whitespace which cannot be filled
178
+ ret += myArray[0];
179
+ updateState(state, myArray);
180
+ }
181
+ }
182
+
183
+ return unwindState(state, ret);
184
+ }
185
+
186
+ function truncate(str, desiredLength, truncateChar) {
187
+ truncateChar = truncateChar || '…';
188
+ let lengthOfStr = strlen(str);
189
+ if (lengthOfStr <= desiredLength) {
190
+ return str;
191
+ }
192
+ desiredLength -= strlen(truncateChar);
193
+
194
+ let ret = truncateWidthWithAnsi(str, desiredLength);
195
+
196
+ ret += truncateChar;
197
+
198
+ const hrefTag = '\x1B]8;;\x07';
199
+
200
+ if (str.includes(hrefTag) && !ret.includes(hrefTag)) {
201
+ ret += hrefTag;
202
+ }
203
+
204
+ return ret;
205
+ }
206
+
207
+ function defaultOptions() {
208
+ return {
209
+ chars: {
210
+ top: '─',
211
+ 'top-mid': '┬',
212
+ 'top-left': '┌',
213
+ 'top-right': '┐',
214
+ bottom: '─',
215
+ 'bottom-mid': '┴',
216
+ 'bottom-left': '└',
217
+ 'bottom-right': '┘',
218
+ left: '│',
219
+ 'left-mid': '├',
220
+ mid: '─',
221
+ 'mid-mid': '┼',
222
+ right: '│',
223
+ 'right-mid': '┤',
224
+ middle: '│',
225
+ },
226
+ truncate: '…',
227
+ colWidths: [],
228
+ rowHeights: [],
229
+ colAligns: [],
230
+ rowAligns: [],
231
+ style: {
232
+ 'padding-left': 1,
233
+ 'padding-right': 1,
234
+ head: ['red'],
235
+ border: ['grey'],
236
+ compact: false,
237
+ },
238
+ head: [],
239
+ };
240
+ }
241
+
242
+ function mergeOptions(options, defaults) {
243
+ options = options || {};
244
+ defaults = defaults || defaultOptions();
245
+ let ret = Object.assign({}, defaults, options);
246
+ ret.chars = Object.assign({}, defaults.chars, options.chars);
247
+ ret.style = Object.assign({}, defaults.style, options.style);
248
+ return ret;
249
+ }
250
+
251
+ // Wrap on word boundary
252
+ function wordWrap(maxLength, input) {
253
+ let lines = [];
254
+ let split = input.split(/(\s+)/g);
255
+ let line = [];
256
+ let lineLength = 0;
257
+ let whitespace;
258
+ for (let i = 0; i < split.length; i += 2) {
259
+ let word = split[i];
260
+ let newLength = lineLength + strlen(word);
261
+ if (lineLength > 0 && whitespace) {
262
+ newLength += whitespace.length;
263
+ }
264
+ if (newLength > maxLength) {
265
+ if (lineLength !== 0) {
266
+ lines.push(line.join(''));
267
+ }
268
+ line = [word];
269
+ lineLength = strlen(word);
270
+ } else {
271
+ line.push(whitespace || '', word);
272
+ lineLength = newLength;
273
+ }
274
+ whitespace = split[i + 1];
275
+ }
276
+ if (lineLength) {
277
+ lines.push(line.join(''));
278
+ }
279
+ return lines;
280
+ }
281
+
282
+ // Wrap text (ignoring word boundaries)
283
+ function textWrap(maxLength, input) {
284
+ let lines = [];
285
+ let line = '';
286
+ function pushLine(str, ws) {
287
+ if (line.length && ws) line += ws;
288
+ line += str;
289
+ while (line.length > maxLength) {
290
+ lines.push(line.slice(0, maxLength));
291
+ line = line.slice(maxLength);
292
+ }
293
+ }
294
+ let split = input.split(/(\s+)/g);
295
+ for (let i = 0; i < split.length; i += 2) {
296
+ pushLine(split[i], i && split[i - 1]);
297
+ }
298
+ if (line.length) lines.push(line);
299
+ return lines;
300
+ }
301
+
302
+ function multiLineWordWrap(maxLength, input, wrapOnWordBoundary = true) {
303
+ let output = [];
304
+ input = input.split('\n');
305
+ const handler = wrapOnWordBoundary ? wordWrap : textWrap;
306
+ for (let i = 0; i < input.length; i++) {
307
+ output.push.apply(output, handler(maxLength, input[i]));
308
+ }
309
+ return output;
310
+ }
311
+
312
+ function colorizeLines(input) {
313
+ let state = {};
314
+ let output = [];
315
+ for (let i = 0; i < input.length; i++) {
316
+ let line = rewindState(state, input[i]);
317
+ state = readState(line);
318
+ let temp = Object.assign({}, state);
319
+ output.push(unwindState(temp, line));
320
+ }
321
+ return output;
322
+ }
323
+
324
+ /**
325
+ * Credit: Matheus Sampaio https://github.com/matheussampaio
326
+ */
327
+ function hyperlink(url, text) {
328
+ const OSC = '\u001B]';
329
+ const BEL = '\u0007';
330
+ const SEP = ';';
331
+
332
+ return [OSC, '8', SEP, SEP, url || text, BEL, text, OSC, '8', SEP, SEP, BEL].join('');
333
+ }
334
+
335
+ module.exports = {
336
+ strlen: strlen,
337
+ repeat: repeat,
338
+ pad: pad,
339
+ truncate: truncate,
340
+ mergeOptions: mergeOptions,
341
+ wordWrap: multiLineWordWrap,
342
+ colorizeLines: colorizeLines,
343
+ hyperlink,
344
+ };
@@ -0,0 +1,22 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2011 TJ Holowaychuk <tj@vision-media.ca>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.