@pnpm/exe 11.0.5 → 11.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/dist/node-gyp-bin/node-gyp +0 -0
  2. package/dist/node-gyp-bin/node-gyp.cmd +0 -0
  3. package/dist/node_modules/node-gyp/.release-please-manifest.json +1 -1
  4. package/dist/node_modules/node-gyp/bin/node-gyp.js +0 -0
  5. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  6. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +11 -3
  7. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +2 -3
  8. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +1 -1
  9. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2 -1
  10. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +26 -16
  11. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +1 -1
  12. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1 -1
  13. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +2 -2
  14. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +3 -20
  15. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +2 -14
  16. package/dist/node_modules/node-gyp/gyp/pyproject.toml +5 -3
  17. package/dist/node_modules/node-gyp/lib/download.js +55 -8
  18. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +1 -1
  19. package/dist/node_modules/node-gyp/lib/process-release.js +17 -19
  20. package/dist/node_modules/node-gyp/package.json +3 -3
  21. package/dist/node_modules/{safer-buffer → undici}/LICENSE +1 -1
  22. package/dist/node_modules/undici/index-fetch.js +35 -0
  23. package/dist/node_modules/undici/index.js +169 -0
  24. package/dist/node_modules/undici/lib/api/abort-signal.js +57 -0
  25. package/dist/node_modules/undici/lib/api/api-connect.js +108 -0
  26. package/dist/node_modules/undici/lib/api/api-pipeline.js +251 -0
  27. package/dist/node_modules/undici/lib/api/api-request.js +214 -0
  28. package/dist/node_modules/undici/lib/api/api-stream.js +220 -0
  29. package/dist/node_modules/undici/lib/api/api-upgrade.js +108 -0
  30. package/dist/node_modules/undici/lib/api/index.js +7 -0
  31. package/dist/node_modules/undici/lib/api/readable.js +385 -0
  32. package/dist/node_modules/undici/lib/api/util.js +93 -0
  33. package/dist/node_modules/undici/lib/core/connect.js +240 -0
  34. package/dist/node_modules/undici/lib/core/constants.js +118 -0
  35. package/dist/node_modules/undici/lib/core/diagnostics.js +202 -0
  36. package/dist/node_modules/undici/lib/core/errors.js +425 -0
  37. package/dist/node_modules/undici/lib/core/request.js +405 -0
  38. package/dist/node_modules/undici/lib/core/symbols.js +67 -0
  39. package/dist/node_modules/undici/lib/core/tree.js +152 -0
  40. package/dist/node_modules/undici/lib/core/util.js +719 -0
  41. package/dist/node_modules/undici/lib/dispatcher/agent.js +130 -0
  42. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +209 -0
  43. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +1370 -0
  44. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +744 -0
  45. package/dist/node_modules/undici/lib/dispatcher/client.js +623 -0
  46. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +198 -0
  47. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +65 -0
  48. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +160 -0
  49. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +117 -0
  50. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +194 -0
  51. package/dist/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
  52. package/dist/node_modules/undici/lib/dispatcher/pool.js +107 -0
  53. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +274 -0
  54. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  55. package/dist/node_modules/undici/lib/global.js +32 -0
  56. package/dist/node_modules/undici/lib/handler/decorator-handler.js +44 -0
  57. package/dist/node_modules/undici/lib/handler/redirect-handler.js +232 -0
  58. package/dist/node_modules/undici/lib/handler/retry-handler.js +374 -0
  59. package/dist/node_modules/undici/lib/interceptor/dns.js +375 -0
  60. package/dist/node_modules/undici/lib/interceptor/dump.js +123 -0
  61. package/dist/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
  62. package/dist/node_modules/undici/lib/interceptor/redirect.js +24 -0
  63. package/dist/node_modules/undici/lib/interceptor/response-error.js +86 -0
  64. package/dist/node_modules/undici/lib/interceptor/retry.js +19 -0
  65. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  66. package/dist/node_modules/undici/lib/llhttp/constants.js +278 -0
  67. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +5 -0
  68. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +5 -0
  69. package/dist/node_modules/undici/lib/llhttp/utils.js +15 -0
  70. package/dist/node_modules/undici/lib/mock/mock-agent.js +160 -0
  71. package/dist/node_modules/undici/lib/mock/mock-client.js +59 -0
  72. package/dist/node_modules/undici/lib/mock/mock-errors.js +28 -0
  73. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +207 -0
  74. package/dist/node_modules/undici/lib/mock/mock-pool.js +59 -0
  75. package/dist/node_modules/undici/lib/mock/mock-symbols.js +23 -0
  76. package/dist/node_modules/undici/lib/mock/mock-utils.js +367 -0
  77. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  78. package/dist/node_modules/undici/lib/mock/pluralizer.js +29 -0
  79. package/dist/node_modules/undici/lib/util/timers.js +423 -0
  80. package/dist/node_modules/undici/lib/web/cache/cache.js +859 -0
  81. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  82. package/dist/node_modules/undici/lib/web/cache/symbols.js +5 -0
  83. package/dist/node_modules/undici/lib/web/cache/util.js +45 -0
  84. package/dist/node_modules/undici/lib/web/cookies/constants.js +12 -0
  85. package/dist/node_modules/undici/lib/web/cookies/index.js +184 -0
  86. package/dist/node_modules/undici/lib/web/cookies/parse.js +317 -0
  87. package/dist/node_modules/undici/lib/web/cookies/util.js +282 -0
  88. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +398 -0
  89. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +480 -0
  90. package/dist/node_modules/undici/lib/web/eventsource/util.js +37 -0
  91. package/dist/node_modules/{@npmcli/redact → undici/lib/web/fetch}/LICENSE +1 -1
  92. package/dist/node_modules/undici/lib/web/fetch/body.js +529 -0
  93. package/dist/node_modules/undici/lib/web/fetch/constants.js +124 -0
  94. package/dist/node_modules/undici/lib/web/fetch/data-url.js +744 -0
  95. package/dist/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
  96. package/dist/node_modules/undici/lib/web/fetch/file.js +126 -0
  97. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +474 -0
  98. package/dist/node_modules/undici/lib/web/fetch/formdata.js +252 -0
  99. package/dist/node_modules/undici/lib/web/fetch/global.js +40 -0
  100. package/dist/node_modules/undici/lib/web/fetch/headers.js +687 -0
  101. package/dist/node_modules/undici/lib/web/fetch/index.js +2272 -0
  102. package/dist/node_modules/undici/lib/web/fetch/request.js +1037 -0
  103. package/dist/node_modules/undici/lib/web/fetch/response.js +610 -0
  104. package/dist/node_modules/undici/lib/web/fetch/symbols.js +9 -0
  105. package/dist/node_modules/undici/lib/web/fetch/util.js +1632 -0
  106. package/dist/node_modules/undici/lib/web/fetch/webidl.js +695 -0
  107. package/dist/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
  108. package/dist/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
  109. package/dist/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
  110. package/dist/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
  111. package/dist/node_modules/undici/lib/web/fileapi/util.js +391 -0
  112. package/dist/node_modules/undici/lib/web/websocket/connection.js +371 -0
  113. package/dist/node_modules/undici/lib/web/websocket/constants.js +66 -0
  114. package/dist/node_modules/undici/lib/web/websocket/events.js +329 -0
  115. package/dist/node_modules/undici/lib/web/websocket/frame.js +96 -0
  116. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  117. package/dist/node_modules/undici/lib/web/websocket/receiver.js +490 -0
  118. package/dist/node_modules/undici/lib/web/websocket/sender.js +104 -0
  119. package/dist/node_modules/undici/lib/web/websocket/symbols.js +12 -0
  120. package/dist/node_modules/undici/lib/web/websocket/util.js +322 -0
  121. package/dist/node_modules/undici/lib/web/websocket/websocket.js +592 -0
  122. package/dist/node_modules/undici/package.json +160 -0
  123. package/dist/node_modules/undici/scripts/strip-comments.js +8 -0
  124. package/dist/node_modules/yallist/package.json +51 -12
  125. package/dist/pnpm.mjs +5915 -5140
  126. package/dist/worker.js +70 -67
  127. package/package.json +21 -13
  128. package/setup.js +17 -3
  129. package/dist/node_modules/@gar/promise-retry/LICENSE +0 -20
  130. package/dist/node_modules/@gar/promise-retry/lib/index.js +0 -62
  131. package/dist/node_modules/@gar/promise-retry/lib/retry.js +0 -109
  132. package/dist/node_modules/@gar/promise-retry/package.json +0 -45
  133. package/dist/node_modules/@npmcli/agent/lib/agents.js +0 -206
  134. package/dist/node_modules/@npmcli/agent/lib/dns.js +0 -53
  135. package/dist/node_modules/@npmcli/agent/lib/errors.js +0 -61
  136. package/dist/node_modules/@npmcli/agent/lib/index.js +0 -56
  137. package/dist/node_modules/@npmcli/agent/lib/options.js +0 -86
  138. package/dist/node_modules/@npmcli/agent/lib/proxy.js +0 -88
  139. package/dist/node_modules/@npmcli/agent/package.json +0 -60
  140. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +0 -20
  141. package/dist/node_modules/@npmcli/fs/lib/common/node.js +0 -9
  142. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +0 -15
  143. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +0 -129
  144. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +0 -22
  145. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +0 -428
  146. package/dist/node_modules/@npmcli/fs/lib/index.js +0 -13
  147. package/dist/node_modules/@npmcli/fs/lib/move-file.js +0 -78
  148. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +0 -20
  149. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +0 -39
  150. package/dist/node_modules/@npmcli/fs/package.json +0 -54
  151. package/dist/node_modules/@npmcli/redact/lib/deep-map.js +0 -71
  152. package/dist/node_modules/@npmcli/redact/lib/error.js +0 -28
  153. package/dist/node_modules/@npmcli/redact/lib/index.js +0 -44
  154. package/dist/node_modules/@npmcli/redact/lib/matchers.js +0 -88
  155. package/dist/node_modules/@npmcli/redact/lib/server.js +0 -59
  156. package/dist/node_modules/@npmcli/redact/lib/utils.js +0 -202
  157. package/dist/node_modules/@npmcli/redact/package.json +0 -52
  158. package/dist/node_modules/agent-base/LICENSE +0 -22
  159. package/dist/node_modules/agent-base/dist/helpers.js +0 -66
  160. package/dist/node_modules/agent-base/dist/index.js +0 -178
  161. package/dist/node_modules/agent-base/package.json +0 -46
  162. package/dist/node_modules/balanced-match/dist/commonjs/index.js +0 -59
  163. package/dist/node_modules/balanced-match/dist/esm/index.js +0 -54
  164. package/dist/node_modules/balanced-match/package.json +0 -68
  165. package/dist/node_modules/brace-expansion/LICENSE +0 -23
  166. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +0 -201
  167. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
  168. package/dist/node_modules/brace-expansion/dist/esm/index.js +0 -197
  169. package/dist/node_modules/brace-expansion/dist/esm/package.json +0 -3
  170. package/dist/node_modules/brace-expansion/package.json +0 -64
  171. package/dist/node_modules/cacache/lib/content/path.js +0 -29
  172. package/dist/node_modules/cacache/lib/content/read.js +0 -165
  173. package/dist/node_modules/cacache/lib/content/rm.js +0 -18
  174. package/dist/node_modules/cacache/lib/content/write.js +0 -206
  175. package/dist/node_modules/cacache/lib/entry-index.js +0 -336
  176. package/dist/node_modules/cacache/lib/get.js +0 -170
  177. package/dist/node_modules/cacache/lib/index.js +0 -42
  178. package/dist/node_modules/cacache/lib/memoization.js +0 -72
  179. package/dist/node_modules/cacache/lib/put.js +0 -80
  180. package/dist/node_modules/cacache/lib/rm.js +0 -31
  181. package/dist/node_modules/cacache/lib/util/glob.js +0 -7
  182. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +0 -7
  183. package/dist/node_modules/cacache/lib/util/tmp.js +0 -32
  184. package/dist/node_modules/cacache/lib/verify.js +0 -258
  185. package/dist/node_modules/cacache/package.json +0 -81
  186. package/dist/node_modules/debug/LICENSE +0 -20
  187. package/dist/node_modules/debug/package.json +0 -64
  188. package/dist/node_modules/debug/src/browser.js +0 -272
  189. package/dist/node_modules/debug/src/common.js +0 -292
  190. package/dist/node_modules/debug/src/index.js +0 -10
  191. package/dist/node_modules/debug/src/node.js +0 -263
  192. package/dist/node_modules/fs-minipass/LICENSE +0 -15
  193. package/dist/node_modules/fs-minipass/lib/index.js +0 -443
  194. package/dist/node_modules/fs-minipass/package.json +0 -54
  195. package/dist/node_modules/glob/dist/commonjs/glob.js +0 -248
  196. package/dist/node_modules/glob/dist/commonjs/has-magic.js +0 -27
  197. package/dist/node_modules/glob/dist/commonjs/ignore.js +0 -119
  198. package/dist/node_modules/glob/dist/commonjs/index.js +0 -68
  199. package/dist/node_modules/glob/dist/commonjs/index.min.js +0 -4
  200. package/dist/node_modules/glob/dist/commonjs/package.json +0 -3
  201. package/dist/node_modules/glob/dist/commonjs/pattern.js +0 -223
  202. package/dist/node_modules/glob/dist/commonjs/processor.js +0 -301
  203. package/dist/node_modules/glob/dist/commonjs/walker.js +0 -387
  204. package/dist/node_modules/glob/dist/esm/glob.js +0 -244
  205. package/dist/node_modules/glob/dist/esm/has-magic.js +0 -23
  206. package/dist/node_modules/glob/dist/esm/ignore.js +0 -115
  207. package/dist/node_modules/glob/dist/esm/index.js +0 -55
  208. package/dist/node_modules/glob/dist/esm/index.min.js +0 -4
  209. package/dist/node_modules/glob/dist/esm/package.json +0 -3
  210. package/dist/node_modules/glob/dist/esm/pattern.js +0 -219
  211. package/dist/node_modules/glob/dist/esm/processor.js +0 -294
  212. package/dist/node_modules/glob/dist/esm/walker.js +0 -381
  213. package/dist/node_modules/glob/package.json +0 -98
  214. package/dist/node_modules/http-cache-semantics/LICENSE +0 -9
  215. package/dist/node_modules/http-cache-semantics/index.js +0 -928
  216. package/dist/node_modules/http-cache-semantics/package.json +0 -22
  217. package/dist/node_modules/http-proxy-agent/LICENSE +0 -22
  218. package/dist/node_modules/http-proxy-agent/dist/index.js +0 -148
  219. package/dist/node_modules/http-proxy-agent/package.json +0 -47
  220. package/dist/node_modules/https-proxy-agent/LICENSE +0 -22
  221. package/dist/node_modules/https-proxy-agent/dist/index.js +0 -180
  222. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -101
  223. package/dist/node_modules/https-proxy-agent/package.json +0 -50
  224. package/dist/node_modules/iconv-lite/LICENSE +0 -21
  225. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -532
  226. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +0 -185
  227. package/dist/node_modules/iconv-lite/encodings/index.js +0 -23
  228. package/dist/node_modules/iconv-lite/encodings/internal.js +0 -218
  229. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -75
  230. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  231. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +0 -178
  232. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  233. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  234. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  235. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  236. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  237. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  238. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  239. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  240. package/dist/node_modules/iconv-lite/encodings/utf16.js +0 -187
  241. package/dist/node_modules/iconv-lite/encodings/utf32.js +0 -307
  242. package/dist/node_modules/iconv-lite/encodings/utf7.js +0 -283
  243. package/dist/node_modules/iconv-lite/lib/bom-handling.js +0 -48
  244. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +0 -13
  245. package/dist/node_modules/iconv-lite/lib/index.js +0 -182
  246. package/dist/node_modules/iconv-lite/lib/streams.js +0 -105
  247. package/dist/node_modules/iconv-lite/package.json +0 -70
  248. package/dist/node_modules/ip-address/LICENSE +0 -19
  249. package/dist/node_modules/ip-address/dist/address-error.js +0 -12
  250. package/dist/node_modules/ip-address/dist/common.js +0 -46
  251. package/dist/node_modules/ip-address/dist/ip-address.js +0 -35
  252. package/dist/node_modules/ip-address/dist/ipv4.js +0 -360
  253. package/dist/node_modules/ip-address/dist/ipv6.js +0 -1003
  254. package/dist/node_modules/ip-address/dist/v4/constants.js +0 -8
  255. package/dist/node_modules/ip-address/dist/v6/constants.js +0 -76
  256. package/dist/node_modules/ip-address/dist/v6/helpers.js +0 -45
  257. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
  258. package/dist/node_modules/ip-address/package.json +0 -78
  259. package/dist/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +0 -10
  260. package/dist/node_modules/lru-cache/dist/commonjs/index.js +0 -1692
  261. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  262. package/dist/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  263. package/dist/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +0 -4
  264. package/dist/node_modules/lru-cache/dist/esm/browser/index.js +0 -1688
  265. package/dist/node_modules/lru-cache/dist/esm/browser/index.min.js +0 -2
  266. package/dist/node_modules/lru-cache/dist/esm/diagnostics-channel.js +0 -19
  267. package/dist/node_modules/lru-cache/dist/esm/index.js +0 -1688
  268. package/dist/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  269. package/dist/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +0 -7
  270. package/dist/node_modules/lru-cache/dist/esm/node/index.js +0 -1688
  271. package/dist/node_modules/lru-cache/dist/esm/node/index.min.js +0 -2
  272. package/dist/node_modules/lru-cache/dist/esm/package.json +0 -3
  273. package/dist/node_modules/lru-cache/package.json +0 -126
  274. package/dist/node_modules/make-fetch-happen/LICENSE +0 -16
  275. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +0 -471
  276. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +0 -11
  277. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +0 -49
  278. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +0 -17
  279. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +0 -161
  280. package/dist/node_modules/make-fetch-happen/lib/fetch.js +0 -118
  281. package/dist/node_modules/make-fetch-happen/lib/index.js +0 -41
  282. package/dist/node_modules/make-fetch-happen/lib/options.js +0 -59
  283. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +0 -41
  284. package/dist/node_modules/make-fetch-happen/lib/remote.js +0 -134
  285. package/dist/node_modules/make-fetch-happen/package.json +0 -75
  286. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +0 -14
  287. package/dist/node_modules/minimatch/dist/commonjs/ast.js +0 -845
  288. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -150
  289. package/dist/node_modules/minimatch/dist/commonjs/escape.js +0 -30
  290. package/dist/node_modules/minimatch/dist/commonjs/index.js +0 -1127
  291. package/dist/node_modules/minimatch/dist/commonjs/package.json +0 -3
  292. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +0 -38
  293. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -10
  294. package/dist/node_modules/minimatch/dist/esm/ast.js +0 -841
  295. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +0 -146
  296. package/dist/node_modules/minimatch/dist/esm/escape.js +0 -26
  297. package/dist/node_modules/minimatch/dist/esm/index.js +0 -1114
  298. package/dist/node_modules/minimatch/dist/esm/package.json +0 -3
  299. package/dist/node_modules/minimatch/dist/esm/unescape.js +0 -34
  300. package/dist/node_modules/minimatch/package.json +0 -73
  301. package/dist/node_modules/minipass-collect/LICENSE +0 -15
  302. package/dist/node_modules/minipass-collect/index.js +0 -71
  303. package/dist/node_modules/minipass-collect/package.json +0 -30
  304. package/dist/node_modules/minipass-fetch/LICENSE +0 -28
  305. package/dist/node_modules/minipass-fetch/lib/abort-error.js +0 -17
  306. package/dist/node_modules/minipass-fetch/lib/blob.js +0 -97
  307. package/dist/node_modules/minipass-fetch/lib/body.js +0 -360
  308. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +0 -32
  309. package/dist/node_modules/minipass-fetch/lib/headers.js +0 -267
  310. package/dist/node_modules/minipass-fetch/lib/index.js +0 -376
  311. package/dist/node_modules/minipass-fetch/lib/request.js +0 -282
  312. package/dist/node_modules/minipass-fetch/lib/response.js +0 -90
  313. package/dist/node_modules/minipass-fetch/package.json +0 -70
  314. package/dist/node_modules/minipass-flush/index.js +0 -39
  315. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +0 -15
  316. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +0 -649
  317. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +0 -56
  318. package/dist/node_modules/minipass-flush/package.json +0 -42
  319. package/dist/node_modules/minipass-pipeline/LICENSE +0 -15
  320. package/dist/node_modules/minipass-pipeline/index.js +0 -128
  321. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +0 -15
  322. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +0 -649
  323. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +0 -56
  324. package/dist/node_modules/minipass-pipeline/package.json +0 -29
  325. package/dist/node_modules/minipass-sized/LICENSE +0 -15
  326. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +0 -69
  327. package/dist/node_modules/minipass-sized/dist/commonjs/package.json +0 -3
  328. package/dist/node_modules/minipass-sized/dist/esm/index.js +0 -64
  329. package/dist/node_modules/minipass-sized/dist/esm/package.json +0 -3
  330. package/dist/node_modules/minipass-sized/package.json +0 -69
  331. package/dist/node_modules/ms/index.js +0 -162
  332. package/dist/node_modules/ms/package.json +0 -38
  333. package/dist/node_modules/negotiator/LICENSE +0 -24
  334. package/dist/node_modules/negotiator/index.js +0 -83
  335. package/dist/node_modules/negotiator/lib/charset.js +0 -169
  336. package/dist/node_modules/negotiator/lib/encoding.js +0 -205
  337. package/dist/node_modules/negotiator/lib/language.js +0 -179
  338. package/dist/node_modules/negotiator/lib/mediaType.js +0 -294
  339. package/dist/node_modules/negotiator/package.json +0 -43
  340. package/dist/node_modules/p-map/index.js +0 -283
  341. package/dist/node_modules/p-map/license +0 -9
  342. package/dist/node_modules/p-map/package.json +0 -57
  343. package/dist/node_modules/path-scurry/dist/commonjs/index.js +0 -2018
  344. package/dist/node_modules/path-scurry/dist/commonjs/package.json +0 -3
  345. package/dist/node_modules/path-scurry/dist/esm/index.js +0 -1983
  346. package/dist/node_modules/path-scurry/dist/esm/package.json +0 -3
  347. package/dist/node_modules/path-scurry/package.json +0 -72
  348. package/dist/node_modules/safer-buffer/dangerous.js +0 -58
  349. package/dist/node_modules/safer-buffer/package.json +0 -34
  350. package/dist/node_modules/safer-buffer/safer.js +0 -77
  351. package/dist/node_modules/safer-buffer/tests.js +0 -406
  352. package/dist/node_modules/smart-buffer/.prettierrc.yaml +0 -5
  353. package/dist/node_modules/smart-buffer/LICENSE +0 -20
  354. package/dist/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
  355. package/dist/node_modules/smart-buffer/build/utils.js +0 -108
  356. package/dist/node_modules/smart-buffer/package.json +0 -79
  357. package/dist/node_modules/socks/.eslintrc.cjs +0 -11
  358. package/dist/node_modules/socks/.prettierrc.yaml +0 -7
  359. package/dist/node_modules/socks/LICENSE +0 -20
  360. package/dist/node_modules/socks/build/client/socksclient.js +0 -793
  361. package/dist/node_modules/socks/build/common/constants.js +0 -108
  362. package/dist/node_modules/socks/build/common/helpers.js +0 -167
  363. package/dist/node_modules/socks/build/common/receivebuffer.js +0 -43
  364. package/dist/node_modules/socks/build/common/util.js +0 -25
  365. package/dist/node_modules/socks/build/index.js +0 -18
  366. package/dist/node_modules/socks/package.json +0 -58
  367. package/dist/node_modules/socks-proxy-agent/LICENSE +0 -22
  368. package/dist/node_modules/socks-proxy-agent/dist/index.js +0 -195
  369. package/dist/node_modules/socks-proxy-agent/package.json +0 -142
  370. package/dist/node_modules/ssri/lib/index.js +0 -550
  371. package/dist/node_modules/ssri/package.json +0 -66
  372. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +0 -3
  373. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +0 -3
  374. package/dist/node_modules/tar/node_modules/yallist/package.json +0 -68
  375. package/dist/node_modules/yallist/LICENSE +0 -15
  376. package/dist/node_modules/yallist/iterator.js +0 -8
  377. package/dist/node_modules/yallist/yallist.js +0 -426
  378. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js +0 -0
  379. /package/dist/node_modules/{balanced-match → yallist}/dist/commonjs/package.json +0 -0
  380. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js +0 -0
  381. /package/dist/node_modules/{balanced-match → yallist}/dist/esm/package.json +0 -0
