@microwiseai/snapshot 0.3.31 → 0.3.36

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 (485) hide show
  1. package/dist/commands/install.d.ts +1 -0
  2. package/dist/commands/install.d.ts.map +1 -1
  3. package/dist/commands/install.js +122 -27
  4. package/dist/commands/install.js.map +1 -1
  5. package/dist/commands/license.d.ts.map +1 -1
  6. package/dist/commands/license.js +8 -11
  7. package/dist/commands/license.js.map +1 -1
  8. package/dist/index.js +7 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/access-sync.d.ts.map +1 -1
  11. package/dist/lib/access-sync.js +2 -3
  12. package/dist/lib/access-sync.js.map +1 -1
  13. package/dist/lib/config.d.ts +11 -7
  14. package/dist/lib/config.d.ts.map +1 -1
  15. package/dist/lib/config.js +22 -13
  16. package/dist/lib/config.js.map +1 -1
  17. package/dist/lib/config.test.d.ts +2 -0
  18. package/dist/lib/config.test.d.ts.map +1 -0
  19. package/dist/lib/config.test.js +186 -0
  20. package/dist/lib/config.test.js.map +1 -0
  21. package/dist/lib/gitlab.d.ts.map +1 -1
  22. package/dist/lib/gitlab.js +5 -13
  23. package/dist/lib/gitlab.js.map +1 -1
  24. package/dist/lib/package-resolver.js +2 -2
  25. package/dist/lib/package-resolver.js.map +1 -1
  26. package/dist/lib/session.d.ts +37 -0
  27. package/dist/lib/session.d.ts.map +1 -0
  28. package/dist/lib/session.js +77 -0
  29. package/dist/lib/session.js.map +1 -0
  30. package/dist/lib/skit-adapter.d.ts +5 -5
  31. package/dist/lib/skit-adapter.d.ts.map +1 -1
  32. package/dist/lib/skit-adapter.js +58 -21
  33. package/dist/lib/skit-adapter.js.map +1 -1
  34. package/dist/lib/transitive-resolver.d.ts +4 -1
  35. package/dist/lib/transitive-resolver.d.ts.map +1 -1
  36. package/dist/lib/transitive-resolver.js +13 -8
  37. package/dist/lib/transitive-resolver.js.map +1 -1
  38. package/dist/lib/transitive-resolver.test.d.ts +2 -0
  39. package/dist/lib/transitive-resolver.test.d.ts.map +1 -0
  40. package/dist/lib/transitive-resolver.test.js +279 -0
  41. package/dist/lib/transitive-resolver.test.js.map +1 -0
  42. package/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
  43. package/node_modules/@isaacs/fs-minipass/README.md +71 -0
  44. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +118 -0
  45. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +1 -0
  46. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
  47. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +1 -0
  48. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
  49. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +118 -0
  50. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +1 -0
  51. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
  52. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +1 -0
  53. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
  54. package/node_modules/@isaacs/fs-minipass/package.json +72 -0
  55. package/node_modules/@ist/registry-config/dist/index.d.ts +3 -0
  56. package/node_modules/@ist/registry-config/dist/index.js +3 -0
  57. package/node_modules/@ist/registry-config/dist/registry-url.d.ts +1 -0
  58. package/node_modules/@ist/registry-config/dist/registry-url.js +1 -0
  59. package/node_modules/@ist/registry-config/dist/scope-mapping.d.ts +6 -0
  60. package/node_modules/@ist/registry-config/dist/scope-mapping.js +7 -0
  61. package/node_modules/@ist/registry-config/dist/types.d.ts +4 -0
  62. package/node_modules/@ist/registry-config/dist/types.js +1 -0
  63. package/node_modules/@ist/registry-config/package.json +32 -0
  64. package/node_modules/@ist/skit/README.md +204 -0
  65. package/node_modules/@ist/skit/dist/commands/browse.d.ts +9 -0
  66. package/node_modules/@ist/skit/dist/commands/browse.d.ts.map +1 -0
  67. package/node_modules/@ist/skit/dist/commands/browse.js +127 -0
  68. package/node_modules/@ist/skit/dist/commands/browse.js.map +1 -0
  69. package/node_modules/@ist/skit/dist/commands/gitignore.d.ts +9 -0
  70. package/node_modules/@ist/skit/dist/commands/gitignore.d.ts.map +1 -0
  71. package/node_modules/@ist/skit/dist/commands/gitignore.js +59 -0
  72. package/node_modules/@ist/skit/dist/commands/gitignore.js.map +1 -0
  73. package/node_modules/@ist/skit/dist/commands/info.d.ts +9 -0
  74. package/node_modules/@ist/skit/dist/commands/info.d.ts.map +1 -0
  75. package/node_modules/@ist/skit/dist/commands/info.js +80 -0
  76. package/node_modules/@ist/skit/dist/commands/info.js.map +1 -0
  77. package/node_modules/@ist/skit/dist/commands/install.d.ts +13 -0
  78. package/node_modules/@ist/skit/dist/commands/install.d.ts.map +1 -0
  79. package/node_modules/@ist/skit/dist/commands/install.js +150 -0
  80. package/node_modules/@ist/skit/dist/commands/install.js.map +1 -0
  81. package/node_modules/@ist/skit/dist/commands/licenses.d.ts +9 -0
  82. package/node_modules/@ist/skit/dist/commands/licenses.d.ts.map +1 -0
  83. package/node_modules/@ist/skit/dist/commands/licenses.js +125 -0
  84. package/node_modules/@ist/skit/dist/commands/licenses.js.map +1 -0
  85. package/node_modules/@ist/skit/dist/commands/list.d.ts +12 -0
  86. package/node_modules/@ist/skit/dist/commands/list.d.ts.map +1 -0
  87. package/node_modules/@ist/skit/dist/commands/list.js +41 -0
  88. package/node_modules/@ist/skit/dist/commands/list.js.map +1 -0
  89. package/node_modules/@ist/skit/dist/commands/login.d.ts +10 -0
  90. package/node_modules/@ist/skit/dist/commands/login.d.ts.map +1 -0
  91. package/node_modules/@ist/skit/dist/commands/login.js +112 -0
  92. package/node_modules/@ist/skit/dist/commands/login.js.map +1 -0
  93. package/node_modules/@ist/skit/dist/commands/logout.d.ts +5 -0
  94. package/node_modules/@ist/skit/dist/commands/logout.d.ts.map +1 -0
  95. package/node_modules/@ist/skit/dist/commands/logout.js +30 -0
  96. package/node_modules/@ist/skit/dist/commands/logout.js.map +1 -0
  97. package/node_modules/@ist/skit/dist/commands/pack.d.ts +10 -0
  98. package/node_modules/@ist/skit/dist/commands/pack.d.ts.map +1 -0
  99. package/node_modules/@ist/skit/dist/commands/pack.js +185 -0
  100. package/node_modules/@ist/skit/dist/commands/pack.js.map +1 -0
  101. package/node_modules/@ist/skit/dist/commands/publish.d.ts +11 -0
  102. package/node_modules/@ist/skit/dist/commands/publish.d.ts.map +1 -0
  103. package/node_modules/@ist/skit/dist/commands/publish.js +108 -0
  104. package/node_modules/@ist/skit/dist/commands/publish.js.map +1 -0
  105. package/node_modules/@ist/skit/dist/commands/purchase.d.ts +9 -0
  106. package/node_modules/@ist/skit/dist/commands/purchase.d.ts.map +1 -0
  107. package/node_modules/@ist/skit/dist/commands/purchase.js +160 -0
  108. package/node_modules/@ist/skit/dist/commands/purchase.js.map +1 -0
  109. package/node_modules/@ist/skit/dist/commands/register.d.ts +10 -0
  110. package/node_modules/@ist/skit/dist/commands/register.d.ts.map +1 -0
  111. package/node_modules/@ist/skit/dist/commands/register.js +121 -0
  112. package/node_modules/@ist/skit/dist/commands/register.js.map +1 -0
  113. package/node_modules/@ist/skit/dist/commands/uninstall.d.ts +13 -0
  114. package/node_modules/@ist/skit/dist/commands/uninstall.d.ts.map +1 -0
  115. package/node_modules/@ist/skit/dist/commands/uninstall.js +138 -0
  116. package/node_modules/@ist/skit/dist/commands/uninstall.js.map +1 -0
  117. package/node_modules/@ist/skit/dist/commands/whoami.d.ts +9 -0
  118. package/node_modules/@ist/skit/dist/commands/whoami.d.ts.map +1 -0
  119. package/node_modules/@ist/skit/dist/commands/whoami.js +79 -0
  120. package/node_modules/@ist/skit/dist/commands/whoami.js.map +1 -0
  121. package/node_modules/@ist/skit/dist/index.d.ts +3 -0
  122. package/node_modules/@ist/skit/dist/index.d.ts.map +1 -0
  123. package/node_modules/@ist/skit/dist/index.js +69 -0
  124. package/node_modules/@ist/skit/dist/index.js.map +1 -0
  125. package/node_modules/@ist/skit/dist/lib.d.ts +144 -0
  126. package/node_modules/@ist/skit/dist/lib.d.ts.map +1 -0
  127. package/node_modules/@ist/skit/dist/lib.js +542 -0
  128. package/node_modules/@ist/skit/dist/lib.js.map +1 -0
  129. package/node_modules/@ist/skit/dist/types/skit.d.ts +155 -0
  130. package/node_modules/@ist/skit/dist/types/skit.d.ts.map +1 -0
  131. package/node_modules/@ist/skit/dist/types/skit.js +20 -0
  132. package/node_modules/@ist/skit/dist/types/skit.js.map +1 -0
  133. package/node_modules/@ist/skit/dist/utils/api.d.ts +18 -0
  134. package/node_modules/@ist/skit/dist/utils/api.d.ts.map +1 -0
  135. package/node_modules/@ist/skit/dist/utils/api.js +26 -0
  136. package/node_modules/@ist/skit/dist/utils/api.js.map +1 -0
  137. package/node_modules/@ist/skit/dist/utils/auth.d.ts +62 -0
  138. package/node_modules/@ist/skit/dist/utils/auth.d.ts.map +1 -0
  139. package/node_modules/@ist/skit/dist/utils/auth.js +172 -0
  140. package/node_modules/@ist/skit/dist/utils/auth.js.map +1 -0
  141. package/node_modules/@ist/skit/dist/utils/file-copy.d.ts +26 -0
  142. package/node_modules/@ist/skit/dist/utils/file-copy.d.ts.map +1 -0
  143. package/node_modules/@ist/skit/dist/utils/file-copy.js +219 -0
  144. package/node_modules/@ist/skit/dist/utils/file-copy.js.map +1 -0
  145. package/node_modules/@ist/skit/dist/utils/hook-installer.d.ts +21 -0
  146. package/node_modules/@ist/skit/dist/utils/hook-installer.d.ts.map +1 -0
  147. package/node_modules/@ist/skit/dist/utils/hook-installer.js +98 -0
  148. package/node_modules/@ist/skit/dist/utils/hook-installer.js.map +1 -0
  149. package/node_modules/@ist/skit/dist/utils/installed-registry.d.ts +50 -0
  150. package/node_modules/@ist/skit/dist/utils/installed-registry.d.ts.map +1 -0
  151. package/node_modules/@ist/skit/dist/utils/installed-registry.js +108 -0
  152. package/node_modules/@ist/skit/dist/utils/installed-registry.js.map +1 -0
  153. package/node_modules/@ist/skit/dist/utils/skit-parser.d.ts +10 -0
  154. package/node_modules/@ist/skit/dist/utils/skit-parser.d.ts.map +1 -0
  155. package/node_modules/@ist/skit/dist/utils/skit-parser.js +52 -0
  156. package/node_modules/@ist/skit/dist/utils/skit-parser.js.map +1 -0
  157. package/node_modules/@ist/skit/dist/utils/wrapper-generator.d.ts +74 -0
  158. package/node_modules/@ist/skit/dist/utils/wrapper-generator.d.ts.map +1 -0
  159. package/node_modules/@ist/skit/dist/utils/wrapper-generator.js +280 -0
  160. package/node_modules/@ist/skit/dist/utils/wrapper-generator.js.map +1 -0
  161. package/node_modules/@ist/skit/package.json +54 -0
  162. package/node_modules/chownr/LICENSE.md +63 -0
  163. package/node_modules/chownr/README.md +3 -0
  164. package/node_modules/chownr/dist/commonjs/index.d.ts +3 -0
  165. package/node_modules/chownr/dist/commonjs/index.d.ts.map +1 -0
  166. package/node_modules/chownr/dist/commonjs/index.js +93 -0
  167. package/node_modules/chownr/dist/commonjs/index.js.map +1 -0
  168. package/node_modules/chownr/dist/commonjs/package.json +3 -0
  169. package/node_modules/chownr/dist/esm/index.d.ts +3 -0
  170. package/node_modules/chownr/dist/esm/index.d.ts.map +1 -0
  171. package/node_modules/chownr/dist/esm/index.js +85 -0
  172. package/node_modules/chownr/dist/esm/index.js.map +1 -0
  173. package/node_modules/chownr/dist/esm/package.json +3 -0
  174. package/node_modules/chownr/package.json +69 -0
  175. package/node_modules/commander/LICENSE +22 -0
  176. package/node_modules/commander/Readme.md +1157 -0
  177. package/node_modules/commander/esm.mjs +16 -0
  178. package/node_modules/commander/index.js +24 -0
  179. package/node_modules/commander/lib/argument.js +149 -0
  180. package/node_modules/commander/lib/command.js +2509 -0
  181. package/node_modules/commander/lib/error.js +39 -0
  182. package/node_modules/commander/lib/help.js +520 -0
  183. package/node_modules/commander/lib/option.js +330 -0
  184. package/node_modules/commander/lib/suggestSimilar.js +101 -0
  185. package/node_modules/commander/package-support.json +16 -0
  186. package/node_modules/commander/package.json +84 -0
  187. package/node_modules/commander/typings/esm.d.mts +3 -0
  188. package/node_modules/commander/typings/index.d.ts +969 -0
  189. package/node_modules/minipass/LICENSE.md +55 -0
  190. package/node_modules/minipass/README.md +825 -0
  191. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  192. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  193. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  194. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  195. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  196. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  197. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  198. package/node_modules/minipass/dist/esm/index.js +1020 -0
  199. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  200. package/node_modules/minipass/dist/esm/package.json +3 -0
  201. package/node_modules/minipass/package.json +77 -0
  202. package/node_modules/minizlib/LICENSE +26 -0
  203. package/node_modules/minizlib/README.md +64 -0
  204. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  205. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  206. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  207. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  208. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  209. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  210. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  211. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  212. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  213. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  214. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  215. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  216. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  217. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  218. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  219. package/node_modules/minizlib/dist/esm/index.js +363 -0
  220. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  221. package/node_modules/minizlib/dist/esm/package.json +3 -0
  222. package/node_modules/minizlib/package.json +80 -0
  223. package/node_modules/tar/LICENSE.md +55 -0
  224. package/node_modules/tar/README.md +1224 -0
  225. package/node_modules/tar/dist/commonjs/create.d.ts +3 -0
  226. package/node_modules/tar/dist/commonjs/create.d.ts.map +1 -0
  227. package/node_modules/tar/dist/commonjs/create.js +82 -0
  228. package/node_modules/tar/dist/commonjs/create.js.map +1 -0
  229. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +8 -0
  230. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +1 -0
  231. package/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
  232. package/node_modules/tar/dist/commonjs/cwd-error.js.map +1 -0
  233. package/node_modules/tar/dist/commonjs/extract.d.ts +3 -0
  234. package/node_modules/tar/dist/commonjs/extract.d.ts.map +1 -0
  235. package/node_modules/tar/dist/commonjs/extract.js +88 -0
  236. package/node_modules/tar/dist/commonjs/extract.js.map +1 -0
  237. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +2 -0
  238. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +1 -0
  239. package/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
  240. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +1 -0
  241. package/node_modules/tar/dist/commonjs/header.d.ts +53 -0
  242. package/node_modules/tar/dist/commonjs/header.d.ts.map +1 -0
  243. package/node_modules/tar/dist/commonjs/header.js +312 -0
  244. package/node_modules/tar/dist/commonjs/header.js.map +1 -0
  245. package/node_modules/tar/dist/commonjs/index.d.ts +20 -0
  246. package/node_modules/tar/dist/commonjs/index.d.ts.map +1 -0
  247. package/node_modules/tar/dist/commonjs/index.js +64 -0
  248. package/node_modules/tar/dist/commonjs/index.js.map +1 -0
  249. package/node_modules/tar/dist/commonjs/index.min.js +4 -0
  250. package/node_modules/tar/dist/commonjs/index.min.js.map +7 -0
  251. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +3 -0
  252. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +1 -0
  253. package/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
  254. package/node_modules/tar/dist/commonjs/large-numbers.js.map +1 -0
  255. package/node_modules/tar/dist/commonjs/list.d.ts +7 -0
  256. package/node_modules/tar/dist/commonjs/list.d.ts.map +1 -0
  257. package/node_modules/tar/dist/commonjs/list.js +145 -0
  258. package/node_modules/tar/dist/commonjs/list.js.map +1 -0
  259. package/node_modules/tar/dist/commonjs/make-command.d.ts +49 -0
  260. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +1 -0
  261. package/node_modules/tar/dist/commonjs/make-command.js +52 -0
  262. package/node_modules/tar/dist/commonjs/make-command.js.map +1 -0
  263. package/node_modules/tar/dist/commonjs/mkdir.d.ts +25 -0
  264. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +1 -0
  265. package/node_modules/tar/dist/commonjs/mkdir.js +187 -0
  266. package/node_modules/tar/dist/commonjs/mkdir.js.map +1 -0
  267. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +2 -0
  268. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +1 -0
  269. package/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
  270. package/node_modules/tar/dist/commonjs/mode-fix.js.map +1 -0
  271. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +2 -0
  272. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +1 -0
  273. package/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
  274. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +1 -0
  275. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +2 -0
  276. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +1 -0
  277. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
  278. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +1 -0
  279. package/node_modules/tar/dist/commonjs/options.d.ts +596 -0
  280. package/node_modules/tar/dist/commonjs/options.d.ts.map +1 -0
  281. package/node_modules/tar/dist/commonjs/options.js +66 -0
  282. package/node_modules/tar/dist/commonjs/options.js.map +1 -0
  283. package/node_modules/tar/dist/commonjs/pack.d.ts +102 -0
  284. package/node_modules/tar/dist/commonjs/pack.d.ts.map +1 -0
  285. package/node_modules/tar/dist/commonjs/pack.js +511 -0
  286. package/node_modules/tar/dist/commonjs/pack.js.map +1 -0
  287. package/node_modules/tar/dist/commonjs/package.json +3 -0
  288. package/node_modules/tar/dist/commonjs/parse.d.ts +85 -0
  289. package/node_modules/tar/dist/commonjs/parse.d.ts.map +1 -0
  290. package/node_modules/tar/dist/commonjs/parse.js +610 -0
  291. package/node_modules/tar/dist/commonjs/parse.js.map +1 -0
  292. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +11 -0
  293. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +1 -0
  294. package/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
  295. package/node_modules/tar/dist/commonjs/path-reservations.js.map +1 -0
  296. package/node_modules/tar/dist/commonjs/pax.d.ts +26 -0
  297. package/node_modules/tar/dist/commonjs/pax.d.ts.map +1 -0
  298. package/node_modules/tar/dist/commonjs/pax.js +158 -0
  299. package/node_modules/tar/dist/commonjs/pax.js.map +1 -0
  300. package/node_modules/tar/dist/commonjs/process-umask.d.ts +2 -0
  301. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +1 -0
  302. package/node_modules/tar/dist/commonjs/process-umask.js +7 -0
  303. package/node_modules/tar/dist/commonjs/process-umask.js.map +1 -0
  304. package/node_modules/tar/dist/commonjs/read-entry.d.ts +36 -0
  305. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +1 -0
  306. package/node_modules/tar/dist/commonjs/read-entry.js +136 -0
  307. package/node_modules/tar/dist/commonjs/read-entry.js.map +1 -0
  308. package/node_modules/tar/dist/commonjs/replace.d.ts +2 -0
  309. package/node_modules/tar/dist/commonjs/replace.d.ts.map +1 -0
  310. package/node_modules/tar/dist/commonjs/replace.js +227 -0
  311. package/node_modules/tar/dist/commonjs/replace.js.map +1 -0
  312. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +2 -0
  313. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +1 -0
  314. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
  315. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +1 -0
  316. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +2 -0
  317. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +1 -0
  318. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
  319. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +1 -0
  320. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +9 -0
  321. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +1 -0
  322. package/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
  323. package/node_modules/tar/dist/commonjs/symlink-error.js.map +1 -0
  324. package/node_modules/tar/dist/commonjs/types.d.ts +7 -0
  325. package/node_modules/tar/dist/commonjs/types.d.ts.map +1 -0
  326. package/node_modules/tar/dist/commonjs/types.js +50 -0
  327. package/node_modules/tar/dist/commonjs/types.js.map +1 -0
  328. package/node_modules/tar/dist/commonjs/unpack.d.ts +101 -0
  329. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +1 -0
  330. package/node_modules/tar/dist/commonjs/unpack.js +932 -0
  331. package/node_modules/tar/dist/commonjs/unpack.js.map +1 -0
  332. package/node_modules/tar/dist/commonjs/update.d.ts +2 -0
  333. package/node_modules/tar/dist/commonjs/update.d.ts.map +1 -0
  334. package/node_modules/tar/dist/commonjs/update.js +33 -0
  335. package/node_modules/tar/dist/commonjs/update.js.map +1 -0
  336. package/node_modules/tar/dist/commonjs/warn-method.d.ts +24 -0
  337. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +1 -0
  338. package/node_modules/tar/dist/commonjs/warn-method.js +31 -0
  339. package/node_modules/tar/dist/commonjs/warn-method.js.map +1 -0
  340. package/node_modules/tar/dist/commonjs/winchars.d.ts +3 -0
  341. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +1 -0
  342. package/node_modules/tar/dist/commonjs/winchars.js +14 -0
  343. package/node_modules/tar/dist/commonjs/winchars.js.map +1 -0
  344. package/node_modules/tar/dist/commonjs/write-entry.d.ts +129 -0
  345. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +1 -0
  346. package/node_modules/tar/dist/commonjs/write-entry.js +698 -0
  347. package/node_modules/tar/dist/commonjs/write-entry.js.map +1 -0
  348. package/node_modules/tar/dist/esm/create.d.ts +3 -0
  349. package/node_modules/tar/dist/esm/create.d.ts.map +1 -0
  350. package/node_modules/tar/dist/esm/create.js +76 -0
  351. package/node_modules/tar/dist/esm/create.js.map +1 -0
  352. package/node_modules/tar/dist/esm/cwd-error.d.ts +8 -0
  353. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +1 -0
  354. package/node_modules/tar/dist/esm/cwd-error.js +14 -0
  355. package/node_modules/tar/dist/esm/cwd-error.js.map +1 -0
  356. package/node_modules/tar/dist/esm/extract.d.ts +3 -0
  357. package/node_modules/tar/dist/esm/extract.d.ts.map +1 -0
  358. package/node_modules/tar/dist/esm/extract.js +49 -0
  359. package/node_modules/tar/dist/esm/extract.js.map +1 -0
  360. package/node_modules/tar/dist/esm/get-write-flag.d.ts +2 -0
  361. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +1 -0
  362. package/node_modules/tar/dist/esm/get-write-flag.js +26 -0
  363. package/node_modules/tar/dist/esm/get-write-flag.js.map +1 -0
  364. package/node_modules/tar/dist/esm/header.d.ts +53 -0
  365. package/node_modules/tar/dist/esm/header.d.ts.map +1 -0
  366. package/node_modules/tar/dist/esm/header.js +275 -0
  367. package/node_modules/tar/dist/esm/header.js.map +1 -0
  368. package/node_modules/tar/dist/esm/index.d.ts +20 -0
  369. package/node_modules/tar/dist/esm/index.d.ts.map +1 -0
  370. package/node_modules/tar/dist/esm/index.js +20 -0
  371. package/node_modules/tar/dist/esm/index.js.map +1 -0
  372. package/node_modules/tar/dist/esm/index.min.js +4 -0
  373. package/node_modules/tar/dist/esm/index.min.js.map +7 -0
  374. package/node_modules/tar/dist/esm/large-numbers.d.ts +3 -0
  375. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +1 -0
  376. package/node_modules/tar/dist/esm/large-numbers.js +94 -0
  377. package/node_modules/tar/dist/esm/large-numbers.js.map +1 -0
  378. package/node_modules/tar/dist/esm/list.d.ts +7 -0
  379. package/node_modules/tar/dist/esm/list.d.ts.map +1 -0
  380. package/node_modules/tar/dist/esm/list.js +105 -0
  381. package/node_modules/tar/dist/esm/list.js.map +1 -0
  382. package/node_modules/tar/dist/esm/make-command.d.ts +49 -0
  383. package/node_modules/tar/dist/esm/make-command.d.ts.map +1 -0
  384. package/node_modules/tar/dist/esm/make-command.js +48 -0
  385. package/node_modules/tar/dist/esm/make-command.js.map +1 -0
  386. package/node_modules/tar/dist/esm/mkdir.d.ts +25 -0
  387. package/node_modules/tar/dist/esm/mkdir.d.ts.map +1 -0
  388. package/node_modules/tar/dist/esm/mkdir.js +179 -0
  389. package/node_modules/tar/dist/esm/mkdir.js.map +1 -0
  390. package/node_modules/tar/dist/esm/mode-fix.d.ts +2 -0
  391. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +1 -0
  392. package/node_modules/tar/dist/esm/mode-fix.js +25 -0
  393. package/node_modules/tar/dist/esm/mode-fix.js.map +1 -0
  394. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +2 -0
  395. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +1 -0
  396. package/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
  397. package/node_modules/tar/dist/esm/normalize-unicode.js.map +1 -0
  398. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +2 -0
  399. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +1 -0
  400. package/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
  401. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +1 -0
  402. package/node_modules/tar/dist/esm/options.d.ts +596 -0
  403. package/node_modules/tar/dist/esm/options.d.ts.map +1 -0
  404. package/node_modules/tar/dist/esm/options.js +54 -0
  405. package/node_modules/tar/dist/esm/options.js.map +1 -0
  406. package/node_modules/tar/dist/esm/pack.d.ts +102 -0
  407. package/node_modules/tar/dist/esm/pack.d.ts.map +1 -0
  408. package/node_modules/tar/dist/esm/pack.js +469 -0
  409. package/node_modules/tar/dist/esm/pack.js.map +1 -0
  410. package/node_modules/tar/dist/esm/package.json +3 -0
  411. package/node_modules/tar/dist/esm/parse.d.ts +85 -0
  412. package/node_modules/tar/dist/esm/parse.d.ts.map +1 -0
  413. package/node_modules/tar/dist/esm/parse.js +606 -0
  414. package/node_modules/tar/dist/esm/parse.js.map +1 -0
  415. package/node_modules/tar/dist/esm/path-reservations.d.ts +11 -0
  416. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +1 -0
  417. package/node_modules/tar/dist/esm/path-reservations.js +166 -0
  418. package/node_modules/tar/dist/esm/path-reservations.js.map +1 -0
  419. package/node_modules/tar/dist/esm/pax.d.ts +26 -0
  420. package/node_modules/tar/dist/esm/pax.d.ts.map +1 -0
  421. package/node_modules/tar/dist/esm/pax.js +154 -0
  422. package/node_modules/tar/dist/esm/pax.js.map +1 -0
  423. package/node_modules/tar/dist/esm/process-umask.d.ts +2 -0
  424. package/node_modules/tar/dist/esm/process-umask.d.ts.map +1 -0
  425. package/node_modules/tar/dist/esm/process-umask.js +3 -0
  426. package/node_modules/tar/dist/esm/process-umask.js.map +1 -0
  427. package/node_modules/tar/dist/esm/read-entry.d.ts +36 -0
  428. package/node_modules/tar/dist/esm/read-entry.d.ts.map +1 -0
  429. package/node_modules/tar/dist/esm/read-entry.js +132 -0
  430. package/node_modules/tar/dist/esm/read-entry.js.map +1 -0
  431. package/node_modules/tar/dist/esm/replace.d.ts +2 -0
  432. package/node_modules/tar/dist/esm/replace.d.ts.map +1 -0
  433. package/node_modules/tar/dist/esm/replace.js +221 -0
  434. package/node_modules/tar/dist/esm/replace.js.map +1 -0
  435. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +2 -0
  436. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +1 -0
  437. package/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
  438. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +1 -0
  439. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +2 -0
  440. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +1 -0
  441. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
  442. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +1 -0
  443. package/node_modules/tar/dist/esm/symlink-error.d.ts +9 -0
  444. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +1 -0
  445. package/node_modules/tar/dist/esm/symlink-error.js +15 -0
  446. package/node_modules/tar/dist/esm/symlink-error.js.map +1 -0
  447. package/node_modules/tar/dist/esm/types.d.ts +7 -0
  448. package/node_modules/tar/dist/esm/types.d.ts.map +1 -0
  449. package/node_modules/tar/dist/esm/types.js +45 -0
  450. package/node_modules/tar/dist/esm/types.js.map +1 -0
  451. package/node_modules/tar/dist/esm/unpack.d.ts +101 -0
  452. package/node_modules/tar/dist/esm/unpack.d.ts.map +1 -0
  453. package/node_modules/tar/dist/esm/unpack.js +891 -0
  454. package/node_modules/tar/dist/esm/unpack.js.map +1 -0
  455. package/node_modules/tar/dist/esm/update.d.ts +2 -0
  456. package/node_modules/tar/dist/esm/update.d.ts.map +1 -0
  457. package/node_modules/tar/dist/esm/update.js +30 -0
  458. package/node_modules/tar/dist/esm/update.js.map +1 -0
  459. package/node_modules/tar/dist/esm/warn-method.d.ts +24 -0
  460. package/node_modules/tar/dist/esm/warn-method.d.ts.map +1 -0
  461. package/node_modules/tar/dist/esm/warn-method.js +27 -0
  462. package/node_modules/tar/dist/esm/warn-method.js.map +1 -0
  463. package/node_modules/tar/dist/esm/winchars.d.ts +3 -0
  464. package/node_modules/tar/dist/esm/winchars.d.ts.map +1 -0
  465. package/node_modules/tar/dist/esm/winchars.js +9 -0
  466. package/node_modules/tar/dist/esm/winchars.js.map +1 -0
  467. package/node_modules/tar/dist/esm/write-entry.d.ts +129 -0
  468. package/node_modules/tar/dist/esm/write-entry.d.ts.map +1 -0
  469. package/node_modules/tar/dist/esm/write-entry.js +656 -0
  470. package/node_modules/tar/dist/esm/write-entry.js.map +1 -0
  471. package/node_modules/tar/package.json +297 -0
  472. package/node_modules/yallist/LICENSE.md +63 -0
  473. package/node_modules/yallist/README.md +205 -0
  474. package/node_modules/yallist/dist/commonjs/index.d.ts +39 -0
  475. package/node_modules/yallist/dist/commonjs/index.d.ts.map +1 -0
  476. package/node_modules/yallist/dist/commonjs/index.js +384 -0
  477. package/node_modules/yallist/dist/commonjs/index.js.map +1 -0
  478. package/node_modules/yallist/dist/commonjs/package.json +3 -0
  479. package/node_modules/yallist/dist/esm/index.d.ts +39 -0
  480. package/node_modules/yallist/dist/esm/index.d.ts.map +1 -0
  481. package/node_modules/yallist/dist/esm/index.js +379 -0
  482. package/node_modules/yallist/dist/esm/index.js.map +1 -0
  483. package/node_modules/yallist/dist/esm/package.json +3 -0
  484. package/node_modules/yallist/package.json +68 -0
  485. package/package.json +9 -3
