@macula-io/martha 0.0.0-stage → 1.0.0

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 (1022) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +59 -2
  3. package/bin/martha-install.mjs +54 -0
  4. package/check_the_node_version/check_the_node_version.mjs +19 -0
  5. package/install_a_release/install_a_release.mjs +166 -0
  6. package/keep_the_names_in_one_place/names.mjs +49 -0
  7. package/node_modules/@gar/promise-retry/LICENSE +20 -0
  8. package/node_modules/@gar/promise-retry/README.md +86 -0
  9. package/node_modules/@gar/promise-retry/lib/index.d.ts +114 -0
  10. package/node_modules/@gar/promise-retry/lib/index.js +62 -0
  11. package/node_modules/@gar/promise-retry/lib/retry.js +109 -0
  12. package/node_modules/@gar/promise-retry/package.json +45 -0
  13. package/node_modules/@isaacs/nonrecursive-glob-match/LICENSE.md +55 -0
  14. package/node_modules/@isaacs/nonrecursive-glob-match/README.md +364 -0
  15. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts +123 -0
  16. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts.map +1 -0
  17. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js +778 -0
  18. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js.map +1 -0
  19. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js +3 -0
  20. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js.map +7 -0
  21. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/numeric-range.d.ts +15 -0
  22. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/numeric-range.d.ts.map +1 -0
  23. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/numeric-range.js +76 -0
  24. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/numeric-range.js.map +1 -0
  25. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/package.json +3 -0
  26. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts +4 -0
  27. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts.map +1 -0
  28. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js +142 -0
  29. package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js.map +1 -0
  30. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts +123 -0
  31. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts.map +1 -0
  32. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js +774 -0
  33. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js.map +1 -0
  34. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js +3 -0
  35. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js.map +7 -0
  36. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/numeric-range.d.ts +15 -0
  37. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/numeric-range.d.ts.map +1 -0
  38. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/numeric-range.js +72 -0
  39. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/numeric-range.js.map +1 -0
  40. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/package.json +3 -0
  41. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts +4 -0
  42. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts.map +1 -0
  43. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js +138 -0
  44. package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js.map +1 -0
  45. package/node_modules/@isaacs/nonrecursive-glob-match/package.json +56 -0
  46. package/node_modules/@isaacs/nonrecursive-glob-match/src/index.ts +932 -0
  47. package/node_modules/@isaacs/nonrecursive-glob-match/src/numeric-range.ts +79 -0
  48. package/node_modules/@isaacs/nonrecursive-glob-match/src/parse-class.ts +158 -0
  49. package/node_modules/@npmcli/agent/README.md +40 -0
  50. package/node_modules/@npmcli/agent/lib/agents.js +268 -0
  51. package/node_modules/@npmcli/agent/lib/dns.js +53 -0
  52. package/node_modules/@npmcli/agent/lib/errors.js +61 -0
  53. package/node_modules/@npmcli/agent/lib/index.js +56 -0
  54. package/node_modules/@npmcli/agent/lib/options.js +90 -0
  55. package/node_modules/@npmcli/agent/lib/proxy.js +88 -0
  56. package/node_modules/@npmcli/agent/package.json +61 -0
  57. package/node_modules/@npmcli/fs/LICENSE.md +20 -0
  58. package/node_modules/@npmcli/fs/README.md +97 -0
  59. package/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
  60. package/node_modules/@npmcli/fs/lib/common/node.js +9 -0
  61. package/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
  62. package/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
  63. package/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
  64. package/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
  65. package/node_modules/@npmcli/fs/lib/index.js +13 -0
  66. package/node_modules/@npmcli/fs/lib/move-file.js +78 -0
  67. package/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
  68. package/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
  69. package/node_modules/@npmcli/fs/package.json +54 -0
  70. package/node_modules/@npmcli/redact/LICENSE +21 -0
  71. package/node_modules/@npmcli/redact/README.md +42 -0
  72. package/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
  73. package/node_modules/@npmcli/redact/lib/error.js +28 -0
  74. package/node_modules/@npmcli/redact/lib/index.js +44 -0
  75. package/node_modules/@npmcli/redact/lib/matchers.js +88 -0
  76. package/node_modules/@npmcli/redact/lib/server.js +59 -0
  77. package/node_modules/@npmcli/redact/lib/utils.js +202 -0
  78. package/node_modules/@npmcli/redact/package.json +52 -0
  79. package/node_modules/@sigstore/bundle/LICENSE +202 -0
  80. package/node_modules/@sigstore/bundle/README.md +19 -0
  81. package/node_modules/@sigstore/bundle/dist/build.d.ts +18 -0
  82. package/node_modules/@sigstore/bundle/dist/build.js +100 -0
  83. package/node_modules/@sigstore/bundle/dist/bundle.d.ts +74 -0
  84. package/node_modules/@sigstore/bundle/dist/bundle.js +24 -0
  85. package/node_modules/@sigstore/bundle/dist/error.d.ts +4 -0
  86. package/node_modules/@sigstore/bundle/dist/error.js +26 -0
  87. package/node_modules/@sigstore/bundle/dist/index.d.ts +8 -0
  88. package/node_modules/@sigstore/bundle/dist/index.js +43 -0
  89. package/node_modules/@sigstore/bundle/dist/serialized.d.ts +74 -0
  90. package/node_modules/@sigstore/bundle/dist/serialized.js +49 -0
  91. package/node_modules/@sigstore/bundle/dist/utility.d.ts +14 -0
  92. package/node_modules/@sigstore/bundle/dist/utility.js +2 -0
  93. package/node_modules/@sigstore/bundle/dist/validate.d.ts +7 -0
  94. package/node_modules/@sigstore/bundle/dist/validate.js +199 -0
  95. package/node_modules/@sigstore/bundle/package.json +35 -0
  96. package/node_modules/@sigstore/core/LICENSE +202 -0
  97. package/node_modules/@sigstore/core/README.md +10 -0
  98. package/node_modules/@sigstore/core/dist/asn1/error.d.ts +4 -0
  99. package/node_modules/@sigstore/core/dist/asn1/error.js +24 -0
  100. package/node_modules/@sigstore/core/dist/asn1/index.d.ts +1 -0
  101. package/node_modules/@sigstore/core/dist/asn1/index.js +20 -0
  102. package/node_modules/@sigstore/core/dist/asn1/length.d.ts +3 -0
  103. package/node_modules/@sigstore/core/dist/asn1/length.js +73 -0
  104. package/node_modules/@sigstore/core/dist/asn1/obj.d.ts +14 -0
  105. package/node_modules/@sigstore/core/dist/asn1/obj.js +173 -0
  106. package/node_modules/@sigstore/core/dist/asn1/parse.d.ts +6 -0
  107. package/node_modules/@sigstore/core/dist/asn1/parse.js +143 -0
  108. package/node_modules/@sigstore/core/dist/asn1/tag.d.ts +16 -0
  109. package/node_modules/@sigstore/core/dist/asn1/tag.js +89 -0
  110. package/node_modules/@sigstore/core/dist/crypto.d.ts +6 -0
  111. package/node_modules/@sigstore/core/dist/crypto.js +69 -0
  112. package/node_modules/@sigstore/core/dist/dsse.d.ts +1 -0
  113. package/node_modules/@sigstore/core/dist/dsse.js +29 -0
  114. package/node_modules/@sigstore/core/dist/encoding.d.ts +2 -0
  115. package/node_modules/@sigstore/core/dist/encoding.js +27 -0
  116. package/node_modules/@sigstore/core/dist/index.d.ts +9 -0
  117. package/node_modules/@sigstore/core/dist/index.js +66 -0
  118. package/node_modules/@sigstore/core/dist/json.d.ts +1 -0
  119. package/node_modules/@sigstore/core/dist/json.js +60 -0
  120. package/node_modules/@sigstore/core/dist/oid.d.ts +3 -0
  121. package/node_modules/@sigstore/core/dist/oid.js +20 -0
  122. package/node_modules/@sigstore/core/dist/pem.d.ts +2 -0
  123. package/node_modules/@sigstore/core/dist/pem.js +43 -0
  124. package/node_modules/@sigstore/core/dist/rfc3161/error.d.ts +2 -0
  125. package/node_modules/@sigstore/core/dist/rfc3161/error.js +21 -0
  126. package/node_modules/@sigstore/core/dist/rfc3161/index.d.ts +1 -0
  127. package/node_modules/@sigstore/core/dist/rfc3161/index.js +20 -0
  128. package/node_modules/@sigstore/core/dist/rfc3161/timestamp.d.ts +36 -0
  129. package/node_modules/@sigstore/core/dist/rfc3161/timestamp.js +212 -0
  130. package/node_modules/@sigstore/core/dist/rfc3161/tstinfo.d.ts +12 -0
  131. package/node_modules/@sigstore/core/dist/rfc3161/tstinfo.js +72 -0
  132. package/node_modules/@sigstore/core/dist/stream.d.ts +21 -0
  133. package/node_modules/@sigstore/core/dist/stream.js +117 -0
  134. package/node_modules/@sigstore/core/dist/x509/cert.d.ts +43 -0
  135. package/node_modules/@sigstore/core/dist/x509/cert.js +245 -0
  136. package/node_modules/@sigstore/core/dist/x509/ext.d.ts +41 -0
  137. package/node_modules/@sigstore/core/dist/x509/ext.js +146 -0
  138. package/node_modules/@sigstore/core/dist/x509/index.d.ts +2 -0
  139. package/node_modules/@sigstore/core/dist/x509/index.js +23 -0
  140. package/node_modules/@sigstore/core/dist/x509/sct.d.ts +25 -0
  141. package/node_modules/@sigstore/core/dist/x509/sct.js +158 -0
  142. package/node_modules/@sigstore/core/package.json +31 -0
  143. package/node_modules/@sigstore/protobuf-specs/LICENSE +202 -0
  144. package/node_modules/@sigstore/protobuf-specs/README.md +5 -0
  145. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/envelope.d.ts +44 -0
  146. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/envelope.js +59 -0
  147. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/events.d.ts +64 -0
  148. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/events.js +174 -0
  149. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/api/field_behavior.d.ts +74 -0
  150. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/api/field_behavior.js +141 -0
  151. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/any.d.ts +74 -0
  152. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/any.js +35 -0
  153. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/descriptor.d.ts +1309 -0
  154. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/descriptor.js +2191 -0
  155. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/timestamp.d.ts +113 -0
  156. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/google/protobuf/timestamp.js +29 -0
  157. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/dsse.d.ts +23 -0
  158. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/dsse.js +55 -0
  159. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/entry.d.ts +43 -0
  160. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/entry.js +81 -0
  161. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/hashedrekord.d.ts +22 -0
  162. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/hashedrekord.js +56 -0
  163. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/verifier.d.ts +35 -0
  164. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/rekor/v2/verifier.js +74 -0
  165. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_bundle.d.ts +146 -0
  166. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_bundle.js +103 -0
  167. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_common.d.ts +304 -0
  168. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_common.js +612 -0
  169. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_monitor.d.ts +33 -0
  170. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_monitor.js +55 -0
  171. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_rekor.d.ts +144 -0
  172. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_rekor.js +137 -0
  173. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_trustroot.d.ts +386 -0
  174. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_trustroot.js +284 -0
  175. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_verification.d.ts +191 -0
  176. package/node_modules/@sigstore/protobuf-specs/dist/__generated__/sigstore_verification.js +281 -0
  177. package/node_modules/@sigstore/protobuf-specs/dist/index.d.ts +6 -0
  178. package/node_modules/@sigstore/protobuf-specs/dist/index.js +37 -0
  179. package/node_modules/@sigstore/protobuf-specs/dist/rekor/v2/index.d.ts +4 -0
  180. package/node_modules/@sigstore/protobuf-specs/dist/rekor/v2/index.js +35 -0
  181. package/node_modules/@sigstore/protobuf-specs/package.json +35 -0
  182. package/node_modules/@sigstore/sign/LICENSE +202 -0
  183. package/node_modules/@sigstore/sign/README.md +185 -0
  184. package/node_modules/@sigstore/sign/dist/bundler/base.d.ts +22 -0
  185. package/node_modules/@sigstore/sign/dist/bundler/base.js +52 -0
  186. package/node_modules/@sigstore/sign/dist/bundler/bundle.d.ts +5 -0
  187. package/node_modules/@sigstore/sign/dist/bundler/bundle.js +81 -0
  188. package/node_modules/@sigstore/sign/dist/bundler/dsse.d.ts +13 -0
  189. package/node_modules/@sigstore/sign/dist/bundler/dsse.js +47 -0
  190. package/node_modules/@sigstore/sign/dist/bundler/index.d.ts +3 -0
  191. package/node_modules/@sigstore/sign/dist/bundler/index.js +7 -0
  192. package/node_modules/@sigstore/sign/dist/bundler/message.d.ts +7 -0
  193. package/node_modules/@sigstore/sign/dist/bundler/message.js +30 -0
  194. package/node_modules/@sigstore/sign/dist/config.d.ts +18 -0
  195. package/node_modules/@sigstore/sign/dist/config.js +143 -0
  196. package/node_modules/@sigstore/sign/dist/error.d.ts +12 -0
  197. package/node_modules/@sigstore/sign/dist/error.js +41 -0
  198. package/node_modules/@sigstore/sign/dist/external/error.d.ts +9 -0
  199. package/node_modules/@sigstore/sign/dist/external/error.js +28 -0
  200. package/node_modules/@sigstore/sign/dist/external/fetch.d.ts +4 -0
  201. package/node_modules/@sigstore/sign/dist/external/fetch.js +98 -0
  202. package/node_modules/@sigstore/sign/dist/external/fulcio.d.ts +37 -0
  203. package/node_modules/@sigstore/sign/dist/external/fulcio.js +42 -0
  204. package/node_modules/@sigstore/sign/dist/external/rekor-v2.d.ts +14 -0
  205. package/node_modules/@sigstore/sign/dist/external/rekor-v2.js +45 -0
  206. package/node_modules/@sigstore/sign/dist/external/rekor.d.ts +28 -0
  207. package/node_modules/@sigstore/sign/dist/external/rekor.js +81 -0
  208. package/node_modules/@sigstore/sign/dist/external/tsa.d.ts +16 -0
  209. package/node_modules/@sigstore/sign/dist/external/tsa.js +44 -0
  210. package/node_modules/@sigstore/sign/dist/identity/ci.d.ts +11 -0
  211. package/node_modules/@sigstore/sign/dist/identity/ci.js +88 -0
  212. package/node_modules/@sigstore/sign/dist/identity/index.d.ts +2 -0
  213. package/node_modules/@sigstore/sign/dist/identity/index.js +20 -0
  214. package/node_modules/@sigstore/sign/dist/identity/provider.d.ts +3 -0
  215. package/node_modules/@sigstore/sign/dist/identity/provider.js +2 -0
  216. package/node_modules/@sigstore/sign/dist/index.d.ts +11 -0
  217. package/node_modules/@sigstore/sign/dist/index.js +19 -0
  218. package/node_modules/@sigstore/sign/dist/signer/fulcio/ca.d.ts +12 -0
  219. package/node_modules/@sigstore/sign/dist/signer/fulcio/ca.js +60 -0
  220. package/node_modules/@sigstore/sign/dist/signer/fulcio/ephemeral.d.ts +6 -0
  221. package/node_modules/@sigstore/sign/dist/signer/fulcio/ephemeral.js +43 -0
  222. package/node_modules/@sigstore/sign/dist/signer/fulcio/index.d.ts +16 -0
  223. package/node_modules/@sigstore/sign/dist/signer/fulcio/index.js +90 -0
  224. package/node_modules/@sigstore/sign/dist/signer/index.d.ts +2 -0
  225. package/node_modules/@sigstore/sign/dist/signer/index.js +22 -0
  226. package/node_modules/@sigstore/sign/dist/signer/signer.d.ts +15 -0
  227. package/node_modules/@sigstore/sign/dist/signer/signer.js +17 -0
  228. package/node_modules/@sigstore/sign/dist/types/fetch.d.ts +6 -0
  229. package/node_modules/@sigstore/sign/dist/types/fetch.js +2 -0
  230. package/node_modules/@sigstore/sign/dist/util/index.d.ts +3 -0
  231. package/node_modules/@sigstore/sign/dist/util/index.js +59 -0
  232. package/node_modules/@sigstore/sign/dist/util/oidc.d.ts +1 -0
  233. package/node_modules/@sigstore/sign/dist/util/oidc.js +35 -0
  234. package/node_modules/@sigstore/sign/dist/util/ua.d.ts +1 -0
  235. package/node_modules/@sigstore/sign/dist/util/ua.js +32 -0
  236. package/node_modules/@sigstore/sign/dist/witness/index.d.ts +3 -0
  237. package/node_modules/@sigstore/sign/dist/witness/index.js +24 -0
  238. package/node_modules/@sigstore/sign/dist/witness/tlog/client.d.ts +29 -0
  239. package/node_modules/@sigstore/sign/dist/witness/tlog/client.js +92 -0
  240. package/node_modules/@sigstore/sign/dist/witness/tlog/entry.d.ts +5 -0
  241. package/node_modules/@sigstore/sign/dist/witness/tlog/entry.js +197 -0
  242. package/node_modules/@sigstore/sign/dist/witness/tlog/index.d.ts +20 -0
  243. package/node_modules/@sigstore/sign/dist/witness/tlog/index.js +97 -0
  244. package/node_modules/@sigstore/sign/dist/witness/tsa/client.d.ts +12 -0
  245. package/node_modules/@sigstore/sign/dist/witness/tsa/client.js +47 -0
  246. package/node_modules/@sigstore/sign/dist/witness/tsa/index.d.ts +13 -0
  247. package/node_modules/@sigstore/sign/dist/witness/tsa/index.js +45 -0
  248. package/node_modules/@sigstore/sign/dist/witness/witness.d.ts +9 -0
  249. package/node_modules/@sigstore/sign/dist/witness/witness.js +2 -0
  250. package/node_modules/@sigstore/sign/package.json +45 -0
  251. package/node_modules/@sigstore/tuf/LICENSE +202 -0
  252. package/node_modules/@sigstore/tuf/README.md +69 -0
  253. package/node_modules/@sigstore/tuf/dist/appdata.d.ts +1 -0
  254. package/node_modules/@sigstore/tuf/dist/appdata.js +43 -0
  255. package/node_modules/@sigstore/tuf/dist/client.d.ts +23 -0
  256. package/node_modules/@sigstore/tuf/dist/client.js +116 -0
  257. package/node_modules/@sigstore/tuf/dist/error.d.ts +11 -0
  258. package/node_modules/@sigstore/tuf/dist/error.js +14 -0
  259. package/node_modules/@sigstore/tuf/dist/index.d.ts +10 -0
  260. package/node_modules/@sigstore/tuf/dist/index.js +56 -0
  261. package/node_modules/@sigstore/tuf/dist/target.d.ts +2 -0
  262. package/node_modules/@sigstore/tuf/dist/target.js +79 -0
  263. package/node_modules/@sigstore/tuf/package.json +41 -0
  264. package/node_modules/@sigstore/tuf/seeds.json +1 -0
  265. package/node_modules/@sigstore/verify/README.md +13 -0
  266. package/node_modules/@sigstore/verify/dist/bundle/dsse.d.ts +13 -0
  267. package/node_modules/@sigstore/verify/dist/bundle/dsse.js +50 -0
  268. package/node_modules/@sigstore/verify/dist/bundle/index.d.ts +4 -0
  269. package/node_modules/@sigstore/verify/dist/bundle/index.js +59 -0
  270. package/node_modules/@sigstore/verify/dist/bundle/message.d.ts +14 -0
  271. package/node_modules/@sigstore/verify/dist/bundle/message.js +59 -0
  272. package/node_modules/@sigstore/verify/dist/error.d.ts +16 -0
  273. package/node_modules/@sigstore/verify/dist/error.js +34 -0
  274. package/node_modules/@sigstore/verify/dist/index.d.ts +6 -0
  275. package/node_modules/@sigstore/verify/dist/index.js +28 -0
  276. package/node_modules/@sigstore/verify/dist/key/certificate.d.ts +21 -0
  277. package/node_modules/@sigstore/verify/dist/key/certificate.js +216 -0
  278. package/node_modules/@sigstore/verify/dist/key/index.d.ts +10 -0
  279. package/node_modules/@sigstore/verify/dist/key/index.js +75 -0
  280. package/node_modules/@sigstore/verify/dist/key/sct.d.ts +4 -0
  281. package/node_modules/@sigstore/verify/dist/key/sct.js +78 -0
  282. package/node_modules/@sigstore/verify/dist/policy.d.ts +5 -0
  283. package/node_modules/@sigstore/verify/dist/policy.js +48 -0
  284. package/node_modules/@sigstore/verify/dist/shared.types.d.ts +55 -0
  285. package/node_modules/@sigstore/verify/dist/shared.types.js +2 -0
  286. package/node_modules/@sigstore/verify/dist/timestamp/index.d.ts +11 -0
  287. package/node_modules/@sigstore/verify/dist/timestamp/index.js +24 -0
  288. package/node_modules/@sigstore/verify/dist/timestamp/tsa.d.ts +3 -0
  289. package/node_modules/@sigstore/verify/dist/timestamp/tsa.js +63 -0
  290. package/node_modules/@sigstore/verify/dist/tlog/checkpoint.d.ts +11 -0
  291. package/node_modules/@sigstore/verify/dist/tlog/checkpoint.js +168 -0
  292. package/node_modules/@sigstore/verify/dist/tlog/dsse.d.ts +6 -0
  293. package/node_modules/@sigstore/verify/dist/tlog/dsse.js +106 -0
  294. package/node_modules/@sigstore/verify/dist/tlog/hashedrekord.d.ts +6 -0
  295. package/node_modules/@sigstore/verify/dist/tlog/hashedrekord.js +94 -0
  296. package/node_modules/@sigstore/verify/dist/tlog/index.d.ts +5 -0
  297. package/node_modules/@sigstore/verify/dist/tlog/index.js +106 -0
  298. package/node_modules/@sigstore/verify/dist/tlog/intoto.d.ts +3 -0
  299. package/node_modules/@sigstore/verify/dist/tlog/intoto.js +62 -0
  300. package/node_modules/@sigstore/verify/dist/tlog/merkle.d.ts +3 -0
  301. package/node_modules/@sigstore/verify/dist/tlog/merkle.js +115 -0
  302. package/node_modules/@sigstore/verify/dist/tlog/set.d.ts +3 -0
  303. package/node_modules/@sigstore/verify/dist/tlog/set.js +60 -0
  304. package/node_modules/@sigstore/verify/dist/trust/filter.d.ts +8 -0
  305. package/node_modules/@sigstore/verify/dist/trust/filter.js +23 -0
  306. package/node_modules/@sigstore/verify/dist/trust/index.d.ts +5 -0
  307. package/node_modules/@sigstore/verify/dist/trust/index.js +90 -0
  308. package/node_modules/@sigstore/verify/dist/trust/trust.types.d.ts +29 -0
  309. package/node_modules/@sigstore/verify/dist/trust/trust.types.js +2 -0
  310. package/node_modules/@sigstore/verify/dist/verifier.d.ts +34 -0
  311. package/node_modules/@sigstore/verify/dist/verifier.js +172 -0
  312. package/node_modules/@sigstore/verify/package.json +36 -0
  313. package/node_modules/@tufjs/canonical-json/LICENSE +21 -0
  314. package/node_modules/@tufjs/canonical-json/README.md +53 -0
  315. package/node_modules/@tufjs/canonical-json/lib/index.d.ts +2 -0
  316. package/node_modules/@tufjs/canonical-json/lib/index.js +64 -0
  317. package/node_modules/@tufjs/canonical-json/package.json +35 -0
  318. package/node_modules/@tufjs/models/LICENSE +21 -0
  319. package/node_modules/@tufjs/models/README.md +3 -0
  320. package/node_modules/@tufjs/models/dist/base.d.ts +37 -0
  321. package/node_modules/@tufjs/models/dist/base.js +99 -0
  322. package/node_modules/@tufjs/models/dist/delegations.d.ts +32 -0
  323. package/node_modules/@tufjs/models/dist/delegations.js +122 -0
  324. package/node_modules/@tufjs/models/dist/error.d.ts +12 -0
  325. package/node_modules/@tufjs/models/dist/error.js +27 -0
  326. package/node_modules/@tufjs/models/dist/file.d.ts +38 -0
  327. package/node_modules/@tufjs/models/dist/file.js +191 -0
  328. package/node_modules/@tufjs/models/dist/index.d.ts +10 -0
  329. package/node_modules/@tufjs/models/dist/index.js +24 -0
  330. package/node_modules/@tufjs/models/dist/key.d.ts +21 -0
  331. package/node_modules/@tufjs/models/dist/key.js +90 -0
  332. package/node_modules/@tufjs/models/dist/metadata.d.ts +47 -0
  333. package/node_modules/@tufjs/models/dist/metadata.js +165 -0
  334. package/node_modules/@tufjs/models/dist/role.d.ts +103 -0
  335. package/node_modules/@tufjs/models/dist/role.js +310 -0
  336. package/node_modules/@tufjs/models/dist/root.d.ts +29 -0
  337. package/node_modules/@tufjs/models/dist/root.js +119 -0
  338. package/node_modules/@tufjs/models/dist/signature.d.ts +20 -0
  339. package/node_modules/@tufjs/models/dist/signature.js +40 -0
  340. package/node_modules/@tufjs/models/dist/snapshot.d.ts +23 -0
  341. package/node_modules/@tufjs/models/dist/snapshot.js +72 -0
  342. package/node_modules/@tufjs/models/dist/targets.d.ts +20 -0
  343. package/node_modules/@tufjs/models/dist/targets.js +94 -0
  344. package/node_modules/@tufjs/models/dist/timestamp.d.ts +21 -0
  345. package/node_modules/@tufjs/models/dist/timestamp.js +59 -0
  346. package/node_modules/@tufjs/models/dist/utils/guard.d.ts +7 -0
  347. package/node_modules/@tufjs/models/dist/utils/guard.js +32 -0
  348. package/node_modules/@tufjs/models/dist/utils/index.d.ts +3 -0
  349. package/node_modules/@tufjs/models/dist/utils/index.js +38 -0
  350. package/node_modules/@tufjs/models/dist/utils/key.d.ts +11 -0
  351. package/node_modules/@tufjs/models/dist/utils/key.js +170 -0
  352. package/node_modules/@tufjs/models/dist/utils/oid.d.ts +1 -0
  353. package/node_modules/@tufjs/models/dist/utils/oid.js +26 -0
  354. package/node_modules/@tufjs/models/dist/utils/types.d.ts +4 -0
  355. package/node_modules/@tufjs/models/dist/utils/types.js +2 -0
  356. package/node_modules/@tufjs/models/dist/utils/verify.d.ts +3 -0
  357. package/node_modules/@tufjs/models/dist/utils/verify.js +13 -0
  358. package/node_modules/@tufjs/models/package.json +37 -0
  359. package/node_modules/agent-base/LICENSE +22 -0
  360. package/node_modules/agent-base/README.md +69 -0
  361. package/node_modules/agent-base/dist/helpers.d.ts +10 -0
  362. package/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
  363. package/node_modules/agent-base/dist/helpers.js +37 -0
  364. package/node_modules/agent-base/dist/helpers.js.map +1 -0
  365. package/node_modules/agent-base/dist/index.d.ts +37 -0
  366. package/node_modules/agent-base/dist/index.d.ts.map +1 -0
  367. package/node_modules/agent-base/dist/index.js +146 -0
  368. package/node_modules/agent-base/dist/index.js.map +1 -0
  369. package/node_modules/agent-base/package.json +46 -0
  370. package/node_modules/balanced-match/LICENSE.md +23 -0
  371. package/node_modules/balanced-match/README.md +57 -0
  372. package/node_modules/balanced-match/dist/commonjs/index.d.ts +9 -0
  373. package/node_modules/balanced-match/dist/commonjs/index.d.ts.map +1 -0
  374. package/node_modules/balanced-match/dist/commonjs/index.js +59 -0
  375. package/node_modules/balanced-match/dist/commonjs/index.js.map +1 -0
  376. package/node_modules/balanced-match/dist/commonjs/package.json +3 -0
  377. package/node_modules/balanced-match/dist/esm/index.d.ts +9 -0
  378. package/node_modules/balanced-match/dist/esm/index.d.ts.map +1 -0
  379. package/node_modules/balanced-match/dist/esm/index.js +54 -0
  380. package/node_modules/balanced-match/dist/esm/index.js.map +1 -0
  381. package/node_modules/balanced-match/dist/esm/package.json +3 -0
  382. package/node_modules/balanced-match/package.json +68 -0
  383. package/node_modules/brace-expansion/LICENSE +23 -0
  384. package/node_modules/brace-expansion/README.md +105 -0
  385. package/node_modules/brace-expansion/dist/commonjs/index.d.ts +12 -0
  386. package/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
  387. package/node_modules/brace-expansion/dist/commonjs/index.js +333 -0
  388. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
  389. package/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
  390. package/node_modules/brace-expansion/dist/esm/index.d.ts +12 -0
  391. package/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
  392. package/node_modules/brace-expansion/dist/esm/index.js +329 -0
  393. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
  394. package/node_modules/brace-expansion/dist/esm/package.json +3 -0
  395. package/node_modules/brace-expansion/package.json +65 -0
  396. package/node_modules/cacache/LICENSE.md +16 -0
  397. package/node_modules/cacache/README.md +715 -0
  398. package/node_modules/cacache/lib/content/path.js +29 -0
  399. package/node_modules/cacache/lib/content/read.js +165 -0
  400. package/node_modules/cacache/lib/content/rm.js +18 -0
  401. package/node_modules/cacache/lib/content/write.js +208 -0
  402. package/node_modules/cacache/lib/entry-index.js +339 -0
  403. package/node_modules/cacache/lib/get.js +170 -0
  404. package/node_modules/cacache/lib/index.js +42 -0
  405. package/node_modules/cacache/lib/memoization.js +72 -0
  406. package/node_modules/cacache/lib/put.js +80 -0
  407. package/node_modules/cacache/lib/rm.js +32 -0
  408. package/node_modules/cacache/lib/util/cache-dir.js +29 -0
  409. package/node_modules/cacache/lib/util/glob.js +7 -0
  410. package/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
  411. package/node_modules/cacache/lib/util/tmp.js +36 -0
  412. package/node_modules/cacache/lib/verify.js +258 -0
  413. package/node_modules/cacache/package.json +81 -0
  414. package/node_modules/content-type/LICENSE +22 -0
  415. package/node_modules/content-type/README.md +71 -0
  416. package/node_modules/content-type/dist/index.d.ts +46 -0
  417. package/node_modules/content-type/dist/index.js +176 -0
  418. package/node_modules/content-type/dist/index.js.map +1 -0
  419. package/node_modules/content-type/package.json +52 -0
  420. package/node_modules/debug/LICENSE +20 -0
  421. package/node_modules/debug/README.md +481 -0
  422. package/node_modules/debug/package.json +64 -0
  423. package/node_modules/debug/src/browser.js +272 -0
  424. package/node_modules/debug/src/common.js +292 -0
  425. package/node_modules/debug/src/index.js +10 -0
  426. package/node_modules/debug/src/node.js +263 -0
  427. package/node_modules/fs-minipass/LICENSE +15 -0
  428. package/node_modules/fs-minipass/README.md +70 -0
  429. package/node_modules/fs-minipass/lib/index.js +443 -0
  430. package/node_modules/fs-minipass/package.json +54 -0
  431. package/node_modules/glob/LICENSE.md +63 -0
  432. package/node_modules/glob/README.md +1377 -0
  433. package/node_modules/glob/dist/commonjs/glob.d.ts +405 -0
  434. package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
  435. package/node_modules/glob/dist/commonjs/glob.js +241 -0
  436. package/node_modules/glob/dist/commonjs/glob.js.map +1 -0
  437. package/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
  438. package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
  439. package/node_modules/glob/dist/commonjs/has-magic.js +24 -0
  440. package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
  441. package/node_modules/glob/dist/commonjs/ignore.d.ts +36 -0
  442. package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
  443. package/node_modules/glob/dist/commonjs/ignore.js +139 -0
  444. package/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
  445. package/node_modules/glob/dist/commonjs/index.d.ts +98 -0
  446. package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
  447. package/node_modules/glob/dist/commonjs/index.js +68 -0
  448. package/node_modules/glob/dist/commonjs/index.js.map +1 -0
  449. package/node_modules/glob/dist/commonjs/index.min.js +3 -0
  450. package/node_modules/glob/dist/commonjs/index.min.js.map +7 -0
  451. package/node_modules/glob/dist/commonjs/package.json +3 -0
  452. package/node_modules/glob/dist/commonjs/pattern.d.ts +86 -0
  453. package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
  454. package/node_modules/glob/dist/commonjs/pattern.js +235 -0
  455. package/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
  456. package/node_modules/glob/dist/commonjs/processor.d.ts +72 -0
  457. package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
  458. package/node_modules/glob/dist/commonjs/processor.js +314 -0
  459. package/node_modules/glob/dist/commonjs/processor.js.map +1 -0
  460. package/node_modules/glob/dist/commonjs/walker.d.ts +99 -0
  461. package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
  462. package/node_modules/glob/dist/commonjs/walker.js +402 -0
  463. package/node_modules/glob/dist/commonjs/walker.js.map +1 -0
  464. package/node_modules/glob/dist/esm/glob.d.ts +405 -0
  465. package/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
  466. package/node_modules/glob/dist/esm/glob.js +237 -0
  467. package/node_modules/glob/dist/esm/glob.js.map +1 -0
  468. package/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
  469. package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
  470. package/node_modules/glob/dist/esm/has-magic.js +20 -0
  471. package/node_modules/glob/dist/esm/has-magic.js.map +1 -0
  472. package/node_modules/glob/dist/esm/ignore.d.ts +36 -0
  473. package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
  474. package/node_modules/glob/dist/esm/ignore.js +135 -0
  475. package/node_modules/glob/dist/esm/ignore.js.map +1 -0
  476. package/node_modules/glob/dist/esm/index.d.ts +98 -0
  477. package/node_modules/glob/dist/esm/index.d.ts.map +1 -0
  478. package/node_modules/glob/dist/esm/index.js +55 -0
  479. package/node_modules/glob/dist/esm/index.js.map +1 -0
  480. package/node_modules/glob/dist/esm/index.min.js +3 -0
  481. package/node_modules/glob/dist/esm/index.min.js.map +7 -0
  482. package/node_modules/glob/dist/esm/package.json +3 -0
  483. package/node_modules/glob/dist/esm/pattern.d.ts +86 -0
  484. package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
  485. package/node_modules/glob/dist/esm/pattern.js +231 -0
  486. package/node_modules/glob/dist/esm/pattern.js.map +1 -0
  487. package/node_modules/glob/dist/esm/processor.d.ts +72 -0
  488. package/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
  489. package/node_modules/glob/dist/esm/processor.js +307 -0
  490. package/node_modules/glob/dist/esm/processor.js.map +1 -0
  491. package/node_modules/glob/dist/esm/walker.d.ts +99 -0
  492. package/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
  493. package/node_modules/glob/dist/esm/walker.js +396 -0
  494. package/node_modules/glob/dist/esm/walker.js.map +1 -0
  495. package/node_modules/glob/package.json +114 -0
  496. package/node_modules/glob/src/glob.ts +655 -0
  497. package/node_modules/glob/src/has-magic.ts +23 -0
  498. package/node_modules/glob/src/ignore.ts +162 -0
  499. package/node_modules/glob/src/index.ts +225 -0
  500. package/node_modules/glob/src/pattern.ts +286 -0
  501. package/node_modules/glob/src/processor.ts +333 -0
  502. package/node_modules/glob/src/walker.ts +523 -0
  503. package/node_modules/http-cache-semantics/LICENSE +9 -0
  504. package/node_modules/http-cache-semantics/README.md +268 -0
  505. package/node_modules/http-cache-semantics/index.js +951 -0
  506. package/node_modules/http-cache-semantics/package.json +22 -0
  507. package/node_modules/http-proxy-agent/LICENSE +22 -0
  508. package/node_modules/http-proxy-agent/README.md +44 -0
  509. package/node_modules/http-proxy-agent/dist/index.d.ts +47 -0
  510. package/node_modules/http-proxy-agent/dist/index.d.ts.map +1 -0
  511. package/node_modules/http-proxy-agent/dist/index.js +132 -0
  512. package/node_modules/http-proxy-agent/dist/index.js.map +1 -0
  513. package/node_modules/http-proxy-agent/package.json +48 -0
  514. package/node_modules/https-proxy-agent/LICENSE +22 -0
  515. package/node_modules/https-proxy-agent/README.md +70 -0
  516. package/node_modules/https-proxy-agent/dist/index.d.ts +51 -0
  517. package/node_modules/https-proxy-agent/dist/index.d.ts.map +1 -0
  518. package/node_modules/https-proxy-agent/dist/index.js +234 -0
  519. package/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  520. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +12 -0
  521. package/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts.map +1 -0
  522. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js +94 -0
  523. package/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  524. package/node_modules/https-proxy-agent/package.json +51 -0
  525. package/node_modules/iconv-lite/LICENSE +21 -0
  526. package/node_modules/iconv-lite/README.md +138 -0
  527. package/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  528. package/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  529. package/node_modules/iconv-lite/encodings/index.js +23 -0
  530. package/node_modules/iconv-lite/encodings/internal.js +218 -0
  531. package/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  532. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  533. package/node_modules/iconv-lite/encodings/sbcs-data.js +180 -0
  534. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  535. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  536. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  537. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  538. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  539. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  540. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  541. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  542. package/node_modules/iconv-lite/encodings/utf16.js +187 -0
  543. package/node_modules/iconv-lite/encodings/utf32.js +314 -0
  544. package/node_modules/iconv-lite/encodings/utf7.js +283 -0
  545. package/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  546. package/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  547. package/node_modules/iconv-lite/lib/index.d.ts +129 -0
  548. package/node_modules/iconv-lite/lib/index.js +182 -0
  549. package/node_modules/iconv-lite/lib/streams.js +105 -0
  550. package/node_modules/iconv-lite/package.json +70 -0
  551. package/node_modules/iconv-lite/types/encodings.d.ts +425 -0
  552. package/node_modules/ip-address/LICENSE +19 -0
  553. package/node_modules/ip-address/README.md +308 -0
  554. package/node_modules/ip-address/dist/address-error.d.ts +15 -0
  555. package/node_modules/ip-address/dist/address-error.js +12 -0
  556. package/node_modules/ip-address/dist/address-error.js.map +1 -0
  557. package/node_modules/ip-address/dist/common.d.ts +74 -0
  558. package/node_modules/ip-address/dist/common.js +154 -0
  559. package/node_modules/ip-address/dist/common.js.map +1 -0
  560. package/node_modules/ip-address/dist/ip-address.d.ts +7 -0
  561. package/node_modules/ip-address/dist/ip-address.js +35 -0
  562. package/node_modules/ip-address/dist/ip-address.js.map +1 -0
  563. package/node_modules/ip-address/dist/ipv4.d.ts +347 -0
  564. package/node_modules/ip-address/dist/ipv4.js +602 -0
  565. package/node_modules/ip-address/dist/ipv4.js.map +1 -0
  566. package/node_modules/ip-address/dist/ipv6.d.ts +634 -0
  567. package/node_modules/ip-address/dist/ipv6.js +1461 -0
  568. package/node_modules/ip-address/dist/ipv6.js.map +1 -0
  569. package/node_modules/ip-address/dist/v4/constants.d.ts +16 -0
  570. package/node_modules/ip-address/dist/v4/constants.js +51 -0
  571. package/node_modules/ip-address/dist/v4/constants.js.map +1 -0
  572. package/node_modules/ip-address/dist/v6/constants.d.ts +61 -0
  573. package/node_modules/ip-address/dist/v6/constants.js +131 -0
  574. package/node_modules/ip-address/dist/v6/constants.js.map +1 -0
  575. package/node_modules/ip-address/dist/v6/helpers.d.ts +18 -0
  576. package/node_modules/ip-address/dist/v6/helpers.js +54 -0
  577. package/node_modules/ip-address/dist/v6/helpers.js.map +1 -0
  578. package/node_modules/ip-address/dist/v6/regular-expressions.d.ts +5 -0
  579. package/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  580. package/node_modules/ip-address/dist/v6/regular-expressions.js.map +1 -0
  581. package/node_modules/ip-address/package.json +91 -0
  582. package/node_modules/lru-cache/LICENSE.md +55 -0
  583. package/node_modules/lru-cache/README.md +469 -0
  584. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +1 -0
  585. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +1 -0
  586. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +5 -0
  587. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +7 -0
  588. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +1400 -0
  589. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -0
  590. package/node_modules/lru-cache/dist/commonjs/browser/index.js +1733 -0
  591. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -0
  592. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +2 -0
  593. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +7 -0
  594. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +12 -0
  595. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +1 -0
  596. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +10 -0
  597. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +1 -0
  598. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +1 -0
  599. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +1 -0
  600. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +5 -0
  601. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +7 -0
  602. package/node_modules/lru-cache/dist/commonjs/index.d.ts +1400 -0
  603. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -0
  604. package/node_modules/lru-cache/dist/commonjs/index.js +1733 -0
  605. package/node_modules/lru-cache/dist/commonjs/index.js.map +1 -0
  606. package/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
  607. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +7 -0
  608. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +1 -0
  609. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +1 -0
  610. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +5 -0
  611. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +9 -0
  612. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +1400 -0
  613. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -0
  614. package/node_modules/lru-cache/dist/commonjs/node/index.js +1733 -0
  615. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -0
  616. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  617. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +7 -0
  618. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +12 -0
  619. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +1 -0
  620. package/node_modules/lru-cache/dist/commonjs/node/perf.js +10 -0
  621. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +1 -0
  622. package/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  623. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +12 -0
  624. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +1 -0
  625. package/node_modules/lru-cache/dist/commonjs/perf.js +10 -0
  626. package/node_modules/lru-cache/dist/commonjs/perf.js.map +1 -0
  627. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  628. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel-react-native.js.map +1 -0
  629. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.d.ts +5 -0
  630. package/node_modules/lru-cache/dist/commonjs/react-native/diagnostics-channel.js +7 -0
  631. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts +1400 -0
  632. package/node_modules/lru-cache/dist/commonjs/react-native/index.d.ts.map +1 -0
  633. package/node_modules/lru-cache/dist/commonjs/react-native/index.js +1733 -0
  634. package/node_modules/lru-cache/dist/commonjs/react-native/index.js.map +1 -0
  635. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts +12 -0
  636. package/node_modules/lru-cache/dist/commonjs/react-native/perf.d.ts.map +1 -0
  637. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js +10 -0
  638. package/node_modules/lru-cache/dist/commonjs/react-native/perf.js.map +1 -0
  639. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +1 -0
  640. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +1 -0
  641. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +5 -0
  642. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +4 -0
  643. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +1400 -0
  644. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -0
  645. package/node_modules/lru-cache/dist/esm/browser/index.js +1729 -0
  646. package/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -0
  647. package/node_modules/lru-cache/dist/esm/browser/index.min.js +2 -0
  648. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +7 -0
  649. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +12 -0
  650. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +1 -0
  651. package/node_modules/lru-cache/dist/esm/browser/perf.js +7 -0
  652. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +1 -0
  653. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  654. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +1 -0
  655. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +5 -0
  656. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +19 -0
  657. package/node_modules/lru-cache/dist/esm/index.d.ts +1400 -0
  658. package/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -0
  659. package/node_modules/lru-cache/dist/esm/index.js +1729 -0
  660. package/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  661. package/node_modules/lru-cache/dist/esm/index.min.js +2 -0
  662. package/node_modules/lru-cache/dist/esm/index.min.js.map +7 -0
  663. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +1 -0
  664. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +1 -0
  665. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +5 -0
  666. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +6 -0
  667. package/node_modules/lru-cache/dist/esm/node/index.d.ts +1400 -0
  668. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -0
  669. package/node_modules/lru-cache/dist/esm/node/index.js +1729 -0
  670. package/node_modules/lru-cache/dist/esm/node/index.js.map +1 -0
  671. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  672. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +7 -0
  673. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +12 -0
  674. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +1 -0
  675. package/node_modules/lru-cache/dist/esm/node/perf.js +7 -0
  676. package/node_modules/lru-cache/dist/esm/node/perf.js.map +1 -0
  677. package/node_modules/lru-cache/dist/esm/package.json +3 -0
  678. package/node_modules/lru-cache/dist/esm/perf.d.ts +12 -0
  679. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +1 -0
  680. package/node_modules/lru-cache/dist/esm/perf.js +7 -0
  681. package/node_modules/lru-cache/dist/esm/perf.js.map +1 -0
  682. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.d.ts.map +1 -0
  683. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel-react-native.js.map +1 -0
  684. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.d.ts +5 -0
  685. package/node_modules/lru-cache/dist/esm/react-native/diagnostics-channel.js +4 -0
  686. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts +1400 -0
  687. package/node_modules/lru-cache/dist/esm/react-native/index.d.ts.map +1 -0
  688. package/node_modules/lru-cache/dist/esm/react-native/index.js +1729 -0
  689. package/node_modules/lru-cache/dist/esm/react-native/index.js.map +1 -0
  690. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts +12 -0
  691. package/node_modules/lru-cache/dist/esm/react-native/perf.d.ts.map +1 -0
  692. package/node_modules/lru-cache/dist/esm/react-native/perf.js +7 -0
  693. package/node_modules/lru-cache/dist/esm/react-native/perf.js.map +1 -0
  694. package/node_modules/lru-cache/package.json +180 -0
  695. package/node_modules/make-fetch-happen/LICENSE +16 -0
  696. package/node_modules/make-fetch-happen/README.md +364 -0
  697. package/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
  698. package/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
  699. package/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
  700. package/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
  701. package/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
  702. package/node_modules/make-fetch-happen/lib/fetch.js +118 -0
  703. package/node_modules/make-fetch-happen/lib/index.js +41 -0
  704. package/node_modules/make-fetch-happen/lib/options.js +59 -0
  705. package/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
  706. package/node_modules/make-fetch-happen/lib/remote.js +134 -0
  707. package/node_modules/make-fetch-happen/package.json +75 -0
  708. package/node_modules/minimatch/LICENSE.md +55 -0
  709. package/node_modules/minimatch/README.md +556 -0
  710. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
  711. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
  712. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
  713. package/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
  714. package/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
  715. package/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
  716. package/node_modules/minimatch/dist/commonjs/escape.js +30 -0
  717. package/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
  718. package/node_modules/minimatch/dist/commonjs/index.d.ts +188 -0
  719. package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
  720. package/node_modules/minimatch/dist/commonjs/index.js +1600 -0
  721. package/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
  722. package/node_modules/minimatch/dist/commonjs/package.json +3 -0
  723. package/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
  724. package/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
  725. package/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
  726. package/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
  727. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
  728. package/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
  729. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
  730. package/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
  731. package/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
  732. package/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
  733. package/node_modules/minimatch/dist/esm/escape.js +26 -0
  734. package/node_modules/minimatch/dist/esm/escape.js.map +1 -0
  735. package/node_modules/minimatch/dist/esm/index.d.ts +188 -0
  736. package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
  737. package/node_modules/minimatch/dist/esm/index.js +1589 -0
  738. package/node_modules/minimatch/dist/esm/index.js.map +1 -0
  739. package/node_modules/minimatch/dist/esm/package.json +3 -0
  740. package/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
  741. package/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
  742. package/node_modules/minimatch/dist/esm/unescape.js +34 -0
  743. package/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
  744. package/node_modules/minimatch/package.json +74 -0
  745. package/node_modules/minipass/LICENSE.md +55 -0
  746. package/node_modules/minipass/README.md +825 -0
  747. package/node_modules/minipass/dist/commonjs/index.d.ts +545 -0
  748. package/node_modules/minipass/dist/commonjs/index.d.ts.map +1 -0
  749. package/node_modules/minipass/dist/commonjs/index.js +1038 -0
  750. package/node_modules/minipass/dist/commonjs/index.js.map +1 -0
  751. package/node_modules/minipass/dist/commonjs/package.json +3 -0
  752. package/node_modules/minipass/dist/esm/index.d.ts +545 -0
  753. package/node_modules/minipass/dist/esm/index.d.ts.map +1 -0
  754. package/node_modules/minipass/dist/esm/index.js +1020 -0
  755. package/node_modules/minipass/dist/esm/index.js.map +1 -0
  756. package/node_modules/minipass/dist/esm/package.json +3 -0
  757. package/node_modules/minipass/package.json +77 -0
  758. package/node_modules/minipass-collect/LICENSE +15 -0
  759. package/node_modules/minipass-collect/README.md +48 -0
  760. package/node_modules/minipass-collect/index.js +71 -0
  761. package/node_modules/minipass-collect/package.json +30 -0
  762. package/node_modules/minipass-fetch/LICENSE +28 -0
  763. package/node_modules/minipass-fetch/README.md +29 -0
  764. package/node_modules/minipass-fetch/lib/abort-error.js +17 -0
  765. package/node_modules/minipass-fetch/lib/blob.js +97 -0
  766. package/node_modules/minipass-fetch/lib/body.js +360 -0
  767. package/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
  768. package/node_modules/minipass-fetch/lib/headers.js +267 -0
  769. package/node_modules/minipass-fetch/lib/index.js +376 -0
  770. package/node_modules/minipass-fetch/lib/request.js +282 -0
  771. package/node_modules/minipass-fetch/lib/response.js +90 -0
  772. package/node_modules/minipass-fetch/package.json +70 -0
  773. package/node_modules/minipass-flush/LICENSE.md +55 -0
  774. package/node_modules/minipass-flush/README.md +47 -0
  775. package/node_modules/minipass-flush/index.js +39 -0
  776. package/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
  777. package/node_modules/minipass-flush/node_modules/minipass/README.md +728 -0
  778. package/node_modules/minipass-flush/node_modules/minipass/index.d.ts +155 -0
  779. package/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
  780. package/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
  781. package/node_modules/minipass-flush/package.json +42 -0
  782. package/node_modules/minipass-pipeline/LICENSE +15 -0
  783. package/node_modules/minipass-pipeline/README.md +69 -0
  784. package/node_modules/minipass-pipeline/index.js +128 -0
  785. package/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
  786. package/node_modules/minipass-pipeline/node_modules/minipass/README.md +728 -0
  787. package/node_modules/minipass-pipeline/node_modules/minipass/index.d.ts +155 -0
  788. package/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
  789. package/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
  790. package/node_modules/minipass-pipeline/package.json +29 -0
  791. package/node_modules/minipass-sized/LICENSE +15 -0
  792. package/node_modules/minipass-sized/README.md +30 -0
  793. package/node_modules/minipass-sized/dist/commonjs/index.d.ts +21 -0
  794. package/node_modules/minipass-sized/dist/commonjs/index.d.ts.map +1 -0
  795. package/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  796. package/node_modules/minipass-sized/dist/commonjs/index.js.map +1 -0
  797. package/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
  798. package/node_modules/minipass-sized/dist/esm/index.d.ts +21 -0
  799. package/node_modules/minipass-sized/dist/esm/index.d.ts.map +1 -0
  800. package/node_modules/minipass-sized/dist/esm/index.js +64 -0
  801. package/node_modules/minipass-sized/dist/esm/index.js.map +1 -0
  802. package/node_modules/minipass-sized/dist/esm/package.json +3 -0
  803. package/node_modules/minipass-sized/package.json +69 -0
  804. package/node_modules/minizlib/LICENSE +26 -0
  805. package/node_modules/minizlib/README.md +64 -0
  806. package/node_modules/minizlib/dist/commonjs/constants.d.ts +2 -0
  807. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +1 -0
  808. package/node_modules/minizlib/dist/commonjs/constants.js +123 -0
  809. package/node_modules/minizlib/dist/commonjs/constants.js.map +1 -0
  810. package/node_modules/minizlib/dist/commonjs/index.d.ts +99 -0
  811. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +1 -0
  812. package/node_modules/minizlib/dist/commonjs/index.js +416 -0
  813. package/node_modules/minizlib/dist/commonjs/index.js.map +1 -0
  814. package/node_modules/minizlib/dist/commonjs/package.json +3 -0
  815. package/node_modules/minizlib/dist/esm/constants.d.ts +2 -0
  816. package/node_modules/minizlib/dist/esm/constants.d.ts.map +1 -0
  817. package/node_modules/minizlib/dist/esm/constants.js +117 -0
  818. package/node_modules/minizlib/dist/esm/constants.js.map +1 -0
  819. package/node_modules/minizlib/dist/esm/index.d.ts +99 -0
  820. package/node_modules/minizlib/dist/esm/index.d.ts.map +1 -0
  821. package/node_modules/minizlib/dist/esm/index.js +363 -0
  822. package/node_modules/minizlib/dist/esm/index.js.map +1 -0
  823. package/node_modules/minizlib/dist/esm/package.json +3 -0
  824. package/node_modules/minizlib/package.json +80 -0
  825. package/node_modules/ms/index.js +162 -0
  826. package/node_modules/ms/license.md +21 -0
  827. package/node_modules/ms/package.json +38 -0
  828. package/node_modules/ms/readme.md +59 -0
  829. package/node_modules/negotiator/LICENSE +24 -0
  830. package/node_modules/negotiator/README.md +212 -0
  831. package/node_modules/negotiator/index.js +83 -0
  832. package/node_modules/negotiator/lib/accept.js +54 -0
  833. package/node_modules/negotiator/lib/charset.js +145 -0
  834. package/node_modules/negotiator/lib/encoding.js +184 -0
  835. package/node_modules/negotiator/lib/language.js +158 -0
  836. package/node_modules/negotiator/lib/mediaType.js +176 -0
  837. package/node_modules/negotiator/package.json +49 -0
  838. package/node_modules/p-map/index.d.ts +392 -0
  839. package/node_modules/p-map/index.js +663 -0
  840. package/node_modules/p-map/license +9 -0
  841. package/node_modules/p-map/package.json +57 -0
  842. package/node_modules/p-map/readme.md +404 -0
  843. package/node_modules/path-scurry/LICENSE.md +55 -0
  844. package/node_modules/path-scurry/README.md +635 -0
  845. package/node_modules/path-scurry/dist/commonjs/index.d.ts +1122 -0
  846. package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -0
  847. package/node_modules/path-scurry/dist/commonjs/index.js +2056 -0
  848. package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -0
  849. package/node_modules/path-scurry/dist/commonjs/package.json +3 -0
  850. package/node_modules/path-scurry/dist/esm/index.d.ts +1122 -0
  851. package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -0
  852. package/node_modules/path-scurry/dist/esm/index.js +2011 -0
  853. package/node_modules/path-scurry/dist/esm/index.js.map +1 -0
  854. package/node_modules/path-scurry/dist/esm/package.json +3 -0
  855. package/node_modules/path-scurry/package.json +72 -0
  856. package/node_modules/proc-log/LICENSE +15 -0
  857. package/node_modules/proc-log/README.md +226 -0
  858. package/node_modules/proc-log/lib/index.js +158 -0
  859. package/node_modules/proc-log/package.json +46 -0
  860. package/node_modules/proxy-agent-negotiate/dist/index.d.ts +14 -0
  861. package/node_modules/proxy-agent-negotiate/dist/index.d.ts.map +1 -0
  862. package/node_modules/proxy-agent-negotiate/dist/index.js +35 -0
  863. package/node_modules/proxy-agent-negotiate/dist/index.js.map +1 -0
  864. package/node_modules/proxy-agent-negotiate/package.json +47 -0
  865. package/node_modules/safer-buffer/LICENSE +21 -0
  866. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  867. package/node_modules/safer-buffer/Readme.md +156 -0
  868. package/node_modules/safer-buffer/dangerous.js +58 -0
  869. package/node_modules/safer-buffer/package.json +34 -0
  870. package/node_modules/safer-buffer/safer.js +77 -0
  871. package/node_modules/safer-buffer/tests.js +406 -0
  872. package/node_modules/semver/LICENSE +15 -0
  873. package/node_modules/semver/README.md +680 -0
  874. package/node_modules/semver/bin/semver.js +195 -0
  875. package/node_modules/semver/classes/comparator.js +143 -0
  876. package/node_modules/semver/classes/index.js +7 -0
  877. package/node_modules/semver/classes/range.js +577 -0
  878. package/node_modules/semver/classes/semver.js +350 -0
  879. package/node_modules/semver/functions/clean.js +8 -0
  880. package/node_modules/semver/functions/cmp.js +54 -0
  881. package/node_modules/semver/functions/coerce.js +62 -0
  882. package/node_modules/semver/functions/compare-build.js +9 -0
  883. package/node_modules/semver/functions/compare-loose.js +5 -0
  884. package/node_modules/semver/functions/compare.js +7 -0
  885. package/node_modules/semver/functions/diff.js +60 -0
  886. package/node_modules/semver/functions/eq.js +5 -0
  887. package/node_modules/semver/functions/gt.js +5 -0
  888. package/node_modules/semver/functions/gte.js +5 -0
  889. package/node_modules/semver/functions/inc.js +21 -0
  890. package/node_modules/semver/functions/lt.js +5 -0
  891. package/node_modules/semver/functions/lte.js +5 -0
  892. package/node_modules/semver/functions/major.js +5 -0
  893. package/node_modules/semver/functions/minor.js +5 -0
  894. package/node_modules/semver/functions/neq.js +5 -0
  895. package/node_modules/semver/functions/parse.js +18 -0
  896. package/node_modules/semver/functions/patch.js +5 -0
  897. package/node_modules/semver/functions/prerelease.js +8 -0
  898. package/node_modules/semver/functions/rcompare.js +5 -0
  899. package/node_modules/semver/functions/rsort.js +5 -0
  900. package/node_modules/semver/functions/satisfies.js +12 -0
  901. package/node_modules/semver/functions/sort.js +5 -0
  902. package/node_modules/semver/functions/truncate.js +48 -0
  903. package/node_modules/semver/functions/valid.js +8 -0
  904. package/node_modules/semver/index.js +93 -0
  905. package/node_modules/semver/internal/constants.js +67 -0
  906. package/node_modules/semver/internal/debug.js +11 -0
  907. package/node_modules/semver/internal/identifiers.js +29 -0
  908. package/node_modules/semver/internal/lrucache.js +42 -0
  909. package/node_modules/semver/internal/parse-options.js +17 -0
  910. package/node_modules/semver/internal/re.js +223 -0
  911. package/node_modules/semver/internal/trim-comparator-whitespace.js +438 -0
  912. package/node_modules/semver/package.json +78 -0
  913. package/node_modules/semver/preload.js +4 -0
  914. package/node_modules/semver/range.bnf +17 -0
  915. package/node_modules/semver/ranges/gtr.js +6 -0
  916. package/node_modules/semver/ranges/intersects.js +9 -0
  917. package/node_modules/semver/ranges/ltr.js +6 -0
  918. package/node_modules/semver/ranges/max-satisfying.js +27 -0
  919. package/node_modules/semver/ranges/min-satisfying.js +26 -0
  920. package/node_modules/semver/ranges/min-version.js +63 -0
  921. package/node_modules/semver/ranges/outside.js +82 -0
  922. package/node_modules/semver/ranges/simplify.js +49 -0
  923. package/node_modules/semver/ranges/subset.js +249 -0
  924. package/node_modules/semver/ranges/to-comparators.js +10 -0
  925. package/node_modules/semver/ranges/valid.js +13 -0
  926. package/node_modules/sigstore/LICENSE +202 -0
  927. package/node_modules/sigstore/README.md +219 -0
  928. package/node_modules/sigstore/dist/config.d.ts +38 -0
  929. package/node_modules/sigstore/dist/config.js +126 -0
  930. package/node_modules/sigstore/dist/index.d.ts +9 -0
  931. package/node_modules/sigstore/dist/index.js +34 -0
  932. package/node_modules/sigstore/dist/sigstore.d.ts +11 -0
  933. package/node_modules/sigstore/dist/sigstore.js +112 -0
  934. package/node_modules/sigstore/package.json +47 -0
  935. package/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  936. package/node_modules/smart-buffer/.travis.yml +13 -0
  937. package/node_modules/smart-buffer/LICENSE +20 -0
  938. package/node_modules/smart-buffer/README.md +633 -0
  939. package/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  940. package/node_modules/smart-buffer/build/smartbuffer.js.map +1 -0
  941. package/node_modules/smart-buffer/build/utils.js +108 -0
  942. package/node_modules/smart-buffer/build/utils.js.map +1 -0
  943. package/node_modules/smart-buffer/docs/CHANGELOG.md +70 -0
  944. package/node_modules/smart-buffer/docs/README_v3.md +367 -0
  945. package/node_modules/smart-buffer/docs/ROADMAP.md +0 -0
  946. package/node_modules/smart-buffer/package.json +79 -0
  947. package/node_modules/smart-buffer/typings/smartbuffer.d.ts +755 -0
  948. package/node_modules/smart-buffer/typings/utils.d.ts +66 -0
  949. package/node_modules/socks/.prettierrc.yaml +7 -0
  950. package/node_modules/socks/LICENSE +20 -0
  951. package/node_modules/socks/README.md +686 -0
  952. package/node_modules/socks/build/client/socksclient.js +793 -0
  953. package/node_modules/socks/build/client/socksclient.js.map +1 -0
  954. package/node_modules/socks/build/common/constants.js +108 -0
  955. package/node_modules/socks/build/common/constants.js.map +1 -0
  956. package/node_modules/socks/build/common/helpers.js +166 -0
  957. package/node_modules/socks/build/common/helpers.js.map +1 -0
  958. package/node_modules/socks/build/common/receivebuffer.js +43 -0
  959. package/node_modules/socks/build/common/receivebuffer.js.map +1 -0
  960. package/node_modules/socks/build/common/util.js +25 -0
  961. package/node_modules/socks/build/common/util.js.map +1 -0
  962. package/node_modules/socks/build/index.js +18 -0
  963. package/node_modules/socks/build/index.js.map +1 -0
  964. package/node_modules/socks/docs/examples/index.md +17 -0
  965. package/node_modules/socks/docs/examples/javascript/associateExample.md +90 -0
  966. package/node_modules/socks/docs/examples/javascript/bindExample.md +83 -0
  967. package/node_modules/socks/docs/examples/javascript/connectExample.md +258 -0
  968. package/node_modules/socks/docs/examples/typescript/associateExample.md +93 -0
  969. package/node_modules/socks/docs/examples/typescript/bindExample.md +86 -0
  970. package/node_modules/socks/docs/examples/typescript/connectExample.md +265 -0
  971. package/node_modules/socks/docs/index.md +5 -0
  972. package/node_modules/socks/docs/migratingFromV1.md +86 -0
  973. package/node_modules/socks/package.json +58 -0
  974. package/node_modules/socks/typings/client/socksclient.d.ts +162 -0
  975. package/node_modules/socks/typings/common/constants.d.ts +151 -0
  976. package/node_modules/socks/typings/common/helpers.d.ts +17 -0
  977. package/node_modules/socks/typings/common/receiveBuffer.d.ts +12 -0
  978. package/node_modules/socks/typings/common/util.d.ts +14 -0
  979. package/node_modules/socks/typings/index.d.ts +1 -0
  980. package/node_modules/socks-proxy-agent/LICENSE +22 -0
  981. package/node_modules/socks-proxy-agent/README.md +50 -0
  982. package/node_modules/socks-proxy-agent/dist/index.d.ts +25 -0
  983. package/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -0
  984. package/node_modules/socks-proxy-agent/dist/index.js +169 -0
  985. package/node_modules/socks-proxy-agent/dist/index.js.map +1 -0
  986. package/node_modules/socks-proxy-agent/package.json +142 -0
  987. package/node_modules/ssri/LICENSE.md +16 -0
  988. package/node_modules/ssri/README.md +528 -0
  989. package/node_modules/ssri/lib/index.js +550 -0
  990. package/node_modules/ssri/package.json +66 -0
  991. package/node_modules/tuf-js/LICENSE +21 -0
  992. package/node_modules/tuf-js/README.md +3 -0
  993. package/node_modules/tuf-js/dist/config.d.ts +15 -0
  994. package/node_modules/tuf-js/dist/config.js +16 -0
  995. package/node_modules/tuf-js/dist/error.d.ts +22 -0
  996. package/node_modules/tuf-js/dist/error.js +49 -0
  997. package/node_modules/tuf-js/dist/fetcher.d.ts +25 -0
  998. package/node_modules/tuf-js/dist/fetcher.js +131 -0
  999. package/node_modules/tuf-js/dist/index.d.ts +6 -0
  1000. package/node_modules/tuf-js/dist/index.js +9 -0
  1001. package/node_modules/tuf-js/dist/store.d.ts +18 -0
  1002. package/node_modules/tuf-js/dist/store.js +219 -0
  1003. package/node_modules/tuf-js/dist/updater.d.ts +35 -0
  1004. package/node_modules/tuf-js/dist/updater.js +379 -0
  1005. package/node_modules/tuf-js/dist/utils/tmpfile.d.ts +3 -0
  1006. package/node_modules/tuf-js/dist/utils/tmpfile.js +25 -0
  1007. package/node_modules/tuf-js/dist/utils/url.d.ts +1 -0
  1008. package/node_modules/tuf-js/dist/utils/url.js +13 -0
  1009. package/node_modules/tuf-js/package.json +43 -0
  1010. package/node_modules/yallist/LICENSE +15 -0
  1011. package/node_modules/yallist/README.md +204 -0
  1012. package/node_modules/yallist/iterator.js +8 -0
  1013. package/node_modules/yallist/package.json +29 -0
  1014. package/node_modules/yallist/yallist.js +426 -0
  1015. package/npm-shrinkwrap.json +771 -0
  1016. package/package.json +63 -4
  1017. package/place_the_release/place_the_release.mjs +132 -0
  1018. package/read_the_release_registry/read_the_release_registry.mjs +255 -0
  1019. package/refuse_in_words/refuse_in_words.mjs +31 -0
  1020. package/signers.txt +11 -0
  1021. package/unpack_the_release_layer/unpack_the_release_layer.mjs +286 -0
  1022. package/verify_the_release_signature/verify_the_release_signature.mjs +174 -0