@@ -0,0 +1,1037 @@
1
+ /* globals AbortController */
2
+
3
+ 'use strict'
4
+
5
+ const { extractBody, mixinBody, cloneBody, bodyUnusable } = require('./body')
6
+ const { Headers, fill: fillHeaders, HeadersList, setHeadersGuard, getHeadersGuard, setHeadersList, getHeadersList } = require('./headers')
7
+ const { FinalizationRegistry } = require('./dispatcher-weakref')()
8
+ const util = require('../../core/util')
9
+ const nodeUtil = require('node:util')
10
+ const {
11
+ isValidHTTPToken,
12
+ sameOrigin,
13
+ environmentSettingsObject
14
+ } = require('./util')
15
+ const {
16
+ forbiddenMethodsSet,
17
+ corsSafeListedMethodsSet,
18
+ referrerPolicy,
19
+ requestRedirect,
20
+ requestMode,
21
+ requestCredentials,
22
+ requestCache,
23
+ requestDuplex
24
+ } = require('./constants')
25
+ const { kEnumerableProperty, normalizedMethodRecordsBase, normalizedMethodRecords } = util
26
+ const { kHeaders, kSignal, kState, kDispatcher } = require('./symbols')
27
+ const { webidl } = require('./webidl')
28
+ const { URLSerializer } = require('./data-url')
29
+ const { kConstruct } = require('../../core/symbols')
30
+ const assert = require('node:assert')
31
+ const { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require('node:events')
32
+
33
+ const kAbortController = Symbol('abortController')
34
+
35
+ const requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
36
+ signal.removeEventListener('abort', abort)
37
+ })
38
+
39
+ const dependentControllerMap = new WeakMap()
40
+
41
+ function buildAbort (acRef) {
42
+ return abort
43
+
44
+ function abort () {
45
+ const ac = acRef.deref()
46
+ if (ac !== undefined) {
47
+ // Currently, there is a problem with FinalizationRegistry.
48
+ // https://github.com/nodejs/node/issues/49344
49
+ // https://github.com/nodejs/node/issues/47748
50
+ // In the case of abort, the first step is to unregister from it.
51
+ // If the controller can refer to it, it is still registered.
52
+ // It will be removed in the future.
53
+ requestFinalizer.unregister(abort)
54
+
55
+ // Unsubscribe a listener.
56
+ // FinalizationRegistry will no longer be called, so this must be done.
57
+ this.removeEventListener('abort', abort)
58
+
59
+ ac.abort(this.reason)
60
+
61
+ const controllerList = dependentControllerMap.get(ac.signal)
62
+
63
+ if (controllerList !== undefined) {
64
+ if (controllerList.size !== 0) {
65
+ for (const ref of controllerList) {
66
+ const ctrl = ref.deref()
67
+ if (ctrl !== undefined) {
68
+ ctrl.abort(this.reason)
69
+ }
70
+ }
71
+ controllerList.clear()
72
+ }
73
+ dependentControllerMap.delete(ac.signal)
74
+ }
75
+ }
76
+ }
77
+ }
78
+
79
+ let patchMethodWarning = false
80
+
81
+ // https://fetch.spec.whatwg.org/#request-class
82
+ class Request {
83
+ // https://fetch.spec.whatwg.org/#dom-request
84
+ constructor (input, init = {}) {
85
+ webidl.util.markAsUncloneable(this)
86
+ if (input === kConstruct) {
87
+ return
88
+ }
89
+
90
+ const prefix = 'Request constructor'
91
+ webidl.argumentLengthCheck(arguments, 1, prefix)
92
+
93
+ input = webidl.converters.RequestInfo(input, prefix, 'input')
94
+ init = webidl.converters.RequestInit(init, prefix, 'init')
95
+
96
+ // 1. Let request be null.
97
+ let request = null
98
+
99
+ // 2. Let fallbackMode be null.
100
+ let fallbackMode = null
101
+
102
+ // 3. Let baseURL be this’s relevant settings object’s API base URL.
103
+ const baseUrl = environmentSettingsObject.settingsObject.baseUrl
104
+
105
+ // 4. Let signal be null.
106
+ let signal = null
107
+
108
+ // 5. If input is a string, then:
109
+ if (typeof input === 'string') {
110
+ this[kDispatcher] = init.dispatcher
111
+
112
+ // 1. Let parsedURL be the result of parsing input with baseURL.
113
+ // 2. If parsedURL is failure, then throw a TypeError.
114
+ let parsedURL
115
+ try {
116
+ parsedURL = new URL(input, baseUrl)
117
+ } catch (err) {
118
+ throw new TypeError('Failed to parse URL from ' + input, { cause: err })
119
+ }
120
+
121
+ // 3. If parsedURL includes credentials, then throw a TypeError.
122
+ if (parsedURL.username || parsedURL.password) {
123
+ throw new TypeError(
124
+ 'Request cannot be constructed from a URL that includes credentials: ' +
125
+ input
126
+ )
127
+ }
128
+
129
+ // 4. Set request to a new request whose URL is parsedURL.
130
+ request = makeRequest({ urlList: [parsedURL] })
131
+
132
+ // 5. Set fallbackMode to "cors".
133
+ fallbackMode = 'cors'
134
+ } else {
135
+ this[kDispatcher] = init.dispatcher || input[kDispatcher]
136
+
137
+ // 6. Otherwise:
138
+
139
+ // 7. Assert: input is a Request object.
140
+ assert(input instanceof Request)
141
+
142
+ // 8. Set request to input’s request.
143
+ request = input[kState]
144
+
145
+ // 9. Set signal to input’s signal.
146
+ signal = input[kSignal]
147
+ }
148
+
149
+ // 7. Let origin be this’s relevant settings object’s origin.
150
+ const origin = environmentSettingsObject.settingsObject.origin
151
+
152
+ // 8. Let window be "client".
153
+ let window = 'client'
154
+
155
+ // 9. If request’s window is an environment settings object and its origin
156
+ // is same origin with origin, then set window to request’s window.
157
+ if (
158
+ request.window?.constructor?.name === 'EnvironmentSettingsObject' &&
159
+ sameOrigin(request.window, origin)
160
+ ) {
161
+ window = request.window
162
+ }
163
+
164
+ // 10. If init["window"] exists and is non-null, then throw a TypeError.
165
+ if (init.window != null) {
166
+ throw new TypeError(`'window' option '${window}' must be null`)
167
+ }
168
+
169
+ // 11. If init["window"] exists, then set window to "no-window".
170
+ if ('window' in init) {
171
+ window = 'no-window'
172
+ }
173
+
174
+ // 12. Set request to a new request with the following properties:
175
+ request = makeRequest({
176
+ // URL request’s URL.
177
+ // undici implementation note: this is set as the first item in request's urlList in makeRequest
178
+ // method request’s method.
179
+ method: request.method,
180
+ // header list A copy of request’s header list.
181
+ // undici implementation note: headersList is cloned in makeRequest
182
+ headersList: request.headersList,
183
+ // unsafe-request flag Set.
184
+ unsafeRequest: request.unsafeRequest,
185
+ // client This’s relevant settings object.
186
+ client: environmentSettingsObject.settingsObject,
187
+ // window window.
188
+ window,
189
+ // priority request’s priority.
190
+ priority: request.priority,
191
+ // origin request’s origin. The propagation of the origin is only significant for navigation requests
192
+ // being handled by a service worker. In this scenario a request can have an origin that is different
193
+ // from the current client.
194
+ origin: request.origin,
195
+ // referrer request’s referrer.
196
+ referrer: request.referrer,
197
+ // referrer policy request’s referrer policy.
198
+ referrerPolicy: request.referrerPolicy,
199
+ // mode request’s mode.
200
+ mode: request.mode,
201
+ // credentials mode request’s credentials mode.
202
+ credentials: request.credentials,
203
+ // cache mode request’s cache mode.
204
+ cache: request.cache,
205
+ // redirect mode request’s redirect mode.
206
+ redirect: request.redirect,
207
+ // integrity metadata request’s integrity metadata.
208
+ integrity: request.integrity,
209
+ // keepalive request’s keepalive.
210
+ keepalive: request.keepalive,
211
+ // reload-navigation flag request’s reload-navigation flag.
212
+ reloadNavigation: request.reloadNavigation,
213
+ // history-navigation flag request’s history-navigation flag.
214
+ historyNavigation: request.historyNavigation,
215
+ // URL list A clone of request’s URL list.
216
+ urlList: [...request.urlList]
217
+ })
218
+
219
+ const initHasKey = Object.keys(init).length !== 0
220
+
221
+ // 13. If init is not empty, then:
222
+ if (initHasKey) {
223
+ // 1. If request’s mode is "navigate", then set it to "same-origin".
224
+ if (request.mode === 'navigate') {
225
+ request.mode = 'same-origin'
226
+ }
227
+
228
+ // 2. Unset request’s reload-navigation flag.
229
+ request.reloadNavigation = false
230
+
231
+ // 3. Unset request’s history-navigation flag.
232
+ request.historyNavigation = false
233
+
234
+ // 4. Set request’s origin to "client".
235
+ request.origin = 'client'
236
+
237
+ // 5. Set request’s referrer to "client"
238
+ request.referrer = 'client'
239
+
240
+ // 6. Set request’s referrer policy to the empty string.
241
+ request.referrerPolicy = ''
242
+
243
+ // 7. Set request’s URL to request’s current URL.
244
+ request.url = request.urlList[request.urlList.length - 1]
245
+
246
+ // 8. Set request’s URL list to « request’s URL ».
247
+ request.urlList = [request.url]
248
+ }
249
+
250
+ // 14. If init["referrer"] exists, then:
251
+ if (init.referrer !== undefined) {
252
+ // 1. Let referrer be init["referrer"].
253
+ const referrer = init.referrer
254
+
255
+ // 2. If referrer is the empty string, then set request’s referrer to "no-referrer".
256
+ if (referrer === '') {
257
+ request.referrer = 'no-referrer'
258
+ } else {
259
+ // 1. Let parsedReferrer be the result of parsing referrer with
260
+ // baseURL.
261
+ // 2. If parsedReferrer is failure, then throw a TypeError.
262
+ let parsedReferrer
263
+ try {
264
+ parsedReferrer = new URL(referrer, baseUrl)
265
+ } catch (err) {
266
+ throw new TypeError(`Referrer "${referrer}" is not a valid URL.`, { cause: err })
267
+ }
268
+
269
+ // 3. If one of the following is true
270
+ // - parsedReferrer’s scheme is "about" and path is the string "client"
271
+ // - parsedReferrer’s origin is not same origin with origin
272
+ // then set request’s referrer to "client".
273
+ if (
274
+ (parsedReferrer.protocol === 'about:' && parsedReferrer.hostname === 'client') ||
275
+ (origin && !sameOrigin(parsedReferrer, environmentSettingsObject.settingsObject.baseUrl))
276
+ ) {
277
+ request.referrer = 'client'
278
+ } else {
279
+ // 4. Otherwise, set request’s referrer to parsedReferrer.
280
+ request.referrer = parsedReferrer
281
+ }
282
+ }
283
+ }
284
+
285
+ // 15. If init["referrerPolicy"] exists, then set request’s referrer policy
286
+ // to it.
287
+ if (init.referrerPolicy !== undefined) {
288
+ request.referrerPolicy = init.referrerPolicy
289
+ }
290
+
291
+ // 16. Let mode be init["mode"] if it exists, and fallbackMode otherwise.
292
+ let mode
293
+ if (init.mode !== undefined) {
294
+ mode = init.mode
295
+ } else {
296
+ mode = fallbackMode
297
+ }
298
+
299
+ // 17. If mode is "navigate", then throw a TypeError.
300
+ if (mode === 'navigate') {
301
+ throw webidl.errors.exception({
302
+ header: 'Request constructor',
303
+ message: 'invalid request mode navigate.'
304
+ })
305
+ }
306
+
307
+ // 18. If mode is non-null, set request’s mode to mode.
308
+ if (mode != null) {
309
+ request.mode = mode
310
+ }
311
+
312
+ // 19. If init["credentials"] exists, then set request’s credentials mode
313
+ // to it.
314
+ if (init.credentials !== undefined) {
315
+ request.credentials = init.credentials
316
+ }
317
+
318
+ // 18. If init["cache"] exists, then set request’s cache mode to it.
319
+ if (init.cache !== undefined) {
320
+ request.cache = init.cache
321
+ }
322
+
323
+ // 21. If request’s cache mode is "only-if-cached" and request’s mode is
324
+ // not "same-origin", then throw a TypeError.
325
+ if (request.cache === 'only-if-cached' && request.mode !== 'same-origin') {
326
+ throw new TypeError(
327
+ "'only-if-cached' can be set only with 'same-origin' mode"
328
+ )
329
+ }
330
+
331
+ // 22. If init["redirect"] exists, then set request’s redirect mode to it.
332
+ if (init.redirect !== undefined) {
333
+ request.redirect = init.redirect
334
+ }
335
+
336
+ // 23. If init["integrity"] exists, then set request’s integrity metadata to it.
337
+ if (init.integrity != null) {
338
+ request.integrity = String(init.integrity)
339
+ }
340
+
341
+ // 24. If init["keepalive"] exists, then set request’s keepalive to it.
342
+ if (init.keepalive !== undefined) {
343
+ request.keepalive = Boolean(init.keepalive)
344
+ }
345
+
346
+ // 25. If init["method"] exists, then:
347
+ if (init.method !== undefined) {
348
+ // 1. Let method be init["method"].
349
+ let method = init.method
350
+
351
+ const mayBeNormalized = normalizedMethodRecords[method]
352
+
353
+ if (mayBeNormalized !== undefined) {
354
+ // Note: Bypass validation DELETE, GET, HEAD, OPTIONS, POST, PUT, PATCH and these lowercase ones
355
+ request.method = mayBeNormalized
356
+ } else {
357
+ // 2. If method is not a method or method is a forbidden method, then
358
+ // throw a TypeError.
359
+ if (!isValidHTTPToken(method)) {
360
+ throw new TypeError(`'${method}' is not a valid HTTP method.`)
361
+ }
362
+
363
+ const upperCase = method.toUpperCase()
364
+
365
+ if (forbiddenMethodsSet.has(upperCase)) {
366
+ throw new TypeError(`'${method}' HTTP method is unsupported.`)
367
+ }
368
+
369
+ // 3. Normalize method.
370
+ // https://fetch.spec.whatwg.org/#concept-method-normalize
371
+ // Note: must be in uppercase
372
+ method = normalizedMethodRecordsBase[upperCase] ?? method
373
+
374
+ // 4. Set request’s method to method.
375
+ request.method = method
376
+ }
377
+
378
+ if (!patchMethodWarning && request.method === 'patch') {
379
+ process.emitWarning('Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.', {
380
+ code: 'UNDICI-FETCH-patch'
381
+ })
382
+
383
+ patchMethodWarning = true
384
+ }
385
+ }
386
+
387
+ // 26. If init["signal"] exists, then set signal to it.
388
+ if (init.signal !== undefined) {
389
+ signal = init.signal
390
+ }
391
+
392
+ // 27. Set this’s request to request.
393
+ this[kState] = request
394
+
395
+ // 28. Set this’s signal to a new AbortSignal object with this’s relevant
396
+ // Realm.
397
+ // TODO: could this be simplified with AbortSignal.any
398
+ // (https://dom.spec.whatwg.org/#dom-abortsignal-any)
399
+ const ac = new AbortController()
400
+ this[kSignal] = ac.signal
401
+
402
+ // 29. If signal is not null, then make this’s signal follow signal.
403
+ if (signal != null) {
404
+ if (
405
+ !signal ||
406
+ typeof signal.aborted !== 'boolean' ||
407
+ typeof signal.addEventListener !== 'function'
408
+ ) {
409
+ throw new TypeError(
410
+ "Failed to construct 'Request': member signal is not of type AbortSignal."
411
+ )
412
+ }
413
+
414
+ if (signal.aborted) {
415
+ ac.abort(signal.reason)
416
+ } else {
417
+ // Keep a strong ref to ac while request object
418
+ // is alive. This is needed to prevent AbortController
419
+ // from being prematurely garbage collected.
420
+ // See, https://github.com/nodejs/undici/issues/1926.
421
+ this[kAbortController] = ac
422
+
423
+ const acRef = new WeakRef(ac)
424
+ const abort = buildAbort(acRef)
425
+
426
+ // Third-party AbortControllers may not work with these.
427
+ // See, https://github.com/nodejs/undici/pull/1910#issuecomment-1464495619.
428
+ try {
429
+ // If the max amount of listeners is equal to the default, increase it
430
+ // This is only available in node >= v19.9.0
431
+ if (typeof getMaxListeners === 'function' && getMaxListeners(signal) === defaultMaxListeners) {
432
+ setMaxListeners(1500, signal)
433
+ } else if (getEventListeners(signal, 'abort').length >= defaultMaxListeners) {
434
+ setMaxListeners(1500, signal)
435
+ }
436
+ } catch {}
437
+
438
+ util.addAbortListener(signal, abort)
439
+ // The third argument must be a registry key to be unregistered.
440
+ // Without it, you cannot unregister.
441
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry
442
+ // abort is used as the unregister key. (because it is unique)
443
+ requestFinalizer.register(ac, { signal, abort }, abort)
444
+ }
445
+ }
446
+
447
+ // 30. Set this’s headers to a new Headers object with this’s relevant
448
+ // Realm, whose header list is request’s header list and guard is
449
+ // "request".
450
+ this[kHeaders] = new Headers(kConstruct)
451
+ setHeadersList(this[kHeaders], request.headersList)
452
+ setHeadersGuard(this[kHeaders], 'request')
453
+
454
+ // 31. If this’s request’s mode is "no-cors", then:
455
+ if (mode === 'no-cors') {
456
+ // 1. If this’s request’s method is not a CORS-safelisted method,
457
+ // then throw a TypeError.
458
+ if (!corsSafeListedMethodsSet.has(request.method)) {
459
+ throw new TypeError(
460
+ `'${request.method} is unsupported in no-cors mode.`
461
+ )
462
+ }
463
+
464
+ // 2. Set this’s headers’s guard to "request-no-cors".
465
+ setHeadersGuard(this[kHeaders], 'request-no-cors')
466
+ }
467
+
468
+ // 32. If init is not empty, then:
469
+ if (initHasKey) {
470
+ /** @type {HeadersList} */
471
+ const headersList = getHeadersList(this[kHeaders])
472
+ // 1. Let headers be a copy of this’s headers and its associated header
473
+ // list.
474
+ // 2. If init["headers"] exists, then set headers to init["headers"].
475
+ const headers = init.headers !== undefined ? init.headers : new HeadersList(headersList)
476
+
477
+ // 3. Empty this’s headers’s header list.
478
+ headersList.clear()
479
+
480
+ // 4. If headers is a Headers object, then for each header in its header
481
+ // list, append header’s name/header’s value to this’s headers.
482
+ if (headers instanceof HeadersList) {
483
+ for (const { name, value } of headers.rawValues()) {
484
+ headersList.append(name, value, false)
485
+ }
486
+ // Note: Copy the `set-cookie` meta-data.
487
+ headersList.cookies = headers.cookies
488
+ } else {
489
+ // 5. Otherwise, fill this’s headers with headers.
490
+ fillHeaders(this[kHeaders], headers)
491
+ }
492
+ }
493
+
494
+ // 33. Let inputBody be input’s request’s body if input is a Request
495
+ // object; otherwise null.
496
+ const inputBody = input instanceof Request ? input[kState].body : null
497
+
498
+ // 34. If either init["body"] exists and is non-null or inputBody is
499
+ // non-null, and request’s method is `GET` or `HEAD`, then throw a
500
+ // TypeError.
501
+ if (
502
+ (init.body != null || inputBody != null) &&
503
+ (request.method === 'GET' || request.method === 'HEAD')
504
+ ) {
505
+ throw new TypeError('Request with GET/HEAD method cannot have body.')
506
+ }
507
+
508
+ // 35. Let initBody be null.
509
+ let initBody = null
510
+
511
+ // 36. If init["body"] exists and is non-null, then:
512
+ if (init.body != null) {
513
+ // 1. Let Content-Type be null.
514
+ // 2. Set initBody and Content-Type to the result of extracting
515
+ // init["body"], with keepalive set to request’s keepalive.
516
+ const [extractedBody, contentType] = extractBody(
517
+ init.body,
518
+ request.keepalive
519
+ )
520
+ initBody = extractedBody
521
+
522
+ // 3, If Content-Type is non-null and this’s headers’s header list does
523
+ // not contain `Content-Type`, then append `Content-Type`/Content-Type to
524
+ // this’s headers.
525
+ if (contentType && !getHeadersList(this[kHeaders]).contains('content-type', true)) {
526
+ this[kHeaders].append('content-type', contentType)
527
+ }
528
+ }
529
+
530
+ // 37. Let inputOrInitBody be initBody if it is non-null; otherwise
531
+ // inputBody.
532
+ const inputOrInitBody = initBody ?? inputBody
533
+
534
+ // 38. If inputOrInitBody is non-null and inputOrInitBody’s source is
535
+ // null, then:
536
+ if (inputOrInitBody != null && inputOrInitBody.source == null) {
537
+ // 1. If initBody is non-null and init["duplex"] does not exist,
538
+ // then throw a TypeError.
539
+ if (initBody != null && init.duplex == null) {
540
+ throw new TypeError('RequestInit: duplex option is required when sending a body.')
541
+ }
542
+
543
+ // 2. If this’s request’s mode is neither "same-origin" nor "cors",
544
+ // then throw a TypeError.
545
+ if (request.mode !== 'same-origin' && request.mode !== 'cors') {
546
+ throw new TypeError(
547
+ 'If request is made from ReadableStream, mode should be "same-origin" or "cors"'
548
+ )
549
+ }
550
+
551
+ // 3. Set this’s request’s use-CORS-preflight flag.
552
+ request.useCORSPreflightFlag = true
553
+ }
554
+
555
+ // 39. Let finalBody be inputOrInitBody.
556
+ let finalBody = inputOrInitBody
557
+
558
+ // 40. If initBody is null and inputBody is non-null, then:
559
+ if (initBody == null && inputBody != null) {
560
+ // 1. If input is unusable, then throw a TypeError.
561
+ if (bodyUnusable(input)) {
562
+ throw new TypeError(
563
+ 'Cannot construct a Request with a Request object that has already been used.'
564
+ )
565
+ }
566
+
567
+ // 2. Set finalBody to the result of creating a proxy for inputBody.
568
+ // https://streams.spec.whatwg.org/#readablestream-create-a-proxy
569
+ const identityTransform = new TransformStream()
570
+ inputBody.stream.pipeThrough(identityTransform)
571
+ finalBody = {
572
+ source: inputBody.source,
573
+ length: inputBody.length,
574
+ stream: identityTransform.readable
575
+ }
576
+ }
577
+
578
+ // 41. Set this’s request’s body to finalBody.
579
+ this[kState].body = finalBody
580
+ }
581
+
582
+ // Returns request’s HTTP method, which is "GET" by default.
583
+ get method () {
584
+ webidl.brandCheck(this, Request)
585
+
586
+ // The method getter steps are to return this’s request’s method.
587
+ return this[kState].method
588
+ }
589
+
590
+ // Returns the URL of request as a string.
591
+ get url () {
592
+ webidl.brandCheck(this, Request)
593
+
594
+ // The url getter steps are to return this’s request’s URL, serialized.
595
+ return URLSerializer(this[kState].url)
596
+ }
597
+
598
+ // Returns a Headers object consisting of the headers associated with request.
599
+ // Note that headers added in the network layer by the user agent will not
600
+ // be accounted for in this object, e.g., the "Host" header.
601
+ get headers () {
602
+ webidl.brandCheck(this, Request)
603
+
604
+ // The headers getter steps are to return this’s headers.
605
+ return this[kHeaders]
606
+ }
607
+
608
+ // Returns the kind of resource requested by request, e.g., "document"
609
+ // or "script".
610
+ get destination () {
611
+ webidl.brandCheck(this, Request)
612
+
613
+ // The destination getter are to return this’s request’s destination.
614
+ return this[kState].destination
615
+ }
616
+
617
+ // Returns the referrer of request. Its value can be a same-origin URL if
618
+ // explicitly set in init, the empty string to indicate no referrer, and
619
+ // "about:client" when defaulting to the global’s default. This is used
620
+ // during fetching to determine the value of the `Referer` header of the
621
+ // request being made.
622
+ get referrer () {
623
+ webidl.brandCheck(this, Request)
624
+
625
+ // 1. If this’s request’s referrer is "no-referrer", then return the
626
+ // empty string.
627
+ if (this[kState].referrer === 'no-referrer') {
628
+ return ''
629
+ }
630
+
631
+ // 2. If this’s request’s referrer is "client", then return
632
+ // "about:client".
633
+ if (this[kState].referrer === 'client') {
634
+ return 'about:client'
635
+ }
636
+
637
+ // Return this’s request’s referrer, serialized.
638
+ return this[kState].referrer.toString()
639
+ }
640
+
641
+ // Returns the referrer policy associated with request.
642
+ // This is used during fetching to compute the value of the request’s
643
+ // referrer.
644
+ get referrerPolicy () {
645
+ webidl.brandCheck(this, Request)
646
+
647
+ // The referrerPolicy getter steps are to return this’s request’s referrer policy.
648
+ return this[kState].referrerPolicy
649
+ }
650
+
651
+ // Returns the mode associated with request, which is a string indicating
652
+ // whether the request will use CORS, or will be restricted to same-origin
653
+ // URLs.
654
+ get mode () {
655
+ webidl.brandCheck(this, Request)
656
+
657
+ // The mode getter steps are to return this’s request’s mode.
658
+ return this[kState].mode
659
+ }
660
+
661
+ // Returns the credentials mode associated with request,
662
+ // which is a string indicating whether credentials will be sent with the
663
+ // request always, never, or only when sent to a same-origin URL.
664
+ get credentials () {
665
+ // The credentials getter steps are to return this’s request’s credentials mode.
666
+ return this[kState].credentials
667
+ }
668
+
669
+ // Returns the cache mode associated with request,
670
+ // which is a string indicating how the request will
671
+ // interact with the browser’s cache when fetching.
672
+ get cache () {
673
+ webidl.brandCheck(this, Request)
674
+
675
+ // The cache getter steps are to return this’s request’s cache mode.
676
+ return this[kState].cache
677
+ }
678
+
679
+ // Returns the redirect mode associated with request,
680
+ // which is a string indicating how redirects for the
681
+ // request will be handled during fetching. A request
682
+ // will follow redirects by default.
683
+ get redirect () {
684
+ webidl.brandCheck(this, Request)
685
+
686
+ // The redirect getter steps are to return this’s request’s redirect mode.
687
+ return this[kState].redirect
688
+ }
689
+
690
+ // Returns request’s subresource integrity metadata, which is a
691
+ // cryptographic hash of the resource being fetched. Its value
692
+ // consists of multiple hashes separated by whitespace. [SRI]
693
+ get integrity () {
694
+ webidl.brandCheck(this, Request)
695
+
696
+ // The integrity getter steps are to return this’s request’s integrity
697
+ // metadata.
698
+ return this[kState].integrity
699
+ }
700
+
701
+ // Returns a boolean indicating whether or not request can outlive the
702
+ // global in which it was created.
703
+ get keepalive () {
704
+ webidl.brandCheck(this, Request)
705
+
706
+ // The keepalive getter steps are to return this’s request’s keepalive.
707
+ return this[kState].keepalive
708
+ }
709
+
710
+ // Returns a boolean indicating whether or not request is for a reload
711
+ // navigation.
712
+ get isReloadNavigation () {
713
+ webidl.brandCheck(this, Request)
714
+
715
+ // The isReloadNavigation getter steps are to return true if this’s
716
+ // request’s reload-navigation flag is set; otherwise false.
717
+ return this[kState].reloadNavigation
718
+ }
719
+
720
+ // Returns a boolean indicating whether or not request is for a history
721
+ // navigation (a.k.a. back-forward navigation).
722
+ get isHistoryNavigation () {
723
+ webidl.brandCheck(this, Request)
724
+
725
+ // The isHistoryNavigation getter steps are to return true if this’s request’s
726
+ // history-navigation flag is set; otherwise false.
727
+ return this[kState].historyNavigation
728
+ }
729
+
730
+ // Returns the signal associated with request, which is an AbortSignal
731
+ // object indicating whether or not request has been aborted, and its
732
+ // abort event handler.
733
+ get signal () {
734
+ webidl.brandCheck(this, Request)
735
+
736
+ // The signal getter steps are to return this’s signal.
737
+ return this[kSignal]
738
+ }
739
+
740
+ get body () {
741
+ webidl.brandCheck(this, Request)
742
+
743
+ return this[kState].body ? this[kState].body.stream : null
744
+ }
745
+
746
+ get bodyUsed () {
747
+ webidl.brandCheck(this, Request)
748
+
749
+ return !!this[kState].body && util.isDisturbed(this[kState].body.stream)
750
+ }
751
+
752
+ get duplex () {
753
+ webidl.brandCheck(this, Request)
754
+
755
+ return 'half'
756
+ }
757
+
758
+ // Returns a clone of request.
759
+ clone () {
760
+ webidl.brandCheck(this, Request)
761
+
762
+ // 1. If this is unusable, then throw a TypeError.
763
+ if (bodyUnusable(this)) {
764
+ throw new TypeError('unusable')
765
+ }
766
+
767
+ // 2. Let clonedRequest be the result of cloning this’s request.
768
+ const clonedRequest = cloneRequest(this[kState])
769
+
770
+ // 3. Let clonedRequestObject be the result of creating a Request object,
771
+ // given clonedRequest, this’s headers’s guard, and this’s relevant Realm.
772
+ // 4. Make clonedRequestObject’s signal follow this’s signal.
773
+ const ac = new AbortController()
774
+ if (this.signal.aborted) {
775
+ ac.abort(this.signal.reason)
776
+ } else {
777
+ let list = dependentControllerMap.get(this.signal)
778
+ if (list === undefined) {
779
+ list = new Set()
780
+ dependentControllerMap.set(this.signal, list)
781
+ }
782
+ const acRef = new WeakRef(ac)
783
+ list.add(acRef)
784
+ util.addAbortListener(
785
+ ac.signal,
786
+ buildAbort(acRef)
787
+ )
788
+ }
789
+
790
+ // 4. Return clonedRequestObject.
791
+ return fromInnerRequest(clonedRequest, ac.signal, getHeadersGuard(this[kHeaders]))
792
+ }
793
+
794
+ [nodeUtil.inspect.custom] (depth, options) {
795
+ if (options.depth === null) {
796
+ options.depth = 2
797
+ }
798
+
799
+ options.colors ??= true
800
+
801
+ const properties = {
802
+ method: this.method,
803
+ url: this.url,
804
+ headers: this.headers,
805
+ destination: this.destination,
806
+ referrer: this.referrer,
807
+ referrerPolicy: this.referrerPolicy,
808
+ mode: this.mode,
809
+ credentials: this.credentials,
810
+ cache: this.cache,
811
+ redirect: this.redirect,
812
+ integrity: this.integrity,
813
+ keepalive: this.keepalive,
814
+ isReloadNavigation: this.isReloadNavigation,
815
+ isHistoryNavigation: this.isHistoryNavigation,
816
+ signal: this.signal
817
+ }
818
+
819
+ return `Request ${nodeUtil.formatWithOptions(options, properties)}`
820
+ }
821
+ }
822
+
823
+ mixinBody(Request)
824
+
825
+ // https://fetch.spec.whatwg.org/#requests
826
+ function makeRequest (init) {
827
+ return {
828
+ method: init.method ?? 'GET',
829
+ localURLsOnly: init.localURLsOnly ?? false,
830
+ unsafeRequest: init.unsafeRequest ?? false,
831
+ body: init.body ?? null,
832
+ client: init.client ?? null,
833
+ reservedClient: init.reservedClient ?? null,
834
+ replacesClientId: init.replacesClientId ?? '',
835
+ window: init.window ?? 'client',
836
+ keepalive: init.keepalive ?? false,
837
+ serviceWorkers: init.serviceWorkers ?? 'all',
838
+ initiator: init.initiator ?? '',
839
+ destination: init.destination ?? '',
840
+ priority: init.priority ?? null,
841
+ origin: init.origin ?? 'client',
842
+ policyContainer: init.policyContainer ?? 'client',
843
+ referrer: init.referrer ?? 'client',
844
+ referrerPolicy: init.referrerPolicy ?? '',
845
+ mode: init.mode ?? 'no-cors',
846
+ useCORSPreflightFlag: init.useCORSPreflightFlag ?? false,
847
+ credentials: init.credentials ?? 'same-origin',
848
+ useCredentials: init.useCredentials ?? false,
849
+ cache: init.cache ?? 'default',
850
+ redirect: init.redirect ?? 'follow',
851
+ integrity: init.integrity ?? '',
852
+ cryptoGraphicsNonceMetadata: init.cryptoGraphicsNonceMetadata ?? '',
853
+ parserMetadata: init.parserMetadata ?? '',
854
+ reloadNavigation: init.reloadNavigation ?? false,
855
+ historyNavigation: init.historyNavigation ?? false,
856
+ userActivation: init.userActivation ?? false,
857
+ taintedOrigin: init.taintedOrigin ?? false,
858
+ redirectCount: init.redirectCount ?? 0,
859
+ responseTainting: init.responseTainting ?? 'basic',
860
+ preventNoCacheCacheControlHeaderModification: init.preventNoCacheCacheControlHeaderModification ?? false,
861
+ done: init.done ?? false,
862
+ timingAllowFailed: init.timingAllowFailed ?? false,
863
+ urlList: init.urlList,
864
+ url: init.urlList[0],
865
+ headersList: init.headersList
866
+ ? new HeadersList(init.headersList)
867
+ : new HeadersList()
868
+ }
869
+ }
870
+
871
+ // https://fetch.spec.whatwg.org/#concept-request-clone
872
+ function cloneRequest (request) {
873
+ // To clone a request request, run these steps:
874
+
875
+ // 1. Let newRequest be a copy of request, except for its body.
876
+ const newRequest = makeRequest({ ...request, body: null })
877
+
878
+ // 2. If request’s body is non-null, set newRequest’s body to the
879
+ // result of cloning request’s body.
880
+ if (request.body != null) {
881
+ newRequest.body = cloneBody(newRequest, request.body)
882
+ }
883
+
884
+ // 3. Return newRequest.
885
+ return newRequest
886
+ }
887
+
888
+ /**
889
+ * @see https://fetch.spec.whatwg.org/#request-create
890
+ * @param {any} innerRequest
891
+ * @param {AbortSignal} signal
892
+ * @param {'request' | 'immutable' | 'request-no-cors' | 'response' | 'none'} guard
893
+ * @returns {Request}
894
+ */
895
+ function fromInnerRequest (innerRequest, signal, guard) {
896
+ const request = new Request(kConstruct)
897
+ request[kState] = innerRequest
898
+ request[kSignal] = signal
899
+ request[kHeaders] = new Headers(kConstruct)
900
+ setHeadersList(request[kHeaders], innerRequest.headersList)
901
+ setHeadersGuard(request[kHeaders], guard)
902
+ return request
903
+ }
904
+
905
+ Object.defineProperties(Request.prototype, {
906
+ method: kEnumerableProperty,
907
+ url: kEnumerableProperty,
908
+ headers: kEnumerableProperty,
909
+ redirect: kEnumerableProperty,
910
+ clone: kEnumerableProperty,
911
+ signal: kEnumerableProperty,
912
+ duplex: kEnumerableProperty,
913
+ destination: kEnumerableProperty,
914
+ body: kEnumerableProperty,
915
+ bodyUsed: kEnumerableProperty,
916
+ isHistoryNavigation: kEnumerableProperty,
917
+ isReloadNavigation: kEnumerableProperty,
918
+ keepalive: kEnumerableProperty,
919
+ integrity: kEnumerableProperty,
920
+ cache: kEnumerableProperty,
921
+ credentials: kEnumerableProperty,
922
+ attribute: kEnumerableProperty,
923
+ referrerPolicy: kEnumerableProperty,
924
+ referrer: kEnumerableProperty,
925
+ mode: kEnumerableProperty,
926
+ [Symbol.toStringTag]: {
927
+ value: 'Request',
928
+ configurable: true
929
+ }
930
+ })
931
+
932
+ webidl.converters.Request = webidl.interfaceConverter(
933
+ Request
934
+ )
935
+
936
+ // https://fetch.spec.whatwg.org/#requestinfo
937
+ webidl.converters.RequestInfo = function (V, prefix, argument) {
938
+ if (typeof V === 'string') {
939
+ return webidl.converters.USVString(V, prefix, argument)
940
+ }
941
+
942
+ if (V instanceof Request) {
943
+ return webidl.converters.Request(V, prefix, argument)
944
+ }
945
+
946
+ return webidl.converters.USVString(V, prefix, argument)
947
+ }
948
+
949
+ webidl.converters.AbortSignal = webidl.interfaceConverter(
950
+ AbortSignal
951
+ )
952
+
953
+ // https://fetch.spec.whatwg.org/#requestinit
954
+ webidl.converters.RequestInit = webidl.dictionaryConverter([
955
+ {
956
+ key: 'method',
957
+ converter: webidl.converters.ByteString
958
+ },
959
+ {
960
+ key: 'headers',
961
+ converter: webidl.converters.HeadersInit
962
+ },
963
+ {
964
+ key: 'body',
965
+ converter: webidl.nullableConverter(
966
+ webidl.converters.BodyInit
967
+ )
968
+ },
969
+ {
970
+ key: 'referrer',
971
+ converter: webidl.converters.USVString
972
+ },
973
+ {
974
+ key: 'referrerPolicy',
975
+ converter: webidl.converters.DOMString,
976
+ // https://w3c.github.io/webappsec-referrer-policy/#referrer-policy
977
+ allowedValues: referrerPolicy
978
+ },
979
+ {
980
+ key: 'mode',
981
+ converter: webidl.converters.DOMString,
982
+ // https://fetch.spec.whatwg.org/#concept-request-mode
983
+ allowedValues: requestMode
984
+ },
985
+ {
986
+ key: 'credentials',
987
+ converter: webidl.converters.DOMString,
988
+ // https://fetch.spec.whatwg.org/#requestcredentials
989
+ allowedValues: requestCredentials
990
+ },
991
+ {
992
+ key: 'cache',
993
+ converter: webidl.converters.DOMString,
994
+ // https://fetch.spec.whatwg.org/#requestcache
995
+ allowedValues: requestCache
996
+ },
997
+ {
998
+ key: 'redirect',
999
+ converter: webidl.converters.DOMString,
1000
+ // https://fetch.spec.whatwg.org/#requestredirect
1001
+ allowedValues: requestRedirect
1002
+ },
1003
+ {
1004
+ key: 'integrity',
1005
+ converter: webidl.converters.DOMString
1006
+ },
1007
+ {
1008
+ key: 'keepalive',
1009
+ converter: webidl.converters.boolean
1010
+ },
1011
+ {
1012
+ key: 'signal',
1013
+ converter: webidl.nullableConverter(
1014
+ (signal) => webidl.converters.AbortSignal(
1015
+ signal,
1016
+ 'RequestInit',
1017
+ 'signal',
1018
+ { strict: false }
1019
+ )
1020
+ )
1021
+ },
1022
+ {
1023
+ key: 'window',
1024
+ converter: webidl.converters.any
1025
+ },
1026
+ {
1027
+ key: 'duplex',
1028
+ converter: webidl.converters.DOMString,
1029
+ allowedValues: requestDuplex
1030
+ },
1031
+ {
1032
+ key: 'dispatcher', // undici specific option
1033
+ converter: webidl.converters.any
1034
+ }
1035
+ ])
1036
+
1037
+ module.exports = { Request, makeRequest, fromInnerRequest, cloneRequest }