@@ -0,0 +1,330 @@
1
+ const { InvalidArgumentError } = require('./error.js');
2
+
3
+ class Option {
4
+ /**
5
+ * Initialize a new `Option` with the given `flags` and `description`.
6
+ *
7
+ * @param {string} flags
8
+ * @param {string} [description]
9
+ */
10
+
11
+ constructor(flags, description) {
12
+ this.flags = flags;
13
+ this.description = description || '';
14
+
15
+ this.required = flags.includes('<'); // A value must be supplied when the option is specified.
16
+ this.optional = flags.includes('['); // A value is optional when the option is specified.
17
+ // variadic test ignores <value,...> et al which might be used to describe custom splitting of single argument
18
+ this.variadic = /\w\.\.\.[>\]]$/.test(flags); // The option can take multiple values.
19
+ this.mandatory = false; // The option must have a value after parsing, which usually means it must be specified on command line.
20
+ const optionFlags = splitOptionFlags(flags);
21
+ this.short = optionFlags.shortFlag;
22
+ this.long = optionFlags.longFlag;
23
+ this.negate = false;
24
+ if (this.long) {
25
+ this.negate = this.long.startsWith('--no-');
26
+ }
27
+ this.defaultValue = undefined;
28
+ this.defaultValueDescription = undefined;
29
+ this.presetArg = undefined;
30
+ this.envVar = undefined;
31
+ this.parseArg = undefined;
32
+ this.hidden = false;
33
+ this.argChoices = undefined;
34
+ this.conflictsWith = [];
35
+ this.implied = undefined;
36
+ }
37
+
38
+ /**
39
+ * Set the default value, and optionally supply the description to be displayed in the help.
40
+ *
41
+ * @param {*} value
42
+ * @param {string} [description]
43
+ * @return {Option}
44
+ */
45
+
46
+ default(value, description) {
47
+ this.defaultValue = value;
48
+ this.defaultValueDescription = description;
49
+ return this;
50
+ }
51
+
52
+ /**
53
+ * Preset to use when option used without option-argument, especially optional but also boolean and negated.
54
+ * The custom processing (parseArg) is called.
55
+ *
56
+ * @example
57
+ * new Option('--color').default('GREYSCALE').preset('RGB');
58
+ * new Option('--donate [amount]').preset('20').argParser(parseFloat);
59
+ *
60
+ * @param {*} arg
61
+ * @return {Option}
62
+ */
63
+
64
+ preset(arg) {
65
+ this.presetArg = arg;
66
+ return this;
67
+ }
68
+
69
+ /**
70
+ * Add option name(s) that conflict with this option.
71
+ * An error will be displayed if conflicting options are found during parsing.
72
+ *
73
+ * @example
74
+ * new Option('--rgb').conflicts('cmyk');
75
+ * new Option('--js').conflicts(['ts', 'jsx']);
76
+ *
77
+ * @param {(string | string[])} names
78
+ * @return {Option}
79
+ */
80
+
81
+ conflicts(names) {
82
+ this.conflictsWith = this.conflictsWith.concat(names);
83
+ return this;
84
+ }
85
+
86
+ /**
87
+ * Specify implied option values for when this option is set and the implied options are not.
88
+ *
89
+ * The custom processing (parseArg) is not called on the implied values.
90
+ *
91
+ * @example
92
+ * program
93
+ * .addOption(new Option('--log', 'write logging information to file'))
94
+ * .addOption(new Option('--trace', 'log extra details').implies({ log: 'trace.txt' }));
95
+ *
96
+ * @param {object} impliedOptionValues
97
+ * @return {Option}
98
+ */
99
+ implies(impliedOptionValues) {
100
+ let newImplied = impliedOptionValues;
101
+ if (typeof impliedOptionValues === 'string') {
102
+ // string is not documented, but easy mistake and we can do what user probably intended.
103
+ newImplied = { [impliedOptionValues]: true };
104
+ }
105
+ this.implied = Object.assign(this.implied || {}, newImplied);
106
+ return this;
107
+ }
108
+
109
+ /**
110
+ * Set environment variable to check for option value.
111
+ *
112
+ * An environment variable is only used if when processed the current option value is
113
+ * undefined, or the source of the current value is 'default' or 'config' or 'env'.
114
+ *
115
+ * @param {string} name
116
+ * @return {Option}
117
+ */
118
+
119
+ env(name) {
120
+ this.envVar = name;
121
+ return this;
122
+ }
123
+
124
+ /**
125
+ * Set the custom handler for processing CLI option arguments into option values.
126
+ *
127
+ * @param {Function} [fn]
128
+ * @return {Option}
129
+ */
130
+
131
+ argParser(fn) {
132
+ this.parseArg = fn;
133
+ return this;
134
+ }
135
+
136
+ /**
137
+ * Whether the option is mandatory and must have a value after parsing.
138
+ *
139
+ * @param {boolean} [mandatory=true]
140
+ * @return {Option}
141
+ */
142
+
143
+ makeOptionMandatory(mandatory = true) {
144
+ this.mandatory = !!mandatory;
145
+ return this;
146
+ }
147
+
148
+ /**
149
+ * Hide option in help.
150
+ *
151
+ * @param {boolean} [hide=true]
152
+ * @return {Option}
153
+ */
154
+
155
+ hideHelp(hide = true) {
156
+ this.hidden = !!hide;
157
+ return this;
158
+ }
159
+
160
+ /**
161
+ * @package
162
+ */
163
+
164
+ _concatValue(value, previous) {
165
+ if (previous === this.defaultValue || !Array.isArray(previous)) {
166
+ return [value];
167
+ }
168
+
169
+ return previous.concat(value);
170
+ }
171
+
172
+ /**
173
+ * Only allow option value to be one of choices.
174
+ *
175
+ * @param {string[]} values
176
+ * @return {Option}
177
+ */
178
+
179
+ choices(values) {
180
+ this.argChoices = values.slice();
181
+ this.parseArg = (arg, previous) => {
182
+ if (!this.argChoices.includes(arg)) {
183
+ throw new InvalidArgumentError(
184
+ `Allowed choices are ${this.argChoices.join(', ')}.`,
185
+ );
186
+ }
187
+ if (this.variadic) {
188
+ return this._concatValue(arg, previous);
189
+ }
190
+ return arg;
191
+ };
192
+ return this;
193
+ }
194
+
195
+ /**
196
+ * Return option name.
197
+ *
198
+ * @return {string}
199
+ */
200
+
201
+ name() {
202
+ if (this.long) {
203
+ return this.long.replace(/^--/, '');
204
+ }
205
+ return this.short.replace(/^-/, '');
206
+ }
207
+
208
+ /**
209
+ * Return option name, in a camelcase format that can be used
210
+ * as a object attribute key.
211
+ *
212
+ * @return {string}
213
+ */
214
+
215
+ attributeName() {
216
+ return camelcase(this.name().replace(/^no-/, ''));
217
+ }
218
+
219
+ /**
220
+ * Check if `arg` matches the short or long flag.
221
+ *
222
+ * @param {string} arg
223
+ * @return {boolean}
224
+ * @package
225
+ */
226
+
227
+ is(arg) {
228
+ return this.short === arg || this.long === arg;
229
+ }
230
+
231
+ /**
232
+ * Return whether a boolean option.
233
+ *
234
+ * Options are one of boolean, negated, required argument, or optional argument.
235
+ *
236
+ * @return {boolean}
237
+ * @package
238
+ */
239
+
240
+ isBoolean() {
241
+ return !this.required && !this.optional && !this.negate;
242
+ }
243
+ }
244
+
245
+ /**
246
+ * This class is to make it easier to work with dual options, without changing the existing
247
+ * implementation. We support separate dual options for separate positive and negative options,
248
+ * like `--build` and `--no-build`, which share a single option value. This works nicely for some
249
+ * use cases, but is tricky for others where we want separate behaviours despite
250
+ * the single shared option value.
251
+ */
252
+ class DualOptions {
253
+ /**
254
+ * @param {Option[]} options
255
+ */
256
+ constructor(options) {
257
+ this.positiveOptions = new Map();
258
+ this.negativeOptions = new Map();
259
+ this.dualOptions = new Set();
260
+ options.forEach((option) => {
261
+ if (option.negate) {
262
+ this.negativeOptions.set(option.attributeName(), option);
263
+ } else {
264
+ this.positiveOptions.set(option.attributeName(), option);
265
+ }
266
+ });
267
+ this.negativeOptions.forEach((value, key) => {
268
+ if (this.positiveOptions.has(key)) {
269
+ this.dualOptions.add(key);
270
+ }
271
+ });
272
+ }
273
+
274
+ /**
275
+ * Did the value come from the option, and not from possible matching dual option?
276
+ *
277
+ * @param {*} value
278
+ * @param {Option} option
279
+ * @returns {boolean}
280
+ */
281
+ valueFromOption(value, option) {
282
+ const optionKey = option.attributeName();
283
+ if (!this.dualOptions.has(optionKey)) return true;
284
+
285
+ // Use the value to deduce if (probably) came from the option.
286
+ const preset = this.negativeOptions.get(optionKey).presetArg;
287
+ const negativeValue = preset !== undefined ? preset : false;
288
+ return option.negate === (negativeValue === value);
289
+ }
290
+ }
291
+
292
+ /**
293
+ * Convert string from kebab-case to camelCase.
294
+ *
295
+ * @param {string} str
296
+ * @return {string}
297
+ * @private
298
+ */
299
+
300
+ function camelcase(str) {
301
+ return str.split('-').reduce((str, word) => {
302
+ return str + word[0].toUpperCase() + word.slice(1);
303
+ });
304
+ }
305
+
306
+ /**
307
+ * Split the short and long flag out of something like '-m,--mixed <value>'
308
+ *
309
+ * @private
310
+ */
311
+
312
+ function splitOptionFlags(flags) {
313
+ let shortFlag;
314
+ let longFlag;
315
+ // Use original very loose parsing to maintain backwards compatibility for now,
316
+ // which allowed for example unintended `-sw, --short-word` [sic].
317
+ const flagParts = flags.split(/[ |,]+/);
318
+ if (flagParts.length > 1 && !/^[[<]/.test(flagParts[1]))
319
+ shortFlag = flagParts.shift();
320
+ longFlag = flagParts.shift();
321
+ // Add support for lone short flag without significantly changing parsing!
322
+ if (!shortFlag && /^-[^-]$/.test(longFlag)) {
323
+ shortFlag = longFlag;
324
+ longFlag = undefined;
325
+ }
326
+ return { shortFlag, longFlag };
327
+ }
328
+
329
+ exports.Option = Option;
330
+ exports.DualOptions = DualOptions;
@@ -0,0 +1,101 @@
1
+ const maxDistance = 3;
2
+
3
+ function editDistance(a, b) {
4
+ // https://en.wikipedia.org/wiki/Damerau–Levenshtein_distance
5
+ // Calculating optimal string alignment distance, no substring is edited more than once.
6
+ // (Simple implementation.)
7
+
8
+ // Quick early exit, return worst case.
9
+ if (Math.abs(a.length - b.length) > maxDistance)
10
+ return Math.max(a.length, b.length);
11
+
12
+ // distance between prefix substrings of a and b
13
+ const d = [];
14
+
15
+ // pure deletions turn a into empty string
16
+ for (let i = 0; i <= a.length; i++) {
17
+ d[i] = [i];
18
+ }
19
+ // pure insertions turn empty string into b
20
+ for (let j = 0; j <= b.length; j++) {
21
+ d[0][j] = j;
22
+ }
23
+
24
+ // fill matrix
25
+ for (let j = 1; j <= b.length; j++) {
26
+ for (let i = 1; i <= a.length; i++) {
27
+ let cost = 1;
28
+ if (a[i - 1] === b[j - 1]) {
29
+ cost = 0;
30
+ } else {
31
+ cost = 1;
32
+ }
33
+ d[i][j] = Math.min(
34
+ d[i - 1][j] + 1, // deletion
35
+ d[i][j - 1] + 1, // insertion
36
+ d[i - 1][j - 1] + cost, // substitution
37
+ );
38
+ // transposition
39
+ if (i > 1 && j > 1 && a[i - 1] === b[j - 2] && a[i - 2] === b[j - 1]) {
40
+ d[i][j] = Math.min(d[i][j], d[i - 2][j - 2] + 1);
41
+ }
42
+ }
43
+ }
44
+
45
+ return d[a.length][b.length];
46
+ }
47
+
48
+ /**
49
+ * Find close matches, restricted to same number of edits.
50
+ *
51
+ * @param {string} word
52
+ * @param {string[]} candidates
53
+ * @returns {string}
54
+ */
55
+
56
+ function suggestSimilar(word, candidates) {
57
+ if (!candidates || candidates.length === 0) return '';
58
+ // remove possible duplicates
59
+ candidates = Array.from(new Set(candidates));
60
+
61
+ const searchingOptions = word.startsWith('--');
62
+ if (searchingOptions) {
63
+ word = word.slice(2);
64
+ candidates = candidates.map((candidate) => candidate.slice(2));
65
+ }
66
+
67
+ let similar = [];
68
+ let bestDistance = maxDistance;
69
+ const minSimilarity = 0.4;
70
+ candidates.forEach((candidate) => {
71
+ if (candidate.length <= 1) return; // no one character guesses
72
+
73
+ const distance = editDistance(word, candidate);
74
+ const length = Math.max(word.length, candidate.length);
75
+ const similarity = (length - distance) / length;
76
+ if (similarity > minSimilarity) {
77
+ if (distance < bestDistance) {
78
+ // better edit distance, throw away previous worse matches
79
+ bestDistance = distance;
80
+ similar = [candidate];
81
+ } else if (distance === bestDistance) {
82
+ similar.push(candidate);
83
+ }
84
+ }
85
+ });
86
+
87
+ similar.sort((a, b) => a.localeCompare(b));
88
+ if (searchingOptions) {
89
+ similar = similar.map((candidate) => `--${candidate}`);
90
+ }
91
+
92
+ if (similar.length > 1) {
93
+ return `\n(Did you mean one of ${similar.join(', ')}?)`;
94
+ }
95
+ if (similar.length === 1) {
96
+ return `\n(Did you mean ${similar[0]}?)`;
97
+ }
98
+ return '';
99
+ }
100
+
101
+ exports.suggestSimilar = suggestSimilar;
@@ -0,0 +1,16 @@
1
+ {
2
+ "versions": [
3
+ {
4
+ "version": "*",
5
+ "target": {
6
+ "node": "supported"
7
+ },
8
+ "response": {
9
+ "type": "time-permitting"
10
+ },
11
+ "backing": {
12
+ "npm-funding": true
13
+ }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "commander",
3
+ "version": "12.1.0",
4
+ "description": "the complete solution for node.js command-line programs",
5
+ "keywords": [
6
+ "commander",
7
+ "command",
8
+ "option",
9
+ "parser",
10
+ "cli",
11
+ "argument",
12
+ "args",
13
+ "argv"
14
+ ],
15
+ "author": "TJ Holowaychuk <tj@vision-media.ca>",
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://github.com/tj/commander.js.git"
20
+ },
21
+ "scripts": {
22
+ "check": "npm run check:type && npm run check:lint && npm run check:format",
23
+ "check:format": "prettier --check .",
24
+ "check:lint": "eslint .",
25
+ "check:type": "npm run check:type:js && npm run check:type:ts",
26
+ "check:type:ts": "tsd && tsc -p tsconfig.ts.json",
27
+ "check:type:js": "tsc -p tsconfig.js.json",
28
+ "fix": "npm run fix:lint && npm run fix:format",
29
+ "fix:format": "prettier --write .",
30
+ "fix:lint": "eslint --fix .",
31
+ "test": "jest && npm run check:type:ts",
32
+ "test-all": "jest && npm run test-esm && npm run check",
33
+ "test-esm": "node ./tests/esm-imports-test.mjs"
34
+ },
35
+ "files": [
36
+ "index.js",
37
+ "lib/*.js",
38
+ "esm.mjs",
39
+ "typings/index.d.ts",
40
+ "typings/esm.d.mts",
41
+ "package-support.json"
42
+ ],
43
+ "type": "commonjs",
44
+ "main": "./index.js",
45
+ "exports": {
46
+ ".": {
47
+ "require": {
48
+ "types": "./typings/index.d.ts",
49
+ "default": "./index.js"
50
+ },
51
+ "import": {
52
+ "types": "./typings/esm.d.mts",
53
+ "default": "./esm.mjs"
54
+ },
55
+ "default": "./index.js"
56
+ },
57
+ "./esm.mjs": {
58
+ "types": "./typings/esm.d.mts",
59
+ "import": "./esm.mjs"
60
+ }
61
+ },
62
+ "devDependencies": {
63
+ "@eslint/js": "^8.56.0",
64
+ "@types/jest": "^29.2.4",
65
+ "@types/node": "^20.2.5",
66
+ "eslint": "^8.30.0",
67
+ "eslint-config-prettier": "^9.1.0",
68
+ "eslint-plugin-jest": "^28.3.0",
69
+ "eslint-plugin-jsdoc": "^48.1.0",
70
+ "globals": "^13.24.0",
71
+ "jest": "^29.3.1",
72
+ "prettier": "^3.2.5",
73
+ "prettier-plugin-jsdoc": "^1.3.0",
74
+ "ts-jest": "^29.0.3",
75
+ "tsd": "^0.31.0",
76
+ "typescript": "^5.0.4",
77
+ "typescript-eslint": "^7.0.1"
78
+ },
79
+ "types": "typings/index.d.ts",
80
+ "engines": {
81
+ "node": ">=18"
82
+ },
83
+ "support": true
84
+ }
@@ -0,0 +1,3 @@
1
+ // Just reexport the types from cjs
2
+ // This is a bit indirect. There is not an index.js, but TypeScript will look for index.d.ts for types.
3
+ export * from './index.js';