@@ -0,0 +1,1589 @@
1
+ import { expand } from 'brace-expansion';
2
+ import { Matcher } from '@isaacs/nonrecursive-glob-match';
3
+ import { assertValidPattern } from './assert-valid-pattern.js';
4
+ import { escape } from './escape.js';
5
+ import { unescape } from './unescape.js';
6
+ export const minimatch = (p, pattern, options = {}) => {
7
+ assertValidPattern(pattern);
8
+ // shortcut: comments match nothing.
9
+ if (!options.nocomment && pattern.charAt(0) === '#') {
10
+ return false;
11
+ }
12
+ return cachedMinimatch(pattern, options).match(p);
13
+ };
14
+ // The Minimatch objects that minimatch() used most recently. A Map
15
+ // keeps its keys in the order they were set, so the first key is the
16
+ // one used least recently.
17
+ const cache = new Map();
18
+ const cacheMax = 256;
19
+ const cachedMinimatch = (pattern, options) => {
20
+ const key = pattern + '\0' + JSON.stringify(options);
21
+ let mm = cache.get(key);
22
+ if (mm) {
23
+ cache.delete(key);
24
+ }
25
+ else {
26
+ // a copy, so a later change to the options can not change it
27
+ mm = new Minimatch(pattern, { ...options });
28
+ if (cache.size >= cacheMax) {
29
+ cache.delete(cache.keys().next().value);
30
+ }
31
+ }
32
+ cache.set(key, mm);
33
+ return mm;
34
+ };
35
+ /* c8 ignore start */
36
+ const defaultPlatform = (typeof process === 'object' && process ?
37
+ process.env?.__MINIMATCH_TESTING_PLATFORM__ || process.platform
38
+ : 'posix');
39
+ const path = {
40
+ win32: { sep: '\\' },
41
+ posix: { sep: '/' },
42
+ };
43
+ /* c8 ignore stop */
44
+ export const sep = defaultPlatform === 'win32' ? path.win32.sep : path.posix.sep;
45
+ minimatch.sep = sep;
46
+ export const GLOBSTAR = Symbol('globstar **');
47
+ minimatch.GLOBSTAR = GLOBSTAR;
48
+ export const filter = (pattern, options = {}) => (p) => minimatch(p, pattern, options);
49
+ minimatch.filter = filter;
50
+ const ext = (a, b = {}) => Object.assign({}, a, b);
51
+ export const defaults = (def) => {
52
+ if (!def || typeof def !== 'object' || !Object.keys(def).length) {
53
+ return minimatch;
54
+ }
55
+ const orig = minimatch;
56
+ const m = (p, pattern, options = {}) => orig(p, pattern, ext(def, options));
57
+ return Object.assign(m, {
58
+ Minimatch: class Minimatch extends orig.Minimatch {
59
+ constructor(pattern, options = {}) {
60
+ super(pattern, ext(def, options));
61
+ }
62
+ static defaults(options) {
63
+ return orig.defaults(ext(def, options)).Minimatch;
64
+ }
65
+ },
66
+ unescape: (s, options = {}) => orig.unescape(s, ext(def, options)),
67
+ escape: (s, options = {}) => orig.escape(s, ext(def, options)),
68
+ filter: (pattern, options = {}) => orig.filter(pattern, ext(def, options)),
69
+ defaults: (options) => orig.defaults(ext(def, options)),
70
+ braceExpand: (pattern, options = {}) => orig.braceExpand(pattern, ext(def, options)),
71
+ match: (list, pattern, options = {}) => orig.match(list, pattern, ext(def, options)),
72
+ sep: orig.sep,
73
+ GLOBSTAR: GLOBSTAR,
74
+ });
75
+ };
76
+ minimatch.defaults = defaults;
77
+ // Brace expansion:
78
+ // a{b,c}d -> abd acd
79
+ // a{b,}c -> abc ac
80
+ // a{0..3}d -> a0d a1d a2d a3d
81
+ // a{b,c{d,e}f}g -> abg acdfg acefg
82
+ // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
83
+ //
84
+ // Invalid sets are not expanded.
85
+ // a{2..}b -> a{2..}b
86
+ // a{b}c -> a{b}c
87
+ export const braceExpand = (pattern, options = {}) => {
88
+ assertValidPattern(pattern);
89
+ // Thanks to Yeting Li <https://github.com/yetingli> for
90
+ // improving this regexp to avoid a ReDOS vulnerability.
91
+ if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
92
+ // shortcut. no need to expand.
93
+ return [pattern];
94
+ }
95
+ return expand(pattern, { max: options.braceExpandMax });
96
+ };
97
+ minimatch.braceExpand = braceExpand;
98
+ // A numeric range with at least this many values is matched as one
99
+ // pattern portion, rather than expanded. For a glob walk, that is
100
+ // one directory read, in place of a stat for each value.
101
+ const RANGE_MIN = 100;
102
+ // a {lo..hi} range that is not escaped, and not a ${...} variable
103
+ const rangeRe = /(?<![\\$])\{(-?\d+)\.\.(-?\d+)\}/g;
104
+ export const match = (list, pattern, options = {}) => {
105
+ const mm = new Minimatch(pattern, options);
106
+ list = list.filter(f => mm.match(f));
107
+ if (mm.options.nonull && !list.length) {
108
+ list.push(pattern);
109
+ }
110
+ return list;
111
+ };
112
+ minimatch.match = match;
113
+ const globMagic = /[?*]|[+@!]\(.*?\)|\[|\]/;
114
+ // Index of the `]` that closes the class that starts at `start`,
115
+ // or -1 if it is not closed. Posix classes such as `[:alpha:]` are
116
+ // not skipped, so this can find a `]` before the real end. That
117
+ // only makes a class look less like a literal.
118
+ const classEnd = (pattern, start) => {
119
+ let i = start + 1;
120
+ if (pattern.charAt(i) === '!' || pattern.charAt(i) === '^')
121
+ i++;
122
+ let sawStart = false;
123
+ for (; i < pattern.length; i++) {
124
+ const c = pattern.charAt(i);
125
+ if (c === ']' && sawStart)
126
+ return i;
127
+ sawStart = true;
128
+ if (c === '\\')
129
+ i++;
130
+ }
131
+ return -1;
132
+ };
133
+ // If a path portion pattern has no magic, return the string it
134
+ // matches. Otherwise, return undefined. This can report magic for
135
+ // a pattern that is in fact literal (eg, `[]`), but never the
136
+ // reverse, so a string result is always safe to compare directly.
137
+ const literal = (pattern, noext) => {
138
+ if (!noext && (pattern === '+()' || pattern === '@()'))
139
+ return pattern;
140
+ let lit = '';
141
+ for (let i = 0; i < pattern.length; i++) {
142
+ const c = pattern.charAt(i);
143
+ if (c === '\\') {
144
+ // a trailing \ is a literal \
145
+ lit += pattern.charAt(++i) || c;
146
+ }
147
+ else if (c === '*' || c === '?') {
148
+ return undefined;
149
+ }
150
+ else if (c === '[') {
151
+ const close = classEnd(pattern, i);
152
+ if (close === -1) {
153
+ // not closed, so the [ is a literal
154
+ lit += c;
155
+ continue;
156
+ }
157
+ // a class of one char, such as `[*]` or `[\b]`, is a literal
158
+ let body = pattern.slice(i + 1, close);
159
+ if (body.startsWith('\\'))
160
+ body = body.slice(1);
161
+ if ([...body].length !== 1 || '!^'.includes(pattern.charAt(i + 1))) {
162
+ return undefined;
163
+ }
164
+ lit += body;
165
+ i = close;
166
+ }
167
+ else if (!noext &&
168
+ '+@!'.includes(c) &&
169
+ pattern.charAt(i + 1) === '(' &&
170
+ pattern.includes(')', i + 2)) {
171
+ return undefined;
172
+ }
173
+ else {
174
+ lit += c;
175
+ }
176
+ }
177
+ return lit;
178
+ };
179
+ // True if the portion pattern has the same meaning as an alternative
180
+ // inside `@(...)`. It must not have a `|` or `)` that is not in a
181
+ // closed extglob (those are literal at the top level), an extglob
182
+ // that is not closed (the `)` of the `@(...)` would close it), or a
183
+ // trailing `\` (it would escape the next `|`). A pattern that is
184
+ // only an empty extglob, such as `?()`, is literal on its own, but
185
+ // not in `@(...)`. Posix classes such as `[:alpha:]` can hide a `]`
186
+ // from classEnd, so patterns with them are not merged.
187
+ const extSafe = (pattern) => {
188
+ if (/^[?*+@]\(\)$/.test(pattern) || pattern.includes('[:'))
189
+ return false;
190
+ let depth = 0;
191
+ for (let i = 0; i < pattern.length; i++) {
192
+ const c = pattern.charAt(i);
193
+ if (c === '\\') {
194
+ if (++i === pattern.length)
195
+ return false;
196
+ }
197
+ else if (c === '[') {
198
+ const close = classEnd(pattern, i);
199
+ if (close !== -1)
200
+ i = close;
201
+ }
202
+ else if ('+@!?*'.includes(c) && pattern.charAt(i + 1) === '(') {
203
+ depth++;
204
+ i++;
205
+ }
206
+ else if (c === ')') {
207
+ if (!depth--)
208
+ return false;
209
+ }
210
+ else if (c === '|' && !depth) {
211
+ return false;
212
+ }
213
+ }
214
+ return !depth;
215
+ };
216
+ // The last path that Minimatch#match split, and its parts. A path is
217
+ // often tested against many patterns in a row (such as a list of
218
+ // ignore patterns), so this saves splitting it again. The parts are
219
+ // never changed, so they can be shared.
220
+ let lastSplit;
221
+ // The last path that Minimatch#match checked before splitting it. If
222
+ // the same path is checked again, it is being tested against many
223
+ // patterns, so it is split and the parts are kept for the others.
224
+ let lastChecked;
225
+ // true if a pattern portion that is not ** matches a path portion.
226
+ // An empty path portion only matches an empty pattern portion. A path
227
+ // portion never has a `/`, so the Matcher does not need to check it.
228
+ const portionMatch = (p, f) => typeof p === 'string' ? f === p : f !== '' && p.testUnchecked(f);
229
+ // Where the last portion of a row matches in a path: the start of the
230
+ // last portion of the path, or of the one before a trailing `/`. -1 if
231
+ // it matches neither.
232
+ const endIndex = (p, last, lastStart, prev, prevStart) => portionMatch(p, last) ? lastStart
233
+ : prev !== undefined && portionMatch(p, prev) ? prevStart
234
+ : -1;
235
+ const isDots = (p) => p === '.' || p === '..';
236
+ // a Windows drive letter portion, like `c:`
237
+ const isDrive = (p) => typeof p === 'string' && /^[a-z]:$/i.test(p);
238
+ // true for the `UNC` portion of a long UNC root, //?/UNC/host/share
239
+ const isLongUNC = (p) => typeof p === 'string' && /^unc$/i.test(p);
240
+ // The index of the host in a row or split path that starts with a
241
+ // Windows UNC root: 2 for `//host/share`, and 4 for
242
+ // `//?/UNC/host/share`. Otherwise -1. `//?/c:` is not one.
243
+ const uncHost = (p) => {
244
+ if (p[0] !== '' || p[1] !== '')
245
+ return -1;
246
+ const h = p[2] !== '?' ? 2
247
+ : isLongUNC(p[3]) ? 4
248
+ : -1;
249
+ const host = p[h];
250
+ const share = p[h + 1];
251
+ return (h !== -1 &&
252
+ host !== undefined &&
253
+ host !== '' &&
254
+ host !== GLOBSTAR &&
255
+ share !== undefined &&
256
+ share !== '' &&
257
+ share !== GLOBSTAR) ?
258
+ h
259
+ : -1;
260
+ };
261
+ // true if ** can walk the path portion: not `.` or `..`, and not a
262
+ // dotfile unless `dot` is set
263
+ const walkable = (p, dot) => !isDots(p) && (dot || !p.startsWith('.'));
264
+ // True if a portion of the path from `start` to `end` can not be
265
+ // walked by **: one that starts with `.`, or with `dot`, one that is
266
+ // `.` or `..`. `start` is the start of a portion, and `end` is the end
267
+ // of the path, or just after a separator.
268
+ const dotPortion = (f, start, end, dot, sep) => {
269
+ for (let k = start; k < end;) {
270
+ if (f.charCodeAt(k) === 46) {
271
+ if (!dot)
272
+ return true;
273
+ const n = f.charCodeAt(k + 1) === 46 ? k + 2 : k + 1;
274
+ if (n >= end || isSep(f.charCodeAt(n), sep))
275
+ return true;
276
+ }
277
+ // the start of the next portion, after any run of separators
278
+ const s = nextSep(f, k, sep);
279
+ if (s === -1)
280
+ return false;
281
+ k = s + 1;
282
+ while (k < end && isSep(f.charCodeAt(k), sep))
283
+ k++;
284
+ }
285
+ return false;
286
+ };
287
+ const isSep = (c, sep) => sep === '/' ? c === 47
288
+ : sep === '\\' ? c === 92
289
+ : c === 47 || c === 92;
290
+ // the index of the first separator at or after `from`, or -1
291
+ const nextSep = (f, from, sep) => {
292
+ if (sep !== 'both')
293
+ return f.indexOf(sep, from);
294
+ const s = f.indexOf('/', from);
295
+ const b = f.indexOf('\\', from);
296
+ return (s === -1 ? b
297
+ : b === -1 ? s
298
+ : Math.min(s, b));
299
+ };
300
+ // the index of the last separator at or before `from`, or -1
301
+ const lastSep = (f, from, sep) => sep !== 'both' ?
302
+ f.lastIndexOf(sep, from)
303
+ : Math.max(f.lastIndexOf('/', from), f.lastIndexOf('\\', from));
304
+ // What parse() returns in place of a Matcher while make() builds and
305
+ // merges the rows. Most of the Matchers in rows that are merged would
306
+ // never be used, so they are only made for the rows that are left.
307
+ const PENDING = {};
308
+ export class Minimatch {
309
+ options;
310
+ set;
311
+ pattern;
312
+ windowsPathsNoEscape;
313
+ nonegate;
314
+ negate;
315
+ comment;
316
+ empty;
317
+ preserveMultipleSlashes;
318
+ partial;
319
+ globSet;
320
+ globParts;
321
+ nocase;
322
+ isWindows;
323
+ platform;
324
+ windowsNoMagicRoot;
325
+ maxGlobstarRecursion;
326
+ // the path can be checked against the last portion, and the string
327
+ // portions, of each row before it is split. See #canMatch.
328
+ #endCheck;
329
+ #literalCheck;
330
+ // level 2 resolves `.` and `..` portions in the path
331
+ #level2;
332
+ // the unicode normalization form, if any
333
+ #form;
334
+ // the string portions of each row in the set
335
+ #literals = [];
336
+ // the rows that #canMatch can match without splitting the path
337
+ #shapes = [];
338
+ // the rows whose last portion can be checked against the path's
339
+ #endRows = [];
340
+ // brace expansion can make the same portion in many rows, so they
341
+ // share one Matcher, and the states that it caches
342
+ #matchers = new Map();
343
+ // parse() returns PENDING in place of a Matcher
344
+ #pending = false;
345
+ // the char that marks numeric ranges in globSet, if any
346
+ #rangeMark;
347
+ // the GlobstarParts of each pattern row, by start index and partial
348
+ #globstarParts = new WeakMap();
349
+ constructor(pattern, options = {}) {
350
+ assertValidPattern(pattern);
351
+ options = options || {};
352
+ this.options = options;
353
+ this.maxGlobstarRecursion = options.maxGlobstarRecursion ?? 200;
354
+ this.pattern = pattern;
355
+ this.platform = options.platform || defaultPlatform;
356
+ this.isWindows = this.platform === 'win32';
357
+ // avoid the annoying deprecation flag lol
358
+ const awe = ('allowWindow' + 'sEscape');
359
+ this.windowsPathsNoEscape =
360
+ !!options.windowsPathsNoEscape || options[awe] === false;
361
+ if (this.windowsPathsNoEscape) {
362
+ this.pattern = this.pattern.replace(/\\/g, '/');
363
+ }
364
+ this.preserveMultipleSlashes = !!options.preserveMultipleSlashes;
365
+ this.negate = false;
366
+ this.nonegate = !!options.nonegate;
367
+ this.comment = false;
368
+ this.empty = false;
369
+ this.partial = !!options.partial;
370
+ this.nocase = !!this.options.nocase;
371
+ this.windowsNoMagicRoot =
372
+ options.windowsNoMagicRoot !== undefined ?
373
+ options.windowsNoMagicRoot
374
+ : !!(this.isWindows && this.nocase);
375
+ this.globSet = [];
376
+ this.globParts = [];
377
+ this.set = [];
378
+ this.#endCheck = !this.preserveMultipleSlashes;
379
+ this.#level2 = (options.optimizationLevel ?? 1) >= 2;
380
+ const n = options.normalize;
381
+ this.#form = n === true ? 'NFC' : n || undefined;
382
+ // make the set of Matchers etc.
383
+ this.make();
384
+ // On Windows, the portions of a row up to its drive letter or UNC
385
+ // share are skipped or compared without case, if the path has one
386
+ // too. So the checks only use the portions after it.
387
+ const drives = this.set.map(row => this.#rootIndex(row));
388
+ this.#endRows = this.set.map((row, r) => this.#endCheck && row.length - 1 > drives[r]);
389
+ // with the end check, the last portion is already checked
390
+ this.#literals = this.set.map((row, r) => {
391
+ const end = this.#endRows[r] ? row.length - 1 : row.length;
392
+ const lits = row
393
+ .slice(drives[r] + 1, end)
394
+ .filter((p) => typeof p === 'string' && !!p);
395
+ return [...new Set(lits)];
396
+ });
397
+ this.#literalCheck = this.#literals.some(l => l.length);
398
+ this.#shapes = this.set.map((row, r) => {
399
+ const [p0, p1, p2] = row;
400
+ if (this.#endRows[r] && row.length === 2) {
401
+ if (p0 === GLOBSTAR && p1 !== GLOBSTAR)
402
+ return 'tail';
403
+ }
404
+ // the basename of a path that is split on / is its last portion,
405
+ // or the one before a trailing /, the same as the end check
406
+ if (this.#endRows[r] &&
407
+ options.matchBase &&
408
+ row.length === 1 &&
409
+ p0 !== GLOBSTAR &&
410
+ p0 !== '') {
411
+ return 'base';
412
+ }
413
+ // the portion must not be a root, or '', which can be a
414
+ // different portion on Windows (where //x paths get an extra '')
415
+ if (!this.#endCheck || drives[r] !== -1)
416
+ return undefined;
417
+ if (row.length === 3 &&
418
+ p0 === GLOBSTAR &&
419
+ p2 === GLOBSTAR &&
420
+ p1 !== GLOBSTAR &&
421
+ p1 !== '' &&
422
+ // the portion between is only matched below this limit
423
+ this.maxGlobstarRecursion > 0) {
424
+ return 'mid';
425
+ }
426
+ if (row.length === 2 &&
427
+ p1 === GLOBSTAR &&
428
+ p0 !== GLOBSTAR &&
429
+ p0 !== '') {
430
+ return 'head';
431
+ }
432
+ return undefined;
433
+ });
434
+ }
435
+ // a string portion of a pattern, normalized if the option is set
436
+ #norm(p) {
437
+ return this.#form ? p.normalize(this.#form) : p;
438
+ }
439
+ // On Windows, the index of the last root portion of a row, as
440
+ // #matchRow finds it: 0 for `c:/...`, 3 for `//?/c:/...` and
441
+ // `//host/share/...`, and 5 for `//?/UNC/host/share/...`. Otherwise
442
+ // -1.
443
+ #rootIndex(row) {
444
+ if (!this.isWindows)
445
+ return -1;
446
+ if (isDrive(row[0]))
447
+ return 0;
448
+ const uncDrive = row[0] === '' && row[1] === '' && row[2] === '?' && isDrive(row[3]);
449
+ if (uncDrive)
450
+ return 3;
451
+ const h = uncHost(row);
452
+ return h === -1 ? -1 : h + 1;
453
+ }
454
+ hasMagic() {
455
+ if (this.options.magicalBraces && this.set.length > 1) {
456
+ return true;
457
+ }
458
+ for (const pattern of this.set) {
459
+ for (const part of pattern) {
460
+ if (typeof part !== 'string')
461
+ return true;
462
+ }
463
+ }
464
+ return false;
465
+ }
466
+ make() {
467
+ const pattern = this.pattern;
468
+ const options = this.options;
469
+ // empty patterns and comments match nothing.
470
+ if (!options.nocomment && pattern.charAt(0) === '#') {
471
+ this.comment = true;
472
+ return;
473
+ }
474
+ if (!pattern) {
475
+ this.empty = true;
476
+ return;
477
+ }
478
+ // step 1: figure out negation, etc.
479
+ this.parseNegate();
480
+ // step 2: expand braces
481
+ this.globSet = [...new Set(this.#expandBraces())];
482
+ // step 3: now we have a set, so turn each one into a series of
483
+ // path-portion matching patterns.
484
+ // These will be Matchers, except in the case of "**", which is
485
+ // set to the GLOBSTAR object for globstar behavior,
486
+ // and will not contain any / characters
487
+ //
488
+ // First, we preprocess to make the glob pattern sets a bit simpler
489
+ // and deduped. There are some perf-killing patterns that can cause
490
+ // problems with a glob walk, but we can simplify them down a bit.
491
+ const rawGlobParts = this.globSet.map(s => this.#slashSplit(s));
492
+ this.globParts = this.preprocess(rawGlobParts);
493
+ // glob --> Matchers
494
+ this.#pending = true;
495
+ let set = this.globParts.map((s, _, __) => {
496
+ if (this.isWindows && this.windowsNoMagicRoot) {
497
+ // check if it's a drive or unc path. The root of a long UNC
498
+ // path, //?/UNC/host/share, is 6 portions.
499
+ const n = s[2] === '?' && isLongUNC(s[3]) ? 6 : 4;
500
+ const isUNC = s[0] === '' &&
501
+ s[1] === '' &&
502
+ (s[2] === '?' || !globMagic.test(s[2])) &&
503
+ s.slice(3, n).every(p => !globMagic.test(p));
504
+ const isDrive = /^[a-z]:/i.test(s[0]);
505
+ if (isUNC) {
506
+ return [
507
+ ...s.slice(0, n).map(p => this.#norm(p)),
508
+ ...s.slice(n).map(ss => this.parse(ss)),
509
+ ];
510
+ }
511
+ else if (isDrive) {
512
+ return [
513
+ this.#norm(s[0]),
514
+ ...s.slice(1).map(ss => this.parse(ss)),
515
+ ];
516
+ }
517
+ }
518
+ return s.map(ss => this.parse(ss));
519
+ });
520
+ // filter out everything that didn't compile properly.
521
+ this.set = set.filter(s => s.indexOf(false) === -1);
522
+ // do not treat the ? in UNC paths as magic
523
+ if (this.isWindows) {
524
+ for (let i = 0; i < this.set.length; i++) {
525
+ const p = this.set[i];
526
+ if (p[0] === '' &&
527
+ p[1] === '' &&
528
+ this.globParts[i][2] === '?' &&
529
+ (isDrive(p[3]) || isLongUNC(this.globParts[i][3]))) {
530
+ if (isLongUNC(this.globParts[i][3]))
531
+ p[3] = 'UNC';
532
+ p[2] = '?';
533
+ }
534
+ }
535
+ }
536
+ // with noext, `@(...)` would be literal
537
+ if (!options.noext)
538
+ this.mergeRows();
539
+ this.#pending = false;
540
+ this.set.forEach((row, i) => {
541
+ for (let k = 0; k < row.length; k++) {
542
+ if (row[k] === PENDING) {
543
+ row[k] = this.parse(this.globParts[i][k]);
544
+ }
545
+ }
546
+ });
547
+ }
548
+ // Merge rows that only differ in one portion, where each of them
549
+ // is a Matcher, into one row that matches any of them with
550
+ // `@(a|b|...)`. Then a path is only walked once for all of them,
551
+ // for example with `**/*.{js,ts}`.
552
+ mergeRows() {
553
+ let merged = true;
554
+ while (merged) {
555
+ merged = false;
556
+ const len = Math.max(0, ...this.set.map(r => r.length));
557
+ for (let k = 0; k < len; k++) {
558
+ // the rows that are the same other than at portion k
559
+ const groups = new Map();
560
+ this.set.forEach((row, i) => {
561
+ if (!(row[k] instanceof Matcher || row[k] === PENDING) ||
562
+ !extSafe(this.globParts[i][k])) {
563
+ return;
564
+ }
565
+ const parts = [...this.globParts[i]];
566
+ parts[k] = '';
567
+ const key = `${row.length}/${parts.join('/')}`;
568
+ const g = groups.get(key);
569
+ if (g)
570
+ g.push(i);
571
+ else
572
+ groups.set(key, [i]);
573
+ });
574
+ const drop = new Set();
575
+ for (const g of groups.values()) {
576
+ if (g.length < 2)
577
+ continue;
578
+ const [first, ...rest] = g;
579
+ const alts = g.map(i => this.globParts[i][k]);
580
+ const glob = `@(${alts.join('|')})`;
581
+ this.globParts[first][k] = glob;
582
+ this.set[first][k] = this.parse(glob);
583
+ for (const i of rest)
584
+ drop.add(i);
585
+ }
586
+ if (drop.size) {
587
+ merged = true;
588
+ this.set = this.set.filter((_, i) => !drop.has(i));
589
+ this.globParts = this.globParts.filter((_, i) => !drop.has(i));
590
+ }
591
+ }
592
+ }
593
+ }
594
+ // various transforms to equivalent pattern sets that are
595
+ // faster to process in a filesystem walk. The goal is to
596
+ // eliminate what we can, and push all ** patterns as far
597
+ // to the right as possible, even if it increases the number
598
+ // of patterns that we have to process.
599
+ preprocess(globParts) {
600
+ // if we're not in globstar mode, then turn ** into *
601
+ if (this.options.noglobstar) {
602
+ for (const partset of globParts) {
603
+ for (let j = 0; j < partset.length; j++) {
604
+ if (partset[j] === '**') {
605
+ partset[j] = '*';
606
+ }
607
+ }
608
+ }
609
+ }
610
+ const { optimizationLevel = 1 } = this.options;
611
+ if (optimizationLevel >= 2) {
612
+ // aggressive optimization for the purpose of fs walking
613
+ globParts = this.firstPhasePreProcess(globParts);
614
+ globParts = this.secondPhasePreProcess(globParts);
615
+ }
616
+ else if (optimizationLevel >= 1) {
617
+ // just basic optimizations to remove some .. parts
618
+ globParts = this.levelOneOptimize(globParts);
619
+ }
620
+ else {
621
+ // just collapse multiple ** portions into one
622
+ globParts = this.adjascentGlobstarOptimize(globParts);
623
+ }
624
+ return globParts;
625
+ }
626
+ // just get rid of adjascent ** portions
627
+ adjascentGlobstarOptimize(globParts) {
628
+ return globParts.map(parts => {
629
+ let gs = -1;
630
+ while (-1 !== (gs = parts.indexOf('**', gs + 1))) {
631
+ let i = gs;
632
+ while (parts[i + 1] === '**') {
633
+ i++;
634
+ }
635
+ if (i !== gs) {
636
+ parts.splice(gs, i - gs);
637
+ }
638
+ }
639
+ return parts;
640
+ });
641
+ }
642
+ // get rid of adjascent ** and resolve .. portions
643
+ levelOneOptimize(globParts) {
644
+ return globParts.map(parts => {
645
+ // .. can not remove the root of a Windows path
646
+ const root = this.#rootIndex(parts) + 1;
647
+ parts = parts.reduce((set, part) => {
648
+ const prev = set[set.length - 1];
649
+ if (part === '**' && prev === '**') {
650
+ return set;
651
+ }
652
+ if (part === '..') {
653
+ if (set.length > root &&
654
+ prev &&
655
+ prev !== '..' &&
656
+ prev !== '.' &&
657
+ prev !== '**') {
658
+ set.pop();
659
+ return set;
660
+ }
661
+ }
662
+ set.push(part);
663
+ return set;
664
+ }, []);
665
+ return parts.length === 0 ? [''] : parts;
666
+ });
667
+ }
668
+ // Check the path against each row before it is split. 'no' if no
669
+ // row can match, so it does not need to be split. 'yes' if a row of
670
+ // `**` and one more portion matches. 'maybe' if it must be split to
671
+ // know. None of this applies with partial, where the path can end
672
+ // before the row does.
673
+ //
674
+ // On Windows, `\` is a separator in the path too, and the portions of
675
+ // a row up to its drive letter or UNC share are not checked (see
676
+ // #rootIndex).
677
+ //
678
+ // Each string portion of a row must be a portion of the path, so the
679
+ // path must contain it. Level 2 can only take portions out of the
680
+ // path, so this is still true then.
681
+ //
682
+ // The last portion of a row must match the last portion of the path,
683
+ // or the one before a trailing `/` (as a/* and a/**/* match a/b/).
684
+ // This does not apply to rows that end in **, rows that end in a
685
+ // root, or preserveMultipleSlashes (which can leave more
686
+ // than one '' at the end). At level 2, it does not apply if that
687
+ // portion is `.` or `..`, which can be
688
+ // resolved away. Level 2 only takes other portions out of the
689
+ // middle of the path.
690
+ //
691
+ // A row of `**/x` then matches if the ** can walk the portions
692
+ // before the one that x matches, the same as #matchGlobstar. At
693
+ // level 2, this is only known if none of them are `.` or `..`, so
694
+ // that the path does not change when it is resolved.
695
+ #canMatch(f) {
696
+ const sep = !this.isWindows || !f.includes('\\') ? '/'
697
+ : f.includes('/') ? 'both'
698
+ : '\\';
699
+ // the portions that f.split(/\/+/) would end with, and where they
700
+ // start in f, found when a row needs them. `ends` is 0 until they
701
+ // are found, then 1, or -1 if they can not be used.
702
+ let ends = this.#endCheck ? 0 : -1;
703
+ let last = '';
704
+ let lastStart = 0;
705
+ let prev;
706
+ let prevStart = 0;
707
+ const dot = !!this.options.dot;
708
+ // A string compare is cheaper than includes(), and a Matcher test
709
+ // costs more, so the cheaper check goes first.
710
+ ROWS: for (let r = 0; r < this.set.length; r++) {
711
+ const row = this.set[r];
712
+ const p = row[row.length - 1];
713
+ let end = ends !== -1 && this.#endRows[r] && p !== GLOBSTAR;
714
+ if (end && ends === 0) {
715
+ const i = lastSep(f, f.length, sep);
716
+ lastStart = i + 1;
717
+ last = f.slice(lastStart);
718
+ if (last === '' && i >= 0) {
719
+ let j = i;
720
+ while (j > 0 && isSep(f.charCodeAt(j - 1), sep))
721
+ j--;
722
+ prevStart = j === 0 ? 0 : lastSep(f, j - 1, sep) + 1;
723
+ prev = f.slice(prevStart, j);
724
+ }
725
+ const resolves = this.#level2 &&
726
+ (isDots(last) ||
727
+ (last === '' && prev !== undefined && isDots(prev)));
728
+ ends = resolves ? -1 : 1;
729
+ end = !resolves;
730
+ }
731
+ let tailStart = -1;
732
+ if (end && typeof p === 'string') {
733
+ tailStart = endIndex(p, last, lastStart, prev, prevStart);
734
+ if (tailStart === -1)
735
+ continue;
736
+ }
737
+ if (this.#literalCheck) {
738
+ for (const l of this.#literals[r]) {
739
+ if (!f.includes(l))
740
+ continue ROWS;
741
+ }
742
+ }
743
+ if (end && typeof p === 'object') {
744
+ tailStart = endIndex(p, last, lastStart, prev, prevStart);
745
+ if (tailStart === -1)
746
+ continue;
747
+ }
748
+ const shape = this.#shapes[r];
749
+ if (shape === 'base' && end)
750
+ return 'yes';
751
+ if (shape === 'tail' && end) {
752
+ if (this.#level2 && dotPortion(f, 0, tailStart, true, sep)) {
753
+ return 'maybe';
754
+ }
755
+ if (!dotPortion(f, 0, tailStart, dot, sep))
756
+ return 'yes';
757
+ continue;
758
+ }
759
+ if (shape === 'mid' || shape === 'head') {
760
+ const m = this.#walk(f, row, shape === 'head', dot, sep);
761
+ if (m !== 'no')
762
+ return m;
763
+ continue;
764
+ }
765
+ return 'maybe';
766
+ }
767
+ return 'no';
768
+ }
769
+ // Match a row of a known shape against the split path, the same as
770
+ // #matchGlobstar and #matchGlobStarBodySections do. None of these
771
+ // rows have a drive letter, so they start at the first portion.
772
+ #matchShape(file, row, shape) {
773
+ const dot = !!this.options.dot;
774
+ const n = file.length;
775
+ if (shape === 'head') {
776
+ // x, then at least one portion that ** can walk
777
+ if (n < 2 || !portionMatch(row[0], file[0])) {
778
+ return false;
779
+ }
780
+ for (let i = 1; i < n; i++)
781
+ if (!walkable(file[i], dot))
782
+ return false;
783
+ return true;
784
+ }
785
+ const x = row[1];
786
+ if (shape === 'tail') {
787
+ // x is the last portion, or the one before a trailing ''
788
+ let t = n - 1;
789
+ if (!portionMatch(x, file[t])) {
790
+ if (file[t] !== '' || n === 1 || !portionMatch(x, file[--t])) {
791
+ return false;
792
+ }
793
+ }
794
+ for (let i = 0; i < t; i++)
795
+ if (!walkable(file[i], dot))
796
+ return false;
797
+ return true;
798
+ }
799
+ // mid: the first x that ** can walk to, with a portion after it,
800
+ // and ** can walk all of those
801
+ for (let k = 0; k < n; k++) {
802
+ if (portionMatch(x, file[k]) && k + 1 < n) {
803
+ let i = k + 1;
804
+ while (i < n && walkable(file[i], dot))
805
+ i++;
806
+ if (i === n)
807
+ return true;
808
+ }
809
+ if (!walkable(file[k], dot))
810
+ return false;
811
+ }
812
+ return false;
813
+ }
814
+ // Match a row of `**/x/**` or `x/**` against the path, the same as
815
+ // #matchGlobstar and #matchGlobStarBodySections do once it is split.
816
+ // x must match a portion (the first one, for `x/**`), the ** before
817
+ // it must be able to walk the portions before that one, and there
818
+ // must be a portion after it, which the ** after it can walk. At
819
+ // level 2, this is only known if no portion is `.` or `..`.
820
+ #walk(f, row, head, dot, sep) {
821
+ if (this.#level2 && dotPortion(f, 0, f.length, true, sep))
822
+ return 'maybe';
823
+ const x = row[head ? 0 : 1];
824
+ // the last portion has none after it, so it can not be x
825
+ let s = 0;
826
+ for (let e = nextSep(f, s, sep); e !== -1; e = nextSep(f, s, sep)) {
827
+ // the start of the next portion
828
+ let next = e + 1;
829
+ while (next < f.length && isSep(f.charCodeAt(next), sep))
830
+ next++;
831
+ const hit = typeof x === 'string' ?
832
+ e - s === x.length && f.startsWith(x, s)
833
+ : e > s && x.testUnchecked(f.slice(s, e));
834
+ if (hit && !dotPortion(f, next, f.length, dot, sep))
835
+ return 'yes';
836
+ if (head || dotPortion(f, s, next, dot, sep))
837
+ return 'no';
838
+ s = next;
839
+ }
840
+ return 'no';
841
+ }
842
+ // the last split, if it was the same path with the same split
843
+ // settings
844
+ #cachedSplit(f) {
845
+ const last = lastSplit;
846
+ return (last?.f === f &&
847
+ last.isWindows === this.isWindows &&
848
+ last.preserveMultipleSlashes === this.preserveMultipleSlashes &&
849
+ last.normalize === this.#form) ?
850
+ last
851
+ : undefined;
852
+ }
853
+ // split a path for match(), and keep the parts for the next call
854
+ #split(f) {
855
+ const { isWindows, preserveMultipleSlashes } = this;
856
+ // windows: need to use /, not \
857
+ let parts = this.#slashSplit(isWindows ? f.split('\\').join('/') : f);
858
+ // normalize each portion, so that a char that normalizes to `/`
859
+ // does not make a new portion
860
+ const normalize = this.#form;
861
+ if (normalize)
862
+ parts = parts.map(p => p.normalize(normalize));
863
+ lastSplit = {
864
+ f,
865
+ isWindows,
866
+ preserveMultipleSlashes,
867
+ normalize,
868
+ parts,
869
+ };
870
+ return lastSplit;
871
+ }
872
+ // resolve `.` and `..` portions of a path, for level 2
873
+ #levelTwoFileOptimize(file) {
874
+ // work on a copy, so that the cached parts do not change
875
+ const parts = [...file];
876
+ let didSomething = false;
877
+ do {
878
+ didSomething = false;
879
+ // <pre>/<e>/<rest> -> <pre>/<rest>
880
+ if (!this.preserveMultipleSlashes) {
881
+ for (let i = 1; i < parts.length - 1; i++) {
882
+ const p = parts[i];
883
+ // don't squeeze out UNC patterns
884
+ if (i === 1 && p === '' && parts[0] === '')
885
+ continue;
886
+ if (p === '.' || p === '') {
887
+ didSomething = true;
888
+ parts.splice(i, 1);
889
+ i--;
890
+ }
891
+ }
892
+ if (parts[0] === '.' &&
893
+ parts.length === 2 &&
894
+ (parts[1] === '.' || parts[1] === '')) {
895
+ didSomething = true;
896
+ parts.pop();
897
+ }
898
+ }
899
+ // <pre>/<p>/../<rest> -> <pre>/<rest>
900
+ // .. can not remove the root of a Windows path
901
+ const root = this.#rootIndex(parts) + 1;
902
+ let dd = root;
903
+ while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
904
+ const p = parts[dd - 1];
905
+ if (p && p !== '.' && p !== '..' && p !== '**') {
906
+ didSomething = true;
907
+ parts.splice(dd - 1, 2);
908
+ dd = Math.max(dd - 2, root);
909
+ }
910
+ }
911
+ } while (didSomething);
912
+ return parts.length === 0 ? [''] : parts;
913
+ }
914
+ // First phase: single-pattern processing
915
+ // <pre> is 1 or more portions
916
+ // <rest> is 1 or more portions
917
+ // <p> is any portion other than ., .., '', or **
918
+ // <e> is . or ''
919
+ //
920
+ // **/.. is *brutal* for filesystem walking performance, because
921
+ // it effectively resets the recursive walk each time it occurs,
922
+ // and ** cannot be reduced out by a .. pattern part like a regexp
923
+ // or most strings (other than .., ., and '') can be.
924
+ //
925
+ // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
926
+ // <pre>/<e>/<rest> -> <pre>/<rest>
927
+ // <pre>/<p>/../<rest> -> <pre>/<rest>
928
+ // **/**/<rest> -> **/<rest>
929
+ //
930
+ // **/*/<rest> -> */**/<rest> <== not valid because ** doesn't follow
931
+ // this WOULD be allowed if ** did follow symlinks, or * didn't
932
+ firstPhasePreProcess(globParts) {
933
+ // each **/.. split doubles the patterns, and adds a copy of the
934
+ // whole pattern. Throw if either gets too large. A partial split
935
+ // would match some paths and not others, depending on which rows
936
+ // the pass reached first.
937
+ const { braceExpandMax = 100_000 } = this.options;
938
+ let splitCells = 0;
939
+ const maxSplitCells = 1_000_000;
940
+ let didSomething = false;
941
+ do {
942
+ didSomething = false;
943
+ // <pre>/**/../<p>/<p>/<rest> -> {<pre>/../<p>/<p>/<rest>,<pre>/**/<p>/<p>/<rest>}
944
+ for (let parts of globParts) {
945
+ let gs = -1;
946
+ while (-1 !== (gs = parts.indexOf('**', gs + 1))) {
947
+ let gss = gs;
948
+ while (parts[gss + 1] === '**') {
949
+ // <pre>/**/**/<rest> -> <pre>/**/<rest>
950
+ gss++;
951
+ }
952
+ // eg, if gs is 2 and gss is 4, that means we have 3 **
953
+ // parts, and can remove 2 of them.
954
+ if (gss > gs) {
955
+ parts.splice(gs + 1, gss - gs);
956
+ }
957
+ let next = parts[gs + 1];
958
+ const p = parts[gs + 2];
959
+ const p2 = parts[gs + 3];
960
+ if (next !== '..')
961
+ continue;
962
+ if (!p ||
963
+ p === '.' ||
964
+ p === '..' ||
965
+ !p2 ||
966
+ p2 === '.' ||
967
+ p2 === '..') {
968
+ continue;
969
+ }
970
+ // Check before changing parts or allocating the new row.
971
+ const addedCells = parts.length - 1;
972
+ if (globParts.length >= braceExpandMax ||
973
+ splitCells + addedCells > maxSplitCells) {
974
+ throw new RangeError(`optimizationLevel 2: too many patterns from '**/..'`);
975
+ }
976
+ didSomething = true;
977
+ // edit parts in place, and push the new one
978
+ parts.splice(gs, 1);
979
+ const other = parts.slice(0);
980
+ other[gs] = '**';
981
+ splitCells += addedCells;
982
+ globParts.push(other);
983
+ gs--;
984
+ }
985
+ // <pre>/<e>/<rest> -> <pre>/<rest>
986
+ if (!this.preserveMultipleSlashes) {
987
+ for (let i = 1; i < parts.length - 1; i++) {
988
+ const p = parts[i];
989
+ // don't squeeze out UNC patterns
990
+ if (i === 1 && p === '' && parts[0] === '')
991
+ continue;
992
+ if (p === '.' || p === '') {
993
+ didSomething = true;
994
+ parts.splice(i, 1);
995
+ i--;
996
+ }
997
+ }
998
+ if (parts[0] === '.' &&
999
+ parts.length === 2 &&
1000
+ (parts[1] === '.' || parts[1] === '')) {
1001
+ didSomething = true;
1002
+ parts.pop();
1003
+ }
1004
+ }
1005
+ // <pre>/<p>/../<rest> -> <pre>/<rest>
1006
+ // .. can not remove the root of a Windows path
1007
+ const root = this.#rootIndex(parts) + 1;
1008
+ let dd = root;
1009
+ while (-1 !== (dd = parts.indexOf('..', dd + 1))) {
1010
+ const p = parts[dd - 1];
1011
+ if (p && p !== '.' && p !== '..' && p !== '**') {
1012
+ didSomething = true;
1013
+ const needDot = dd === 1 && parts[dd + 1] === '**';
1014
+ const splin = needDot ? ['.'] : [];
1015
+ parts.splice(dd - 1, 2, ...splin);
1016
+ if (parts.length === 0)
1017
+ parts.push('');
1018
+ dd = Math.max(dd - 2, root);
1019
+ }
1020
+ }
1021
+ }
1022
+ } while (didSomething);
1023
+ return globParts;
1024
+ }
1025
+ // second phase: multi-pattern dedupes
1026
+ // {<pre>/<rest>,<pre>/<rest>} -> <pre>/<rest>
1027
+ // {<pre>/*/<rest>,<pre>/<p>/<rest>} -> <pre>/*/<rest>
1028
+ secondPhasePreProcess(globParts) {
1029
+ const keys = new Set();
1030
+ const rows = globParts.filter(parts => {
1031
+ const key = parts.join('/');
1032
+ if (keys.has(key))
1033
+ return false;
1034
+ keys.add(key);
1035
+ return true;
1036
+ });
1037
+ // A row is covered by another row that has `*` at some positions,
1038
+ // and is the same at all others. Collect each distinct set of `*`
1039
+ // positions, then look up each row with `*` put at those positions.
1040
+ const stars = new Map();
1041
+ for (const parts of rows) {
1042
+ const s = [];
1043
+ for (let i = 0; i < parts.length; i++) {
1044
+ if (parts[i] === '*')
1045
+ s.push(i);
1046
+ }
1047
+ if (s.length)
1048
+ stars.set(s.join(','), s);
1049
+ }
1050
+ // Each row is checked against each set of `*` positions, so skip
1051
+ // this if there are too many. The patterns match the same paths
1052
+ // either way.
1053
+ if (!stars.size || rows.length * stars.size > 100_000)
1054
+ return rows;
1055
+ const { dot } = this.options;
1056
+ return rows.filter(parts => {
1057
+ for (const s of stars.values()) {
1058
+ if (s[s.length - 1] >= parts.length)
1059
+ continue;
1060
+ const c = [...parts];
1061
+ let ok = true;
1062
+ let changed = false;
1063
+ for (const i of s) {
1064
+ const p = parts[i];
1065
+ if (p === '*')
1066
+ continue;
1067
+ if (!p || p === '**' || (!dot && p.startsWith('.'))) {
1068
+ ok = false;
1069
+ break;
1070
+ }
1071
+ c[i] = '*';
1072
+ changed = true;
1073
+ }
1074
+ if (ok && changed && keys.has(c.join('/')))
1075
+ return false;
1076
+ }
1077
+ return true;
1078
+ });
1079
+ }
1080
+ parseNegate() {
1081
+ if (this.nonegate)
1082
+ return;
1083
+ const pattern = this.pattern;
1084
+ let negate = false;
1085
+ let negateOffset = 0;
1086
+ for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
1087
+ negate = !negate;
1088
+ negateOffset++;
1089
+ }
1090
+ if (negateOffset)
1091
+ this.pattern = pattern.slice(negateOffset);
1092
+ this.negate = negate;
1093
+ }
1094
+ // Match the parts of a path against one row of the set. `resolved`
1095
+ // is the parts after level 2 resolves `.` and `..` in them, or the
1096
+ // same parts below level 2. Set partial to true to test if, for
1097
+ // example, "/a/b" matches the start of "/*/b/*/d". Partial means, if
1098
+ // you run out of file before you run out of pattern, then that's
1099
+ // fine, as long as all the parts match.
1100
+ #matchRow(file, resolved, pattern, partial) {
1101
+ let fileStartIndex = 0;
1102
+ let patternStartIndex = 0;
1103
+ // UNC paths like //?/X:/... can match X:/... and vice versa, and
1104
+ // //?/UNC/host/share/... can match //host/share/... and vice versa.
1105
+ // Drive letters in absolute drive or unc paths, and the host and
1106
+ // share of UNC paths, are always compared case-insensitively.
1107
+ const fh = this.isWindows ? uncHost(resolved) : -1;
1108
+ const ph = fh === -1 ? -1 : uncHost(pattern);
1109
+ if (ph !== -1) {
1110
+ const host = pattern[ph];
1111
+ const share = pattern[ph + 1];
1112
+ if (typeof host !== 'string' || typeof share !== 'string') {
1113
+ // a host or share with magic is matched as usual
1114
+ fileStartIndex = fh;
1115
+ patternStartIndex = ph;
1116
+ }
1117
+ else if (resolved[fh].toLowerCase() === host.toLowerCase() &&
1118
+ resolved[fh + 1].toLowerCase() === share.toLowerCase()) {
1119
+ fileStartIndex = fh + 2;
1120
+ patternStartIndex = ph + 2;
1121
+ }
1122
+ }
1123
+ else if (this.isWindows) {
1124
+ const fileDrive = typeof file[0] === 'string' && /^[a-z]:$/i.test(file[0]);
1125
+ const fileUNC = !fileDrive &&
1126
+ file[0] === '' &&
1127
+ file[1] === '' &&
1128
+ file[2] === '?' &&
1129
+ /^[a-z]:$/i.test(file[3]);
1130
+ const patternDrive = typeof pattern[0] === 'string' && /^[a-z]:$/i.test(pattern[0]);
1131
+ const patternUNC = !patternDrive &&
1132
+ pattern[0] === '' &&
1133
+ pattern[1] === '' &&
1134
+ pattern[2] === '?' &&
1135
+ typeof pattern[3] === 'string' &&
1136
+ /^[a-z]:$/i.test(pattern[3]);
1137
+ const fdi = fileUNC ? 3
1138
+ : fileDrive ? 0
1139
+ : undefined;
1140
+ const pdi = patternUNC ? 3
1141
+ : patternDrive ? 0
1142
+ : undefined;
1143
+ if (typeof fdi === 'number' && typeof pdi === 'number') {
1144
+ const [fd, pd] = [
1145
+ file[fdi],
1146
+ pattern[pdi],
1147
+ ];
1148
+ // the drives match, so start matching after them
1149
+ if (fd.toLowerCase() === pd.toLowerCase()) {
1150
+ patternStartIndex = pdi + 1;
1151
+ fileStartIndex = fdi + 1;
1152
+ }
1153
+ }
1154
+ }
1155
+ // the drive letters are found in the parts before level 2 resolves
1156
+ // them, and the match uses the resolved parts
1157
+ file = resolved;
1158
+ if (pattern.includes(GLOBSTAR)) {
1159
+ return this.#matchGlobstar(file, pattern, partial, fileStartIndex, patternStartIndex);
1160
+ }
1161
+ return this.#matchOne(file, pattern, partial, fileStartIndex, patternStartIndex);
1162
+ }
1163
+ #matchGlobstar(file, pattern, partial, fileIndex, patternIndex) {
1164
+ const { head, body, tail, segments } = this.#getGlobstarParts(pattern, partial, patternIndex);
1165
+ // check the head, from the current file/pattern index.
1166
+ if (head.length) {
1167
+ const headEnd = fileIndex + head.length;
1168
+ if (!this.#matchOne(file, head, partial, fileIndex, 0, headEnd)) {
1169
+ return false;
1170
+ }
1171
+ fileIndex += head.length;
1172
+ patternIndex += head.length;
1173
+ }
1174
+ // now we know the head matches!
1175
+ // if the last portion is not empty, it MUST match the end
1176
+ // check the tail
1177
+ let fileTailMatch = 0;
1178
+ if (tail.length) {
1179
+ // if head + tail > file, then we cannot possibly match
1180
+ if (tail.length + fileIndex > file.length)
1181
+ return false;
1182
+ // try to match the tail
1183
+ let tailStart = file.length - tail.length;
1184
+ if (this.#matchOne(file, tail, partial, tailStart, 0)) {
1185
+ fileTailMatch = tail.length;
1186
+ }
1187
+ else {
1188
+ // affordance for stuff like a/**/* matching a/b/
1189
+ // if the last file portion is '', and there's more to the pattern
1190
+ // then try without the '' bit.
1191
+ if (file[file.length - 1] !== '' ||
1192
+ fileIndex + tail.length === file.length) {
1193
+ return false;
1194
+ }
1195
+ tailStart--;
1196
+ if (!this.#matchOne(file, tail, partial, tailStart, 0)) {
1197
+ return false;
1198
+ }
1199
+ fileTailMatch = tail.length + 1;
1200
+ }
1201
+ }
1202
+ // now we know the tail matches!
1203
+ // the middle is zero or more portions wrapped in **, possibly
1204
+ // containing more ** sections.
1205
+ // so a/**/b/**/c/**/d has become **/b/**/c/**
1206
+ // if it's empty, it means a/**/b, just verify we have no bad dots
1207
+ // if there's no tail, so it ends on /**, then we must have *something*
1208
+ // after the head, or it's not a matc
1209
+ if (!body.length) {
1210
+ let sawSome = !!fileTailMatch;
1211
+ for (let i = fileIndex; i < file.length - fileTailMatch; i++) {
1212
+ const f = String(file[i]);
1213
+ sawSome = true;
1214
+ if (f === '.' ||
1215
+ f === '..' ||
1216
+ (!this.options.dot && f.startsWith('.'))) {
1217
+ return false;
1218
+ }
1219
+ }
1220
+ // in partial mode, we just need to get past all file parts
1221
+ return partial || sawSome;
1222
+ }
1223
+ // now we know that there's one or more body sections, which can
1224
+ // be matched anywhere from the 0 index (because the head was pruned)
1225
+ // through to the length-fileTailMatch index.
1226
+ return !!this.#matchGlobStarBodySections(file, segments, file.length - fileTailMatch, fileIndex, 0, partial, 0, !!fileTailMatch, new Set());
1227
+ }
1228
+ // Split the pattern into head, tail, and middle of ** delimited
1229
+ // parts. The tail has to be at the end, and the others just have to
1230
+ // be found in order from the head. These only depend on the pattern
1231
+ // row, so they are kept for the next path.
1232
+ #getGlobstarParts(pattern, partial, patternIndex) {
1233
+ let byStart = this.#globstarParts.get(pattern);
1234
+ if (!byStart) {
1235
+ byStart = [];
1236
+ this.#globstarParts.set(pattern, byStart);
1237
+ }
1238
+ const key = patternIndex * 2 + (partial ? 1 : 0);
1239
+ const found = byStart[key];
1240
+ if (found)
1241
+ return found;
1242
+ const firstgs = pattern.indexOf(GLOBSTAR, patternIndex);
1243
+ const lastgs = pattern.lastIndexOf(GLOBSTAR);
1244
+ const head = pattern.slice(patternIndex, firstgs);
1245
+ const body = pattern.slice(firstgs + 1, partial ? undefined : lastgs);
1246
+ const tail = partial ? [] : pattern.slice(lastgs + 1);
1247
+ // split the body up into sections, and note the number of
1248
+ // portions that must come after the start of each one
1249
+ const segments = [[[], 0]];
1250
+ let current = segments[0];
1251
+ let nonGsParts = 0;
1252
+ const nonGsPartsSums = [0];
1253
+ for (const b of body) {
1254
+ if (b === GLOBSTAR) {
1255
+ nonGsPartsSums.push(nonGsParts);
1256
+ current = [[], 0];
1257
+ segments.push(current);
1258
+ }
1259
+ else {
1260
+ current[0].push(b);
1261
+ nonGsParts++;
1262
+ }
1263
+ }
1264
+ // the portions in this section and the ones after it
1265
+ segments.forEach((b, i) => {
1266
+ b[1] = nonGsParts - nonGsPartsSums[i];
1267
+ });
1268
+ const parts = { head, body, tail, segments };
1269
+ byStart[key] = parts;
1270
+ return parts;
1271
+ }
1272
+ // return false for "nope, not matching"
1273
+ // return null for "not matching, cannot keep trying"
1274
+ #matchGlobStarBodySections(file,
1275
+ // pattern section, and the portions that it and the rest need
1276
+ bodySegments,
1277
+ // the end of the file portions that the body can match
1278
+ fileLength, fileIndex, bodyIndex, partial, globStarDepth, sawTail,
1279
+ // the places that a walk has already tried, as
1280
+ // bodyIndex * (file.length + 1) + fileIndex. A walk from a place
1281
+ // does the same no matter how it got there, and it only comes back
1282
+ // if it found no match, so a walk that gets to one stops.
1283
+ tried) {
1284
+ // take the first body segment, and walk from fileIndex to its "after"
1285
+ // value at the end
1286
+ // If it doesn't match at that position, we increment, until we hit
1287
+ // that final possible position, and give up.
1288
+ // If it does match, then advance and try to rest.
1289
+ // If any of them fail we keep walking forward.
1290
+ // this is still a bit recursively painful, but it's more constrained
1291
+ // than previous implementations, because we never test something that
1292
+ // can't possibly be a valid matching condition.
1293
+ const bs = bodySegments[bodyIndex];
1294
+ if (!bs) {
1295
+ // with partial, the body is the rest of the pattern, so it
1296
+ // matches if no portions are left, or only the '' of a trailing
1297
+ // / (as a/* matches a/b/). A ** at the end walks them as its own
1298
+ // empty section.
1299
+ if (partial) {
1300
+ return (fileIndex >= fileLength ||
1301
+ (fileIndex === fileLength - 1 && file[fileIndex] === ''));
1302
+ }
1303
+ // just make sure that there's no bad dots before the tail
1304
+ for (let i = fileIndex; i < fileLength; i++) {
1305
+ sawTail = true;
1306
+ const f = file[i];
1307
+ if (f === '.' ||
1308
+ f === '..' ||
1309
+ (!this.options.dot && f.startsWith('.'))) {
1310
+ return false;
1311
+ }
1312
+ }
1313
+ return sawTail;
1314
+ }
1315
+ // have a non-globstar body section to test, up to the last index
1316
+ // where it can start
1317
+ const [body, need] = bs;
1318
+ // with partial, the path can end before the body does
1319
+ const after = partial ? fileLength : fileLength - need;
1320
+ while (fileIndex <= after) {
1321
+ const key = bodyIndex * (file.length + 1) + fileIndex;
1322
+ if (tried.has(key))
1323
+ return false;
1324
+ tried.add(key);
1325
+ const m = this.#matchOne(file, body, partial, fileIndex, 0, fileIndex + body.length);
1326
+ // if limit exceeded, no match. intentional false negative,
1327
+ // acceptable break in correctness for security.
1328
+ if (m && globStarDepth < this.maxGlobstarRecursion) {
1329
+ // match! see if the rest match. if so, we're done!
1330
+ const sub = this.#matchGlobStarBodySections(file, bodySegments, fileLength, fileIndex + body.length, bodyIndex + 1, partial, globStarDepth + 1, sawTail, tried);
1331
+ if (sub !== false) {
1332
+ return sub;
1333
+ }
1334
+ }
1335
+ // the ** does not walk past the last place the body can start
1336
+ if (fileIndex === after)
1337
+ break;
1338
+ const f = file[fileIndex];
1339
+ if (f === '.' ||
1340
+ f === '..' ||
1341
+ (!this.options.dot && f.startsWith('.'))) {
1342
+ return false;
1343
+ }
1344
+ fileIndex++;
1345
+ }
1346
+ // walked off. no point continuing
1347
+ return partial || null;
1348
+ }
1349
+ #matchOne(file, pattern, partial, fileIndex, patternIndex,
1350
+ // only match the file portions before this index
1351
+ fileEnd = file.length) {
1352
+ let fi;
1353
+ let pi;
1354
+ let pl;
1355
+ let fl;
1356
+ for (fi = fileIndex,
1357
+ pi = patternIndex,
1358
+ fl = Math.min(fileEnd, file.length),
1359
+ pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
1360
+ let p = pattern[pi];
1361
+ let f = file[fi];
1362
+ // should be impossible.
1363
+ /* c8 ignore start */
1364
+ if (p === false || p === GLOBSTAR) {
1365
+ return false;
1366
+ }
1367
+ /* c8 ignore stop */
1368
+ // something other than **
1369
+ // non-magic patterns just have to match exactly
1370
+ // patterns with magic have been turned into Matchers.
1371
+ if (!portionMatch(p, f))
1372
+ return false;
1373
+ }
1374
+ // Note: ending in / means that we'll get a final ""
1375
+ // at the end of the pattern. This can only match a
1376
+ // corresponding "" at the end of the file.
1377
+ // If the file ends in /, then it can only match a
1378
+ // a pattern that ends in /, unless the pattern just
1379
+ // doesn't have any more for it. But, a/b/ should *not*
1380
+ // match "a/b/*", even though * can match "", except in
1381
+ // partial mode, where it might simply not be reached yet.
1382
+ // However, a/b/ should still satisfy a/*
1383
+ // now either we fell off the end of the pattern, or we're done.
1384
+ if (fi === fl && pi === pl) {
1385
+ // ran out of pattern and filename at the same time.
1386
+ // an exact hit!
1387
+ return true;
1388
+ }
1389
+ else if (fi === fl) {
1390
+ // ran out of file, but still had pattern left.
1391
+ // this is ok if we're doing the match as part of
1392
+ // a glob fs traversal.
1393
+ return partial;
1394
+ }
1395
+ else if (pi === pl) {
1396
+ // ran out of pattern, still have file left.
1397
+ // this is only acceptable if we're on the very last
1398
+ // empty segment of a file with a trailing slash.
1399
+ // a/* should match a/b/
1400
+ return fi === fl - 1 && file[fi] === '';
1401
+ /* c8 ignore start */
1402
+ }
1403
+ else {
1404
+ // should be unreachable.
1405
+ throw new Error('wtf?');
1406
+ }
1407
+ /* c8 ignore stop */
1408
+ }
1409
+ braceExpand() {
1410
+ return braceExpand(this.pattern, this.options);
1411
+ }
1412
+ // Expand braces, except numeric ranges such as {0..999} with at
1413
+ // least RANGE_MIN values. Each of those stays in its pattern as
1414
+ // `<mark>0..999<mark>`, for the Matcher to test. If a range might
1415
+ // be inside a [...] class, expand all of them instead.
1416
+ #expandBraces() {
1417
+ const { pattern } = this;
1418
+ if (this.options.nobrace)
1419
+ return this.braceExpand();
1420
+ let code = 0xe000;
1421
+ while (pattern.includes(String.fromCharCode(code))) {
1422
+ if (++code > 0xf8ff)
1423
+ return this.braceExpand();
1424
+ }
1425
+ const mark = String.fromCharCode(code);
1426
+ let found = false;
1427
+ const marked = pattern.replace(rangeRe, (m, lo, hi) => {
1428
+ const a = Number(lo);
1429
+ const b = Number(hi);
1430
+ if (!Number.isSafeInteger(a) ||
1431
+ !Number.isSafeInteger(b) ||
1432
+ Math.abs(a - b) + 1 < RANGE_MIN) {
1433
+ return m;
1434
+ }
1435
+ found = true;
1436
+ return `${mark}${lo}..${hi}${mark}`;
1437
+ });
1438
+ if (!found)
1439
+ return this.braceExpand();
1440
+ const set = braceExpand(marked, this.options);
1441
+ for (const p of set) {
1442
+ for (const portion of p.split('/')) {
1443
+ const c = portion.indexOf('[');
1444
+ if (c !== -1 && c < portion.lastIndexOf(mark)) {
1445
+ return this.braceExpand();
1446
+ }
1447
+ }
1448
+ }
1449
+ this.#rangeMark = mark;
1450
+ return set;
1451
+ }
1452
+ parse(pattern) {
1453
+ assertValidPattern(pattern);
1454
+ const options = this.options;
1455
+ // shortcuts
1456
+ if (pattern === '**')
1457
+ return GLOBSTAR;
1458
+ if (pattern === '')
1459
+ return '';
1460
+ const { nocase, nocaseMagicOnly, noext = false, dot, normalize, } = options;
1461
+ const rangeMark = this.#rangeMark;
1462
+ const lit = rangeMark && pattern.includes(rangeMark) ?
1463
+ undefined
1464
+ : literal(pattern, noext);
1465
+ // in nocase mode, a literal with cased chars still needs a
1466
+ // Matcher, unless nocaseMagicOnly is set.
1467
+ if (lit !== undefined &&
1468
+ !(nocase &&
1469
+ !nocaseMagicOnly &&
1470
+ pattern.toUpperCase() !== pattern.toLowerCase())) {
1471
+ return this.#norm(lit);
1472
+ }
1473
+ if (this.#pending)
1474
+ return PENDING;
1475
+ let m = this.#matchers.get(pattern);
1476
+ if (!m) {
1477
+ m = new Matcher(pattern, {
1478
+ nocase,
1479
+ noext,
1480
+ dot,
1481
+ normalize,
1482
+ ...(rangeMark && { rangeMark }),
1483
+ });
1484
+ this.#matchers.set(pattern, m);
1485
+ }
1486
+ return m;
1487
+ }
1488
+ #slashSplit(p) {
1489
+ // if p starts with // on windows, we preserve that
1490
+ // so that UNC paths aren't broken. Otherwise, any number of
1491
+ // / characters are coalesced into one, unless
1492
+ // preserveMultipleSlashes is set to true.
1493
+ if (this.preserveMultipleSlashes) {
1494
+ return p.split('/');
1495
+ }
1496
+ else if (this.isWindows && /^\/\/[^/]+/.test(p)) {
1497
+ // add an extra '' for the one we lose
1498
+ return ['', ...p.split(/\/+/)];
1499
+ }
1500
+ else {
1501
+ return p.split(/\/+/);
1502
+ }
1503
+ }
1504
+ match(f, partial = this.partial) {
1505
+ // short-circuit in the case of busted things.
1506
+ // comments, etc.
1507
+ if (this.comment) {
1508
+ return false;
1509
+ }
1510
+ if (this.empty) {
1511
+ return f === '';
1512
+ }
1513
+ if (f === '/' && partial) {
1514
+ return true;
1515
+ }
1516
+ const options = this.options;
1517
+ // treat the test path as a set of pathparts. If it was not just
1518
+ // split or checked, check that it can match before splitting it.
1519
+ let split = this.#cachedSplit(f);
1520
+ if (!split) {
1521
+ // the checks look at the path as given, so not if it is
1522
+ // normalized
1523
+ if (!partial &&
1524
+ !this.#form &&
1525
+ (this.#endCheck || this.#literalCheck) &&
1526
+ lastChecked !== f) {
1527
+ lastChecked = f;
1528
+ const can = this.#canMatch(f);
1529
+ if (can === 'no')
1530
+ return options.flipNegate ? false : this.negate;
1531
+ if (can === 'yes')
1532
+ return options.flipNegate ? true : !this.negate;
1533
+ }
1534
+ split = this.#split(f);
1535
+ }
1536
+ const ff = split.parts;
1537
+ // the parts after level 2 resolves them, kept for the next pattern
1538
+ // that tests the same path
1539
+ const resolved = this.#level2 ?
1540
+ (split.resolved ??= this.#levelTwoFileOptimize(ff))
1541
+ : ff;
1542
+ // just ONE of the pattern sets in this.set needs to match
1543
+ // in order for it to be valid. If negating, then just one
1544
+ // match means that we have failed.
1545
+ // Either way, return on the first hit.
1546
+ const set = this.set;
1547
+ // Find the basename of the path by looking for the last non-empty segment
1548
+ let filename = ff[ff.length - 1];
1549
+ if (!filename) {
1550
+ for (let i = ff.length - 2; !filename && i >= 0; i--) {
1551
+ filename = ff[i];
1552
+ }
1553
+ }
1554
+ for (let r = 0; r < set.length; r++) {
1555
+ const pattern = set[r];
1556
+ const shape = partial ? undefined : this.#shapes[r];
1557
+ // level 2 does not change a path of one portion
1558
+ const hit = shape === 'base' ?
1559
+ portionMatch(pattern[0], filename)
1560
+ : shape ? this.#matchShape(resolved, pattern, shape)
1561
+ : options.matchBase && pattern.length === 1 ?
1562
+ this.#matchRow([filename], [filename], pattern, partial)
1563
+ : this.#matchRow(ff, resolved, pattern, partial);
1564
+ if (hit) {
1565
+ if (options.flipNegate) {
1566
+ return true;
1567
+ }
1568
+ return !this.negate;
1569
+ }
1570
+ }
1571
+ // didn't get any hits. this is success if it's a negative
1572
+ // pattern, failure otherwise.
1573
+ if (options.flipNegate) {
1574
+ return false;
1575
+ }
1576
+ return this.negate;
1577
+ }
1578
+ static defaults(def) {
1579
+ return minimatch.defaults(def).Minimatch;
1580
+ }
1581
+ }
1582
+ /* c8 ignore start */
1583
+ export { escape } from './escape.js';
1584
+ export { unescape } from './unescape.js';
1585
+ /* c8 ignore stop */
1586
+ minimatch.Minimatch = Minimatch;
1587
+ minimatch.escape = escape;
1588
+ minimatch.unescape = unescape;
1589
+ //# sourceMappingURL=index.js.map