dep 1.0.0 → 1.1.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 (2909) hide show
  1. package/.claude/settings.local.json +25 -1
  2. package/bin/dep.js +63 -21
  3. package/lib/install/installer/bin.js +3 -3
  4. package/lib/install/installer/git.js +2 -2
  5. package/lib/install/installer/local.js +2 -2
  6. package/lib/install/installer/registry.js +10 -17
  7. package/lib/install/installer/remote.js +10 -17
  8. package/lib/install/installer.js +4 -4
  9. package/lib/install/resolver/fetcher.js +1 -1
  10. package/lib/install/resolver/fetchers/git.js +35 -52
  11. package/lib/install/resolver/fetchers/registry.js +21 -38
  12. package/lib/install/resolver/fetchers/remote.js +13 -19
  13. package/lib/install/resolver.js +2 -46
  14. package/lib/install/saver.js +6 -3
  15. package/lib/install.js +9 -15
  16. package/lib/lock/resolver/fetcher.js +1 -1
  17. package/lib/lock/resolver/fetchers/git.js +35 -52
  18. package/lib/lock/resolver/fetchers/registry.js +31 -48
  19. package/lib/lock/resolver/fetchers/remote.js +13 -19
  20. package/lib/lock/resolver.js +3 -49
  21. package/lib/run/runner.js +19 -22
  22. package/lib/utils/cmd-shim.js +203 -0
  23. package/lib/utils/fetch.js +27 -0
  24. package/lib/utils/git.js +1 -1
  25. package/lib/utils/node-gyp.js +21 -3
  26. package/lib/utils/npa.js +95 -0
  27. package/lib/utils/packument.js +14 -0
  28. package/lib/utils/path-key.js +10 -0
  29. package/lib/utils/pick-version.js +1 -1
  30. package/lib/utils/resolve-tree.js +133 -0
  31. package/lib/utils/semver.js +263 -0
  32. package/lib/utils/tar-fs.js +43 -0
  33. package/lib/utils/tar-parse.js +130 -0
  34. package/lib/utils/tar-stream.js +14 -0
  35. package/lib/utils/update-check.js +17 -0
  36. package/lib/utils/update-notifier.js +51 -0
  37. package/lib/utils/which.js +50 -0
  38. package/package.json +2 -33
  39. package/test/00-clean.js +4 -4
  40. package/test/11-install-save.js +30 -0
  41. package/test/40-node-gyp.js +64 -0
  42. package/test/zz-cleanup.js +4 -4
  43. package/lib/install/resolver/tree.js +0 -43
  44. package/lib/lock/resolver/tree.js +0 -43
  45. package/node_modules/@isaacs/fs-minipass/LICENSE +0 -15
  46. package/node_modules/@isaacs/fs-minipass/README.md +0 -71
  47. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts +0 -118
  48. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.d.ts.map +0 -1
  49. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +0 -430
  50. package/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js.map +0 -1
  51. package/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +0 -3
  52. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts +0 -118
  53. package/node_modules/@isaacs/fs-minipass/dist/esm/index.d.ts.map +0 -1
  54. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js +0 -420
  55. package/node_modules/@isaacs/fs-minipass/dist/esm/index.js.map +0 -1
  56. package/node_modules/@isaacs/fs-minipass/dist/esm/package.json +0 -3
  57. package/node_modules/@isaacs/fs-minipass/package.json +0 -72
  58. package/node_modules/@pnpm/config.env-replace/dist/env-replace.d.ts +0 -2
  59. package/node_modules/@pnpm/config.env-replace/dist/env-replace.docs.mdx +0 -18
  60. package/node_modules/@pnpm/config.env-replace/dist/env-replace.js +0 -30
  61. package/node_modules/@pnpm/config.env-replace/dist/env-replace.js.map +0 -1
  62. package/node_modules/@pnpm/config.env-replace/dist/env-replace.spec.d.ts +0 -1
  63. package/node_modules/@pnpm/config.env-replace/dist/env-replace.spec.js +0 -26
  64. package/node_modules/@pnpm/config.env-replace/dist/env-replace.spec.js.map +0 -1
  65. package/node_modules/@pnpm/config.env-replace/dist/index.d.ts +0 -1
  66. package/node_modules/@pnpm/config.env-replace/dist/index.js +0 -6
  67. package/node_modules/@pnpm/config.env-replace/dist/index.js.map +0 -1
  68. package/node_modules/@pnpm/config.env-replace/dist/preview-1680634751300.js +0 -7
  69. package/node_modules/@pnpm/config.env-replace/dist/tsconfig.json +0 -32
  70. package/node_modules/@pnpm/config.env-replace/env-replace.docs.mdx +0 -18
  71. package/node_modules/@pnpm/config.env-replace/env-replace.spec.ts +0 -27
  72. package/node_modules/@pnpm/config.env-replace/env-replace.ts +0 -28
  73. package/node_modules/@pnpm/config.env-replace/index.ts +0 -1
  74. package/node_modules/@pnpm/config.env-replace/package-tar/pnpm-config.env-replace-1.1.0.tgz +0 -0
  75. package/node_modules/@pnpm/config.env-replace/package.json +0 -31
  76. package/node_modules/@pnpm/config.env-replace/tsconfig.json +0 -32
  77. package/node_modules/@pnpm/config.env-replace/types/asset.d.ts +0 -29
  78. package/node_modules/@pnpm/config.env-replace/types/style.d.ts +0 -42
  79. package/node_modules/@pnpm/network.ca-file/ca-file.docs.mdx +0 -12
  80. package/node_modules/@pnpm/network.ca-file/ca-file.spec.ts +0 -20
  81. package/node_modules/@pnpm/network.ca-file/ca-file.ts +0 -16
  82. package/node_modules/@pnpm/network.ca-file/dist/ca-file.d.ts +0 -1
  83. package/node_modules/@pnpm/network.ca-file/dist/ca-file.docs.mdx +0 -12
  84. package/node_modules/@pnpm/network.ca-file/dist/ca-file.js +0 -25
  85. package/node_modules/@pnpm/network.ca-file/dist/ca-file.js.map +0 -1
  86. package/node_modules/@pnpm/network.ca-file/dist/ca-file.spec.d.ts +0 -1
  87. package/node_modules/@pnpm/network.ca-file/dist/ca-file.spec.js +0 -24
  88. package/node_modules/@pnpm/network.ca-file/dist/ca-file.spec.js.map +0 -1
  89. package/node_modules/@pnpm/network.ca-file/dist/fixtures/ca-file1.txt +0 -14
  90. package/node_modules/@pnpm/network.ca-file/dist/index.d.ts +0 -1
  91. package/node_modules/@pnpm/network.ca-file/dist/index.js +0 -18
  92. package/node_modules/@pnpm/network.ca-file/dist/index.js.map +0 -1
  93. package/node_modules/@pnpm/network.ca-file/dist/tsconfig.json +0 -32
  94. package/node_modules/@pnpm/network.ca-file/fixtures/ca-file1.txt +0 -14
  95. package/node_modules/@pnpm/network.ca-file/index.ts +0 -1
  96. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/LICENSE +0 -15
  97. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/README.md +0 -143
  98. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/clone.js +0 -23
  99. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/graceful-fs.js +0 -448
  100. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/legacy-streams.js +0 -118
  101. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/package.json +0 -50
  102. package/node_modules/@pnpm/network.ca-file/node_modules/graceful-fs/polyfills.js +0 -355
  103. package/node_modules/@pnpm/network.ca-file/package-tar/pnpm-network.ca-file-1.0.2.tgz +0 -0
  104. package/node_modules/@pnpm/network.ca-file/package.json +0 -34
  105. package/node_modules/@pnpm/network.ca-file/preview-1668994697977.js +0 -7
  106. package/node_modules/@pnpm/network.ca-file/tsconfig.json +0 -32
  107. package/node_modules/@pnpm/network.ca-file/types/asset.d.ts +0 -29
  108. package/node_modules/@pnpm/network.ca-file/types/style.d.ts +0 -42
  109. package/node_modules/@pnpm/npm-conf/index.js +0 -96
  110. package/node_modules/@pnpm/npm-conf/lib/conf.js +0 -196
  111. package/node_modules/@pnpm/npm-conf/lib/defaults.js +0 -176
  112. package/node_modules/@pnpm/npm-conf/lib/envKeyToSetting.js +0 -19
  113. package/node_modules/@pnpm/npm-conf/lib/envKeyToSetting.test.js +0 -50
  114. package/node_modules/@pnpm/npm-conf/lib/make.js +0 -99
  115. package/node_modules/@pnpm/npm-conf/lib/tsconfig.make-out.json +0 -14
  116. package/node_modules/@pnpm/npm-conf/lib/types.d.ts +0 -122
  117. package/node_modules/@pnpm/npm-conf/lib/types.js +0 -134
  118. package/node_modules/@pnpm/npm-conf/lib/util.js +0 -145
  119. package/node_modules/@pnpm/npm-conf/lib/util.test.js +0 -8
  120. package/node_modules/@pnpm/npm-conf/license +0 -9
  121. package/node_modules/@pnpm/npm-conf/package.json +0 -45
  122. package/node_modules/@pnpm/npm-conf/readme.md +0 -47
  123. package/node_modules/abbrev/LICENSE +0 -46
  124. package/node_modules/abbrev/README.md +0 -23
  125. package/node_modules/abbrev/lib/index.js +0 -53
  126. package/node_modules/abbrev/package.json +0 -42
  127. package/node_modules/ajv/.tonic_example.js +0 -20
  128. package/node_modules/ajv/LICENSE +0 -22
  129. package/node_modules/ajv/README.md +0 -1505
  130. package/node_modules/ajv/dist/ajv.bundle.js +0 -7201
  131. package/node_modules/ajv/dist/ajv.min.js +0 -3
  132. package/node_modules/ajv/dist/ajv.min.js.map +0 -1
  133. package/node_modules/ajv/lib/ajv.d.ts +0 -402
  134. package/node_modules/ajv/lib/ajv.js +0 -506
  135. package/node_modules/ajv/lib/cache.js +0 -26
  136. package/node_modules/ajv/lib/compile/async.js +0 -90
  137. package/node_modules/ajv/lib/compile/equal.js +0 -5
  138. package/node_modules/ajv/lib/compile/error_classes.js +0 -34
  139. package/node_modules/ajv/lib/compile/formats.js +0 -142
  140. package/node_modules/ajv/lib/compile/index.js +0 -389
  141. package/node_modules/ajv/lib/compile/resolve.js +0 -270
  142. package/node_modules/ajv/lib/compile/rules.js +0 -66
  143. package/node_modules/ajv/lib/compile/schema_obj.js +0 -9
  144. package/node_modules/ajv/lib/compile/ucs2length.js +0 -20
  145. package/node_modules/ajv/lib/compile/util.js +0 -239
  146. package/node_modules/ajv/lib/data.js +0 -49
  147. package/node_modules/ajv/lib/definition_schema.js +0 -37
  148. package/node_modules/ajv/lib/dot/_limit.jst +0 -113
  149. package/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
  150. package/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
  151. package/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
  152. package/node_modules/ajv/lib/dot/allOf.jst +0 -32
  153. package/node_modules/ajv/lib/dot/anyOf.jst +0 -46
  154. package/node_modules/ajv/lib/dot/coerce.def +0 -51
  155. package/node_modules/ajv/lib/dot/comment.jst +0 -9
  156. package/node_modules/ajv/lib/dot/const.jst +0 -11
  157. package/node_modules/ajv/lib/dot/contains.jst +0 -55
  158. package/node_modules/ajv/lib/dot/custom.jst +0 -191
  159. package/node_modules/ajv/lib/dot/defaults.def +0 -47
  160. package/node_modules/ajv/lib/dot/definitions.def +0 -203
  161. package/node_modules/ajv/lib/dot/dependencies.jst +0 -79
  162. package/node_modules/ajv/lib/dot/enum.jst +0 -30
  163. package/node_modules/ajv/lib/dot/errors.def +0 -194
  164. package/node_modules/ajv/lib/dot/format.jst +0 -106
  165. package/node_modules/ajv/lib/dot/if.jst +0 -73
  166. package/node_modules/ajv/lib/dot/items.jst +0 -98
  167. package/node_modules/ajv/lib/dot/missing.def +0 -39
  168. package/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
  169. package/node_modules/ajv/lib/dot/not.jst +0 -43
  170. package/node_modules/ajv/lib/dot/oneOf.jst +0 -54
  171. package/node_modules/ajv/lib/dot/pattern.jst +0 -25
  172. package/node_modules/ajv/lib/dot/properties.jst +0 -245
  173. package/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
  174. package/node_modules/ajv/lib/dot/ref.jst +0 -85
  175. package/node_modules/ajv/lib/dot/required.jst +0 -108
  176. package/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
  177. package/node_modules/ajv/lib/dot/validate.jst +0 -276
  178. package/node_modules/ajv/lib/dotjs/README.md +0 -3
  179. package/node_modules/ajv/lib/dotjs/_limit.js +0 -163
  180. package/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
  181. package/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
  182. package/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
  183. package/node_modules/ajv/lib/dotjs/allOf.js +0 -42
  184. package/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
  185. package/node_modules/ajv/lib/dotjs/comment.js +0 -14
  186. package/node_modules/ajv/lib/dotjs/const.js +0 -56
  187. package/node_modules/ajv/lib/dotjs/contains.js +0 -81
  188. package/node_modules/ajv/lib/dotjs/custom.js +0 -228
  189. package/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
  190. package/node_modules/ajv/lib/dotjs/enum.js +0 -66
  191. package/node_modules/ajv/lib/dotjs/format.js +0 -150
  192. package/node_modules/ajv/lib/dotjs/if.js +0 -103
  193. package/node_modules/ajv/lib/dotjs/index.js +0 -33
  194. package/node_modules/ajv/lib/dotjs/items.js +0 -140
  195. package/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
  196. package/node_modules/ajv/lib/dotjs/not.js +0 -84
  197. package/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
  198. package/node_modules/ajv/lib/dotjs/pattern.js +0 -85
  199. package/node_modules/ajv/lib/dotjs/properties.js +0 -335
  200. package/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
  201. package/node_modules/ajv/lib/dotjs/ref.js +0 -124
  202. package/node_modules/ajv/lib/dotjs/required.js +0 -270
  203. package/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
  204. package/node_modules/ajv/lib/dotjs/validate.js +0 -482
  205. package/node_modules/ajv/lib/keyword.js +0 -146
  206. package/node_modules/ajv/lib/refs/data.json +0 -17
  207. package/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
  208. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
  209. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
  210. package/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
  211. package/node_modules/ajv/package.json +0 -107
  212. package/node_modules/ajv/scripts/.eslintrc.yml +0 -3
  213. package/node_modules/ajv/scripts/bundle.js +0 -61
  214. package/node_modules/ajv/scripts/compile-dots.js +0 -73
  215. package/node_modules/ajv/scripts/info +0 -10
  216. package/node_modules/ajv/scripts/prepare-tests +0 -12
  217. package/node_modules/ajv/scripts/publish-built-version +0 -32
  218. package/node_modules/ajv/scripts/travis-gh-pages +0 -23
  219. package/node_modules/ansi-align/CHANGELOG.md +0 -58
  220. package/node_modules/ansi-align/LICENSE +0 -13
  221. package/node_modules/ansi-align/README.md +0 -80
  222. package/node_modules/ansi-align/index.js +0 -61
  223. package/node_modules/ansi-align/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  224. package/node_modules/ansi-align/node_modules/emoji-regex/README.md +0 -73
  225. package/node_modules/ansi-align/node_modules/emoji-regex/es2015/index.js +0 -6
  226. package/node_modules/ansi-align/node_modules/emoji-regex/es2015/text.js +0 -6
  227. package/node_modules/ansi-align/node_modules/emoji-regex/index.d.ts +0 -23
  228. package/node_modules/ansi-align/node_modules/emoji-regex/index.js +0 -6
  229. package/node_modules/ansi-align/node_modules/emoji-regex/package.json +0 -50
  230. package/node_modules/ansi-align/node_modules/emoji-regex/text.js +0 -6
  231. package/node_modules/ansi-align/node_modules/is-fullwidth-code-point/index.d.ts +0 -17
  232. package/node_modules/ansi-align/node_modules/is-fullwidth-code-point/index.js +0 -50
  233. package/node_modules/ansi-align/node_modules/is-fullwidth-code-point/license +0 -9
  234. package/node_modules/ansi-align/node_modules/is-fullwidth-code-point/package.json +0 -42
  235. package/node_modules/ansi-align/node_modules/is-fullwidth-code-point/readme.md +0 -39
  236. package/node_modules/ansi-align/node_modules/string-width/index.d.ts +0 -29
  237. package/node_modules/ansi-align/node_modules/string-width/index.js +0 -47
  238. package/node_modules/ansi-align/node_modules/string-width/license +0 -9
  239. package/node_modules/ansi-align/node_modules/string-width/package.json +0 -56
  240. package/node_modules/ansi-align/node_modules/string-width/readme.md +0 -50
  241. package/node_modules/ansi-align/package.json +0 -43
  242. package/node_modules/ansi-regex/index.d.ts +0 -37
  243. package/node_modules/ansi-regex/index.js +0 -10
  244. package/node_modules/ansi-regex/license +0 -9
  245. package/node_modules/ansi-regex/package.json +0 -55
  246. package/node_modules/ansi-regex/readme.md +0 -78
  247. package/node_modules/any-promise/.jshintrc +0 -4
  248. package/node_modules/any-promise/.npmignore +0 -6
  249. package/node_modules/any-promise/LICENSE +0 -19
  250. package/node_modules/any-promise/README.md +0 -37
  251. package/node_modules/any-promise/any-promise-shim.js +0 -1
  252. package/node_modules/any-promise/any-promise.js +0 -33
  253. package/node_modules/any-promise/package.json +0 -36
  254. package/node_modules/asn1/Jenkinsfile +0 -65
  255. package/node_modules/asn1/LICENSE +0 -19
  256. package/node_modules/asn1/README.md +0 -50
  257. package/node_modules/asn1/lib/ber/errors.js +0 -13
  258. package/node_modules/asn1/lib/ber/index.js +0 -27
  259. package/node_modules/asn1/lib/ber/reader.js +0 -262
  260. package/node_modules/asn1/lib/ber/types.js +0 -36
  261. package/node_modules/asn1/lib/ber/writer.js +0 -317
  262. package/node_modules/asn1/lib/index.js +0 -20
  263. package/node_modules/asn1/package.json +0 -31
  264. package/node_modules/assert-plus/AUTHORS +0 -6
  265. package/node_modules/assert-plus/CHANGES.md +0 -14
  266. package/node_modules/assert-plus/README.md +0 -162
  267. package/node_modules/assert-plus/assert.js +0 -211
  268. package/node_modules/assert-plus/package.json +0 -23
  269. package/node_modules/asynckit/LICENSE +0 -21
  270. package/node_modules/asynckit/README.md +0 -233
  271. package/node_modules/asynckit/bench.js +0 -76
  272. package/node_modules/asynckit/index.js +0 -6
  273. package/node_modules/asynckit/lib/abort.js +0 -29
  274. package/node_modules/asynckit/lib/async.js +0 -34
  275. package/node_modules/asynckit/lib/defer.js +0 -26
  276. package/node_modules/asynckit/lib/iterate.js +0 -75
  277. package/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  278. package/node_modules/asynckit/lib/readable_parallel.js +0 -25
  279. package/node_modules/asynckit/lib/readable_serial.js +0 -25
  280. package/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  281. package/node_modules/asynckit/lib/state.js +0 -37
  282. package/node_modules/asynckit/lib/streamify.js +0 -141
  283. package/node_modules/asynckit/lib/terminator.js +0 -29
  284. package/node_modules/asynckit/package.json +0 -63
  285. package/node_modules/asynckit/parallel.js +0 -43
  286. package/node_modules/asynckit/serial.js +0 -17
  287. package/node_modules/asynckit/serialOrdered.js +0 -75
  288. package/node_modules/asynckit/stream.js +0 -21
  289. package/node_modules/atomically/dist/constants.d.ts +0 -15
  290. package/node_modules/atomically/dist/constants.js +0 -19
  291. package/node_modules/atomically/dist/index.d.ts +0 -15
  292. package/node_modules/atomically/dist/index.js +0 -209
  293. package/node_modules/atomically/dist/types.d.ts +0 -27
  294. package/node_modules/atomically/dist/types.js +0 -2
  295. package/node_modules/atomically/dist/utils/lang.d.ts +0 -6
  296. package/node_modules/atomically/dist/utils/lang.js +0 -16
  297. package/node_modules/atomically/dist/utils/scheduler.d.ts +0 -6
  298. package/node_modules/atomically/dist/utils/scheduler.js +0 -34
  299. package/node_modules/atomically/dist/utils/temp.d.ts +0 -11
  300. package/node_modules/atomically/dist/utils/temp.js +0 -59
  301. package/node_modules/atomically/license +0 -21
  302. package/node_modules/atomically/package.json +0 -42
  303. package/node_modules/atomically/readme.md +0 -147
  304. package/node_modules/aws-sign2/LICENSE +0 -55
  305. package/node_modules/aws-sign2/README.md +0 -4
  306. package/node_modules/aws-sign2/index.js +0 -212
  307. package/node_modules/aws-sign2/package.json +0 -17
  308. package/node_modules/aws4/LICENSE +0 -19
  309. package/node_modules/aws4/README.md +0 -211
  310. package/node_modules/aws4/aws4.js +0 -383
  311. package/node_modules/aws4/lru.js +0 -96
  312. package/node_modules/aws4/package.json +0 -21
  313. package/node_modules/bare-events/LICENSE +0 -201
  314. package/node_modules/bare-events/README.md +0 -25
  315. package/node_modules/bare-events/global.d.ts +0 -15
  316. package/node_modules/bare-events/global.js +0 -5
  317. package/node_modules/bare-events/index.d.ts +0 -85
  318. package/node_modules/bare-events/index.js +0 -378
  319. package/node_modules/bare-events/lib/errors.js +0 -26
  320. package/node_modules/bare-events/package.json +0 -63
  321. package/node_modules/bare-events/web.d.ts +0 -79
  322. package/node_modules/bare-events/web.js +0 -353
  323. package/node_modules/bare-fs/CMakeLists.txt +0 -13
  324. package/node_modules/bare-fs/LICENSE +0 -201
  325. package/node_modules/bare-fs/README.md +0 -989
  326. package/node_modules/bare-fs/binding.c +0 -2889
  327. package/node_modules/bare-fs/binding.js +0 -1
  328. package/node_modules/bare-fs/index.d.ts +0 -1232
  329. package/node_modules/bare-fs/index.js +0 -2842
  330. package/node_modules/bare-fs/lib/constants.d.ts +0 -49
  331. package/node_modules/bare-fs/lib/constants.js +0 -49
  332. package/node_modules/bare-fs/lib/errors.d.ts +0 -11
  333. package/node_modules/bare-fs/lib/errors.js +0 -55
  334. package/node_modules/bare-fs/package.json +0 -74
  335. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  336. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  337. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  338. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  339. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  340. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  341. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  342. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  343. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  344. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  345. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  346. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  347. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  348. package/node_modules/bare-fs/promises.d.ts +0 -313
  349. package/node_modules/bare-fs/promises.js +0 -119
  350. package/node_modules/bare-os/CMakeLists.txt +0 -13
  351. package/node_modules/bare-os/LICENSE +0 -201
  352. package/node_modules/bare-os/README.md +0 -252
  353. package/node_modules/bare-os/binding.c +0 -1538
  354. package/node_modules/bare-os/binding.js +0 -1
  355. package/node_modules/bare-os/index.d.ts +0 -150
  356. package/node_modules/bare-os/index.js +0 -131
  357. package/node_modules/bare-os/lib/constants.d.ts +0 -7
  358. package/node_modules/bare-os/lib/constants.js +0 -7
  359. package/node_modules/bare-os/lib/errors.d.ts +0 -5
  360. package/node_modules/bare-os/lib/errors.js +0 -22
  361. package/node_modules/bare-os/package.json +0 -55
  362. package/node_modules/bare-os/prebuilds/android-arm/bare-os.bare +0 -0
  363. package/node_modules/bare-os/prebuilds/android-arm64/bare-os.bare +0 -0
  364. package/node_modules/bare-os/prebuilds/android-ia32/bare-os.bare +0 -0
  365. package/node_modules/bare-os/prebuilds/android-x64/bare-os.bare +0 -0
  366. package/node_modules/bare-os/prebuilds/darwin-arm64/bare-os.bare +0 -0
  367. package/node_modules/bare-os/prebuilds/darwin-x64/bare-os.bare +0 -0
  368. package/node_modules/bare-os/prebuilds/ios-arm64/bare-os.bare +0 -0
  369. package/node_modules/bare-os/prebuilds/ios-arm64-simulator/bare-os.bare +0 -0
  370. package/node_modules/bare-os/prebuilds/ios-x64-simulator/bare-os.bare +0 -0
  371. package/node_modules/bare-os/prebuilds/linux-arm64/bare-os.bare +0 -0
  372. package/node_modules/bare-os/prebuilds/linux-x64/bare-os.bare +0 -0
  373. package/node_modules/bare-os/prebuilds/win32-arm64/bare-os.bare +0 -0
  374. package/node_modules/bare-os/prebuilds/win32-x64/bare-os.bare +0 -0
  375. package/node_modules/bare-path/LICENSE +0 -201
  376. package/node_modules/bare-path/NOTICE +0 -28
  377. package/node_modules/bare-path/README.md +0 -19
  378. package/node_modules/bare-path/index.d.ts +0 -27
  379. package/node_modules/bare-path/index.js +0 -9
  380. package/node_modules/bare-path/lib/constants.js +0 -11
  381. package/node_modules/bare-path/lib/posix.js +0 -246
  382. package/node_modules/bare-path/lib/shared.js +0 -73
  383. package/node_modules/bare-path/lib/win32.js +0 -547
  384. package/node_modules/bare-path/package.json +0 -44
  385. package/node_modules/bare-stream/LICENSE +0 -201
  386. package/node_modules/bare-stream/README.md +0 -354
  387. package/node_modules/bare-stream/global.d.ts +0 -31
  388. package/node_modules/bare-stream/global.js +0 -15
  389. package/node_modules/bare-stream/index.d.ts +0 -235
  390. package/node_modules/bare-stream/index.js +0 -493
  391. package/node_modules/bare-stream/node_modules/b4a/LICENSE +0 -201
  392. package/node_modules/bare-stream/node_modules/b4a/README.md +0 -153
  393. package/node_modules/bare-stream/node_modules/b4a/browser.js +0 -541
  394. package/node_modules/bare-stream/node_modules/b4a/index.js +0 -188
  395. package/node_modules/bare-stream/node_modules/b4a/lib/ascii.js +0 -31
  396. package/node_modules/bare-stream/node_modules/b4a/lib/base64.js +0 -64
  397. package/node_modules/bare-stream/node_modules/b4a/lib/hex.js +0 -51
  398. package/node_modules/bare-stream/node_modules/b4a/lib/latin1.js +0 -31
  399. package/node_modules/bare-stream/node_modules/b4a/lib/utf16le.js +0 -40
  400. package/node_modules/bare-stream/node_modules/b4a/lib/utf8.js +0 -144
  401. package/node_modules/bare-stream/node_modules/b4a/package.json +0 -51
  402. package/node_modules/bare-stream/node_modules/b4a/react-native.js +0 -5
  403. package/node_modules/bare-stream/package.json +0 -75
  404. package/node_modules/bare-stream/promises.js +0 -3
  405. package/node_modules/bare-stream/web.d.ts +0 -152
  406. package/node_modules/bare-stream/web.js +0 -607
  407. package/node_modules/bare-url/CMakeLists.txt +0 -27
  408. package/node_modules/bare-url/LICENSE +0 -201
  409. package/node_modules/bare-url/README.md +0 -172
  410. package/node_modules/bare-url/binding.c +0 -186
  411. package/node_modules/bare-url/binding.js +0 -1
  412. package/node_modules/bare-url/global.d.ts +0 -12
  413. package/node_modules/bare-url/global.js +0 -2
  414. package/node_modules/bare-url/index.d.ts +0 -41
  415. package/node_modules/bare-url/index.js +0 -411
  416. package/node_modules/bare-url/lib/errors.d.ts +0 -10
  417. package/node_modules/bare-url/lib/errors.js +0 -33
  418. package/node_modules/bare-url/lib/url-search-params.d.ts +0 -23
  419. package/node_modules/bare-url/lib/url-search-params.js +0 -194
  420. package/node_modules/bare-url/package.json +0 -54
  421. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  422. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  423. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  424. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  425. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  426. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  427. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  428. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  429. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  430. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  431. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  432. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  433. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  434. package/node_modules/bcrypt-pbkdf/CONTRIBUTING.md +0 -13
  435. package/node_modules/bcrypt-pbkdf/LICENSE +0 -66
  436. package/node_modules/bcrypt-pbkdf/README.md +0 -45
  437. package/node_modules/bcrypt-pbkdf/index.js +0 -556
  438. package/node_modules/bcrypt-pbkdf/package.json +0 -15
  439. package/node_modules/boxen/index.d.ts +0 -267
  440. package/node_modules/boxen/index.js +0 -376
  441. package/node_modules/boxen/license +0 -9
  442. package/node_modules/boxen/node_modules/camelcase/index.d.ts +0 -102
  443. package/node_modules/boxen/node_modules/camelcase/index.js +0 -110
  444. package/node_modules/boxen/node_modules/camelcase/license +0 -9
  445. package/node_modules/boxen/node_modules/camelcase/package.json +0 -47
  446. package/node_modules/boxen/node_modules/camelcase/readme.md +0 -135
  447. package/node_modules/boxen/node_modules/chalk/license +0 -9
  448. package/node_modules/boxen/node_modules/chalk/package.json +0 -83
  449. package/node_modules/boxen/node_modules/chalk/readme.md +0 -297
  450. package/node_modules/boxen/node_modules/chalk/source/index.d.ts +0 -325
  451. package/node_modules/boxen/node_modules/chalk/source/index.js +0 -225
  452. package/node_modules/boxen/node_modules/chalk/source/utilities.js +0 -33
  453. package/node_modules/boxen/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
  454. package/node_modules/boxen/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
  455. package/node_modules/boxen/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
  456. package/node_modules/boxen/node_modules/chalk/source/vendor/supports-color/browser.js +0 -34
  457. package/node_modules/boxen/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
  458. package/node_modules/boxen/node_modules/chalk/source/vendor/supports-color/index.js +0 -190
  459. package/node_modules/boxen/node_modules/type-fest/index.d.ts +0 -178
  460. package/node_modules/boxen/node_modules/type-fest/license-cc0 +0 -121
  461. package/node_modules/boxen/node_modules/type-fest/license-mit +0 -9
  462. package/node_modules/boxen/node_modules/type-fest/package.json +0 -91
  463. package/node_modules/boxen/node_modules/type-fest/readme.md +0 -1060
  464. package/node_modules/boxen/node_modules/type-fest/source/all-union-fields.d.ts +0 -88
  465. package/node_modules/boxen/node_modules/type-fest/source/and.d.ts +0 -25
  466. package/node_modules/boxen/node_modules/type-fest/source/array-indices.d.ts +0 -23
  467. package/node_modules/boxen/node_modules/type-fest/source/array-slice.d.ts +0 -109
  468. package/node_modules/boxen/node_modules/type-fest/source/array-splice.d.ts +0 -99
  469. package/node_modules/boxen/node_modules/type-fest/source/array-tail.d.ts +0 -76
  470. package/node_modules/boxen/node_modules/type-fest/source/array-values.d.ts +0 -22
  471. package/node_modules/boxen/node_modules/type-fest/source/arrayable.d.ts +0 -29
  472. package/node_modules/boxen/node_modules/type-fest/source/async-return-type.d.ts +0 -23
  473. package/node_modules/boxen/node_modules/type-fest/source/asyncify.d.ts +0 -32
  474. package/node_modules/boxen/node_modules/type-fest/source/basic.d.ts +0 -68
  475. package/node_modules/boxen/node_modules/type-fest/source/camel-case.d.ts +0 -89
  476. package/node_modules/boxen/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +0 -97
  477. package/node_modules/boxen/node_modules/type-fest/source/camel-cased-properties.d.ts +0 -43
  478. package/node_modules/boxen/node_modules/type-fest/source/conditional-except.d.ts +0 -45
  479. package/node_modules/boxen/node_modules/type-fest/source/conditional-keys.d.ts +0 -47
  480. package/node_modules/boxen/node_modules/type-fest/source/conditional-pick-deep.d.ts +0 -118
  481. package/node_modules/boxen/node_modules/type-fest/source/conditional-pick.d.ts +0 -44
  482. package/node_modules/boxen/node_modules/type-fest/source/conditional-simplify.d.ts +0 -32
  483. package/node_modules/boxen/node_modules/type-fest/source/delimiter-case.d.ts +0 -78
  484. package/node_modules/boxen/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +0 -106
  485. package/node_modules/boxen/node_modules/type-fest/source/delimiter-cased-properties.d.ts +0 -46
  486. package/node_modules/boxen/node_modules/type-fest/source/distributed-omit.d.ts +0 -89
  487. package/node_modules/boxen/node_modules/type-fest/source/distributed-pick.d.ts +0 -85
  488. package/node_modules/boxen/node_modules/type-fest/source/empty-object.d.ts +0 -46
  489. package/node_modules/boxen/node_modules/type-fest/source/enforce-optional.d.ts +0 -47
  490. package/node_modules/boxen/node_modules/type-fest/source/entries.d.ts +0 -62
  491. package/node_modules/boxen/node_modules/type-fest/source/entry.d.ts +0 -65
  492. package/node_modules/boxen/node_modules/type-fest/source/exact.d.ts +0 -68
  493. package/node_modules/boxen/node_modules/type-fest/source/except.d.ts +0 -108
  494. package/node_modules/boxen/node_modules/type-fest/source/find-global-type.d.ts +0 -64
  495. package/node_modules/boxen/node_modules/type-fest/source/fixed-length-array.d.ts +0 -43
  496. package/node_modules/boxen/node_modules/type-fest/source/get.d.ts +0 -219
  497. package/node_modules/boxen/node_modules/type-fest/source/global-this.d.ts +0 -21
  498. package/node_modules/boxen/node_modules/type-fest/source/greater-than-or-equal.d.ts +0 -22
  499. package/node_modules/boxen/node_modules/type-fest/source/greater-than.d.ts +0 -56
  500. package/node_modules/boxen/node_modules/type-fest/source/has-optional-keys.d.ts +0 -21
  501. package/node_modules/boxen/node_modules/type-fest/source/has-readonly-keys.d.ts +0 -21
  502. package/node_modules/boxen/node_modules/type-fest/source/has-required-keys.d.ts +0 -59
  503. package/node_modules/boxen/node_modules/type-fest/source/has-writable-keys.d.ts +0 -21
  504. package/node_modules/boxen/node_modules/type-fest/source/if-any.d.ts +0 -24
  505. package/node_modules/boxen/node_modules/type-fest/source/if-empty-object.d.ts +0 -26
  506. package/node_modules/boxen/node_modules/type-fest/source/if-never.d.ts +0 -24
  507. package/node_modules/boxen/node_modules/type-fest/source/if-null.d.ts +0 -24
  508. package/node_modules/boxen/node_modules/type-fest/source/if-unknown.d.ts +0 -24
  509. package/node_modules/boxen/node_modules/type-fest/source/includes.d.ts +0 -22
  510. package/node_modules/boxen/node_modules/type-fest/source/int-closed-range.d.ts +0 -35
  511. package/node_modules/boxen/node_modules/type-fest/source/int-range.d.ts +0 -55
  512. package/node_modules/boxen/node_modules/type-fest/source/internal/array.d.ts +0 -126
  513. package/node_modules/boxen/node_modules/type-fest/source/internal/characters.d.ts +0 -67
  514. package/node_modules/boxen/node_modules/type-fest/source/internal/index.d.ts +0 -8
  515. package/node_modules/boxen/node_modules/type-fest/source/internal/keys.d.ts +0 -97
  516. package/node_modules/boxen/node_modules/type-fest/source/internal/numeric.d.ts +0 -118
  517. package/node_modules/boxen/node_modules/type-fest/source/internal/object.d.ts +0 -236
  518. package/node_modules/boxen/node_modules/type-fest/source/internal/string.d.ts +0 -210
  519. package/node_modules/boxen/node_modules/type-fest/source/internal/tuple.d.ts +0 -90
  520. package/node_modules/boxen/node_modules/type-fest/source/internal/type.d.ts +0 -139
  521. package/node_modules/boxen/node_modules/type-fest/source/invariant-of.d.ts +0 -76
  522. package/node_modules/boxen/node_modules/type-fest/source/is-any.d.ts +0 -33
  523. package/node_modules/boxen/node_modules/type-fest/source/is-equal.d.ts +0 -31
  524. package/node_modules/boxen/node_modules/type-fest/source/is-float.d.ts +0 -41
  525. package/node_modules/boxen/node_modules/type-fest/source/is-integer.d.ts +0 -58
  526. package/node_modules/boxen/node_modules/type-fest/source/is-literal.d.ts +0 -296
  527. package/node_modules/boxen/node_modules/type-fest/source/is-never.d.ts +0 -42
  528. package/node_modules/boxen/node_modules/type-fest/source/is-null.d.ts +0 -20
  529. package/node_modules/boxen/node_modules/type-fest/source/is-tuple.d.ts +0 -89
  530. package/node_modules/boxen/node_modules/type-fest/source/is-unknown.d.ts +0 -52
  531. package/node_modules/boxen/node_modules/type-fest/source/iterable-element.d.ts +0 -64
  532. package/node_modules/boxen/node_modules/type-fest/source/join.d.ts +0 -68
  533. package/node_modules/boxen/node_modules/type-fest/source/jsonifiable.d.ts +0 -37
  534. package/node_modules/boxen/node_modules/type-fest/source/jsonify.d.ts +0 -122
  535. package/node_modules/boxen/node_modules/type-fest/source/kebab-case.d.ts +0 -44
  536. package/node_modules/boxen/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +0 -63
  537. package/node_modules/boxen/node_modules/type-fest/source/kebab-cased-properties.d.ts +0 -40
  538. package/node_modules/boxen/node_modules/type-fest/source/keys-of-union.d.ts +0 -42
  539. package/node_modules/boxen/node_modules/type-fest/source/last-array-element.d.ts +0 -38
  540. package/node_modules/boxen/node_modules/type-fest/source/less-than-or-equal.d.ts +0 -22
  541. package/node_modules/boxen/node_modules/type-fest/source/less-than.d.ts +0 -26
  542. package/node_modules/boxen/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +0 -36
  543. package/node_modules/boxen/node_modules/type-fest/source/literal-to-primitive.d.ts +0 -36
  544. package/node_modules/boxen/node_modules/type-fest/source/literal-union.d.ts +0 -37
  545. package/node_modules/boxen/node_modules/type-fest/source/merge-deep.d.ts +0 -486
  546. package/node_modules/boxen/node_modules/type-fest/source/merge-exclusive.d.ts +0 -41
  547. package/node_modules/boxen/node_modules/type-fest/source/merge.d.ts +0 -48
  548. package/node_modules/boxen/node_modules/type-fest/source/multidimensional-array.d.ts +0 -44
  549. package/node_modules/boxen/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +0 -48
  550. package/node_modules/boxen/node_modules/type-fest/source/non-empty-object.d.ts +0 -35
  551. package/node_modules/boxen/node_modules/type-fest/source/non-empty-string.d.ts +0 -28
  552. package/node_modules/boxen/node_modules/type-fest/source/non-empty-tuple.d.ts +0 -21
  553. package/node_modules/boxen/node_modules/type-fest/source/numeric.d.ts +0 -222
  554. package/node_modules/boxen/node_modules/type-fest/source/observable-like.d.ts +0 -63
  555. package/node_modules/boxen/node_modules/type-fest/source/omit-deep.d.ts +0 -167
  556. package/node_modules/boxen/node_modules/type-fest/source/omit-index-signature.d.ts +0 -95
  557. package/node_modules/boxen/node_modules/type-fest/source/opaque.d.ts +0 -1
  558. package/node_modules/boxen/node_modules/type-fest/source/optional-keys-of.d.ts +0 -39
  559. package/node_modules/boxen/node_modules/type-fest/source/or.d.ts +0 -25
  560. package/node_modules/boxen/node_modules/type-fest/source/override-properties.d.ts +0 -36
  561. package/node_modules/boxen/node_modules/type-fest/source/package-json.d.ts +0 -676
  562. package/node_modules/boxen/node_modules/type-fest/source/partial-deep.d.ts +0 -151
  563. package/node_modules/boxen/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +0 -78
  564. package/node_modules/boxen/node_modules/type-fest/source/pascal-case.d.ts +0 -42
  565. package/node_modules/boxen/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +0 -62
  566. package/node_modules/boxen/node_modules/type-fest/source/pascal-cased-properties.d.ts +0 -36
  567. package/node_modules/boxen/node_modules/type-fest/source/paths.d.ts +0 -262
  568. package/node_modules/boxen/node_modules/type-fest/source/pick-deep.d.ts +0 -149
  569. package/node_modules/boxen/node_modules/type-fest/source/pick-index-signature.d.ts +0 -50
  570. package/node_modules/boxen/node_modules/type-fest/source/primitive.d.ts +0 -13
  571. package/node_modules/boxen/node_modules/type-fest/source/promisable.d.ts +0 -25
  572. package/node_modules/boxen/node_modules/type-fest/source/readonly-deep.d.ts +0 -81
  573. package/node_modules/boxen/node_modules/type-fest/source/readonly-keys-of.d.ts +0 -30
  574. package/node_modules/boxen/node_modules/type-fest/source/readonly-tuple.d.ts +0 -41
  575. package/node_modules/boxen/node_modules/type-fest/source/replace.d.ts +0 -85
  576. package/node_modules/boxen/node_modules/type-fest/source/require-all-or-none.d.ts +0 -51
  577. package/node_modules/boxen/node_modules/type-fest/source/require-at-least-one.d.ts +0 -47
  578. package/node_modules/boxen/node_modules/type-fest/source/require-exactly-one.d.ts +0 -45
  579. package/node_modules/boxen/node_modules/type-fest/source/require-one-or-none.d.ts +0 -46
  580. package/node_modules/boxen/node_modules/type-fest/source/required-deep.d.ts +0 -78
  581. package/node_modules/boxen/node_modules/type-fest/source/required-keys-of.d.ts +0 -30
  582. package/node_modules/boxen/node_modules/type-fest/source/schema.d.ts +0 -114
  583. package/node_modules/boxen/node_modules/type-fest/source/screaming-snake-case.d.ts +0 -28
  584. package/node_modules/boxen/node_modules/type-fest/source/set-field-type.d.ts +0 -65
  585. package/node_modules/boxen/node_modules/type-fest/source/set-non-nullable-deep.d.ts +0 -83
  586. package/node_modules/boxen/node_modules/type-fest/source/set-non-nullable.d.ts +0 -39
  587. package/node_modules/boxen/node_modules/type-fest/source/set-optional.d.ts +0 -38
  588. package/node_modules/boxen/node_modules/type-fest/source/set-parameter-type.d.ts +0 -117
  589. package/node_modules/boxen/node_modules/type-fest/source/set-readonly.d.ts +0 -39
  590. package/node_modules/boxen/node_modules/type-fest/source/set-required-deep.d.ts +0 -68
  591. package/node_modules/boxen/node_modules/type-fest/source/set-required.d.ts +0 -70
  592. package/node_modules/boxen/node_modules/type-fest/source/set-return-type.d.ts +0 -29
  593. package/node_modules/boxen/node_modules/type-fest/source/shared-union-fields-deep.d.ts +0 -178
  594. package/node_modules/boxen/node_modules/type-fest/source/shared-union-fields.d.ts +0 -76
  595. package/node_modules/boxen/node_modules/type-fest/source/simplify-deep.d.ts +0 -115
  596. package/node_modules/boxen/node_modules/type-fest/source/simplify.d.ts +0 -58
  597. package/node_modules/boxen/node_modules/type-fest/source/single-key-object.d.ts +0 -29
  598. package/node_modules/boxen/node_modules/type-fest/source/snake-case.d.ts +0 -45
  599. package/node_modules/boxen/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +0 -63
  600. package/node_modules/boxen/node_modules/type-fest/source/snake-cased-properties.d.ts +0 -40
  601. package/node_modules/boxen/node_modules/type-fest/source/split.d.ts +0 -88
  602. package/node_modules/boxen/node_modules/type-fest/source/spread.d.ts +0 -84
  603. package/node_modules/boxen/node_modules/type-fest/source/string-key-of.d.ts +0 -25
  604. package/node_modules/boxen/node_modules/type-fest/source/string-repeat.d.ts +0 -47
  605. package/node_modules/boxen/node_modules/type-fest/source/string-slice.d.ts +0 -37
  606. package/node_modules/boxen/node_modules/type-fest/source/stringified.d.ts +0 -23
  607. package/node_modules/boxen/node_modules/type-fest/source/structured-cloneable.d.ts +0 -92
  608. package/node_modules/boxen/node_modules/type-fest/source/subtract.d.ts +0 -83
  609. package/node_modules/boxen/node_modules/type-fest/source/sum.d.ts +0 -78
  610. package/node_modules/boxen/node_modules/type-fest/source/tagged-union.d.ts +0 -51
  611. package/node_modules/boxen/node_modules/type-fest/source/tagged.d.ts +0 -256
  612. package/node_modules/boxen/node_modules/type-fest/source/trim.d.ts +0 -27
  613. package/node_modules/boxen/node_modules/type-fest/source/tsconfig-json.d.ts +0 -1294
  614. package/node_modules/boxen/node_modules/type-fest/source/tuple-to-object.d.ts +0 -42
  615. package/node_modules/boxen/node_modules/type-fest/source/tuple-to-union.d.ts +0 -51
  616. package/node_modules/boxen/node_modules/type-fest/source/typed-array.d.ts +0 -17
  617. package/node_modules/boxen/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +0 -80
  618. package/node_modules/boxen/node_modules/type-fest/source/union-to-intersection.d.ts +0 -61
  619. package/node_modules/boxen/node_modules/type-fest/source/union-to-tuple.d.ts +0 -56
  620. package/node_modules/boxen/node_modules/type-fest/source/unknown-array.d.ts +0 -25
  621. package/node_modules/boxen/node_modules/type-fest/source/unknown-map.d.ts +0 -24
  622. package/node_modules/boxen/node_modules/type-fest/source/unknown-record.d.ts +0 -31
  623. package/node_modules/boxen/node_modules/type-fest/source/unknown-set.d.ts +0 -24
  624. package/node_modules/boxen/node_modules/type-fest/source/value-of.d.ts +0 -42
  625. package/node_modules/boxen/node_modules/type-fest/source/words.d.ts +0 -118
  626. package/node_modules/boxen/node_modules/type-fest/source/writable-deep.d.ts +0 -83
  627. package/node_modules/boxen/node_modules/type-fest/source/writable-keys-of.d.ts +0 -33
  628. package/node_modules/boxen/node_modules/type-fest/source/writable.d.ts +0 -68
  629. package/node_modules/boxen/package.json +0 -69
  630. package/node_modules/boxen/readme.md +0 -300
  631. package/node_modules/browserify-zlib/.npmignore +0 -2
  632. package/node_modules/browserify-zlib/.travis.yml +0 -3
  633. package/node_modules/browserify-zlib/README.md +0 -22
  634. package/node_modules/browserify-zlib/package.json +0 -40
  635. package/node_modules/browserify-zlib/src/binding.js +0 -236
  636. package/node_modules/browserify-zlib/src/index.js +0 -610
  637. package/node_modules/browserify-zlib/test/fixtures/elipses.txt +0 -1
  638. package/node_modules/browserify-zlib/test/fixtures/empty.txt +0 -1
  639. package/node_modules/browserify-zlib/test/fixtures/person.jpg +0 -0
  640. package/node_modules/browserify-zlib/test/ignored/test-zlib-dictionary-fail.js +0 -48
  641. package/node_modules/browserify-zlib/test/ignored/test-zlib-dictionary.js +0 -95
  642. package/node_modules/browserify-zlib/test/ignored/test-zlib-params.js +0 -33
  643. package/node_modules/browserify-zlib/test/package.json +0 -7
  644. package/node_modules/browserify-zlib/test/test-zlib-close-after-write.js +0 -35
  645. package/node_modules/browserify-zlib/test/test-zlib-convenience-methods.js +0 -70
  646. package/node_modules/browserify-zlib/test/test-zlib-from-string.js +0 -89
  647. package/node_modules/browserify-zlib/test/test-zlib-invalid-input.js +0 -62
  648. package/node_modules/browserify-zlib/test/test-zlib-random-byte-pipes.js +0 -176
  649. package/node_modules/browserify-zlib/test/test-zlib-write-after-flush.js +0 -55
  650. package/node_modules/browserify-zlib/test/test-zlib-zero-byte.js +0 -41
  651. package/node_modules/browserify-zlib/test/test-zlib.js +0 -206
  652. package/node_modules/buffer-from/LICENSE +0 -21
  653. package/node_modules/buffer-from/index.js +0 -72
  654. package/node_modules/buffer-from/package.json +0 -19
  655. package/node_modules/buffer-from/readme.md +0 -69
  656. package/node_modules/caseless/LICENSE +0 -28
  657. package/node_modules/caseless/README.md +0 -45
  658. package/node_modules/caseless/index.js +0 -67
  659. package/node_modules/caseless/package.json +0 -27
  660. package/node_modules/caseless/test.js +0 -67
  661. package/node_modules/chownr/LICENSE.md +0 -63
  662. package/node_modules/chownr/README.md +0 -3
  663. package/node_modules/chownr/dist/commonjs/index.d.ts +0 -3
  664. package/node_modules/chownr/dist/commonjs/index.d.ts.map +0 -1
  665. package/node_modules/chownr/dist/commonjs/index.js +0 -93
  666. package/node_modules/chownr/dist/commonjs/index.js.map +0 -1
  667. package/node_modules/chownr/dist/commonjs/package.json +0 -3
  668. package/node_modules/chownr/dist/esm/index.d.ts +0 -3
  669. package/node_modules/chownr/dist/esm/index.d.ts.map +0 -1
  670. package/node_modules/chownr/dist/esm/index.js +0 -85
  671. package/node_modules/chownr/dist/esm/index.js.map +0 -1
  672. package/node_modules/chownr/dist/esm/package.json +0 -3
  673. package/node_modules/chownr/package.json +0 -69
  674. package/node_modules/cli-boxes/boxes.json +0 -82
  675. package/node_modules/cli-boxes/index.d.ts +0 -127
  676. package/node_modules/cli-boxes/index.js +0 -6
  677. package/node_modules/cli-boxes/license +0 -9
  678. package/node_modules/cli-boxes/package.json +0 -42
  679. package/node_modules/cli-boxes/readme.md +0 -115
  680. package/node_modules/cliui/CHANGELOG.md +0 -157
  681. package/node_modules/cliui/LICENSE.txt +0 -14
  682. package/node_modules/cliui/README.md +0 -161
  683. package/node_modules/cliui/build/lib/index.js +0 -287
  684. package/node_modules/cliui/build/tsconfig.tsbuildinfo +0 -1
  685. package/node_modules/cliui/index.mjs +0 -15
  686. package/node_modules/cliui/node_modules/ansi-regex/index.d.ts +0 -33
  687. package/node_modules/cliui/node_modules/ansi-regex/index.js +0 -14
  688. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  689. package/node_modules/cliui/node_modules/ansi-regex/package.json +0 -61
  690. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -66
  691. package/node_modules/cliui/node_modules/strip-ansi/index.d.ts +0 -15
  692. package/node_modules/cliui/node_modules/strip-ansi/index.js +0 -19
  693. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  694. package/node_modules/cliui/node_modules/strip-ansi/package.json +0 -59
  695. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -37
  696. package/node_modules/cliui/package.json +0 -72
  697. package/node_modules/cmd-shim/LICENSE +0 -15
  698. package/node_modules/cmd-shim/README.md +0 -34
  699. package/node_modules/cmd-shim/lib/index.js +0 -283
  700. package/node_modules/cmd-shim/lib/to-batch-syntax.js +0 -49
  701. package/node_modules/cmd-shim/package.json +0 -48
  702. package/node_modules/combined-stream/License +0 -19
  703. package/node_modules/combined-stream/Readme.md +0 -138
  704. package/node_modules/combined-stream/lib/combined_stream.js +0 -208
  705. package/node_modules/combined-stream/package.json +0 -25
  706. package/node_modules/config-chain/LICENCE +0 -22
  707. package/node_modules/config-chain/index.js +0 -282
  708. package/node_modules/config-chain/package.json +0 -28
  709. package/node_modules/config-chain/readme.markdown +0 -257
  710. package/node_modules/configstore/index.d.ts +0 -94
  711. package/node_modules/configstore/index.js +0 -123
  712. package/node_modules/configstore/license +0 -25
  713. package/node_modules/configstore/node_modules/dot-prop/index.d.ts +0 -164
  714. package/node_modules/configstore/node_modules/dot-prop/index.js +0 -337
  715. package/node_modules/configstore/node_modules/dot-prop/license +0 -9
  716. package/node_modules/configstore/node_modules/dot-prop/package.json +0 -53
  717. package/node_modules/configstore/node_modules/dot-prop/readme.md +0 -168
  718. package/node_modules/configstore/node_modules/type-fest/index.d.ts +0 -178
  719. package/node_modules/configstore/node_modules/type-fest/license-cc0 +0 -121
  720. package/node_modules/configstore/node_modules/type-fest/license-mit +0 -9
  721. package/node_modules/configstore/node_modules/type-fest/package.json +0 -91
  722. package/node_modules/configstore/node_modules/type-fest/readme.md +0 -1060
  723. package/node_modules/configstore/node_modules/type-fest/source/all-union-fields.d.ts +0 -88
  724. package/node_modules/configstore/node_modules/type-fest/source/and.d.ts +0 -25
  725. package/node_modules/configstore/node_modules/type-fest/source/array-indices.d.ts +0 -23
  726. package/node_modules/configstore/node_modules/type-fest/source/array-slice.d.ts +0 -109
  727. package/node_modules/configstore/node_modules/type-fest/source/array-splice.d.ts +0 -99
  728. package/node_modules/configstore/node_modules/type-fest/source/array-tail.d.ts +0 -76
  729. package/node_modules/configstore/node_modules/type-fest/source/array-values.d.ts +0 -22
  730. package/node_modules/configstore/node_modules/type-fest/source/arrayable.d.ts +0 -29
  731. package/node_modules/configstore/node_modules/type-fest/source/async-return-type.d.ts +0 -23
  732. package/node_modules/configstore/node_modules/type-fest/source/asyncify.d.ts +0 -32
  733. package/node_modules/configstore/node_modules/type-fest/source/basic.d.ts +0 -68
  734. package/node_modules/configstore/node_modules/type-fest/source/camel-case.d.ts +0 -89
  735. package/node_modules/configstore/node_modules/type-fest/source/camel-cased-properties-deep.d.ts +0 -97
  736. package/node_modules/configstore/node_modules/type-fest/source/camel-cased-properties.d.ts +0 -43
  737. package/node_modules/configstore/node_modules/type-fest/source/conditional-except.d.ts +0 -45
  738. package/node_modules/configstore/node_modules/type-fest/source/conditional-keys.d.ts +0 -47
  739. package/node_modules/configstore/node_modules/type-fest/source/conditional-pick-deep.d.ts +0 -118
  740. package/node_modules/configstore/node_modules/type-fest/source/conditional-pick.d.ts +0 -44
  741. package/node_modules/configstore/node_modules/type-fest/source/conditional-simplify.d.ts +0 -32
  742. package/node_modules/configstore/node_modules/type-fest/source/delimiter-case.d.ts +0 -78
  743. package/node_modules/configstore/node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts +0 -106
  744. package/node_modules/configstore/node_modules/type-fest/source/delimiter-cased-properties.d.ts +0 -46
  745. package/node_modules/configstore/node_modules/type-fest/source/distributed-omit.d.ts +0 -89
  746. package/node_modules/configstore/node_modules/type-fest/source/distributed-pick.d.ts +0 -85
  747. package/node_modules/configstore/node_modules/type-fest/source/empty-object.d.ts +0 -46
  748. package/node_modules/configstore/node_modules/type-fest/source/enforce-optional.d.ts +0 -47
  749. package/node_modules/configstore/node_modules/type-fest/source/entries.d.ts +0 -62
  750. package/node_modules/configstore/node_modules/type-fest/source/entry.d.ts +0 -65
  751. package/node_modules/configstore/node_modules/type-fest/source/exact.d.ts +0 -68
  752. package/node_modules/configstore/node_modules/type-fest/source/except.d.ts +0 -108
  753. package/node_modules/configstore/node_modules/type-fest/source/find-global-type.d.ts +0 -64
  754. package/node_modules/configstore/node_modules/type-fest/source/fixed-length-array.d.ts +0 -43
  755. package/node_modules/configstore/node_modules/type-fest/source/get.d.ts +0 -219
  756. package/node_modules/configstore/node_modules/type-fest/source/global-this.d.ts +0 -21
  757. package/node_modules/configstore/node_modules/type-fest/source/greater-than-or-equal.d.ts +0 -22
  758. package/node_modules/configstore/node_modules/type-fest/source/greater-than.d.ts +0 -56
  759. package/node_modules/configstore/node_modules/type-fest/source/has-optional-keys.d.ts +0 -21
  760. package/node_modules/configstore/node_modules/type-fest/source/has-readonly-keys.d.ts +0 -21
  761. package/node_modules/configstore/node_modules/type-fest/source/has-required-keys.d.ts +0 -59
  762. package/node_modules/configstore/node_modules/type-fest/source/has-writable-keys.d.ts +0 -21
  763. package/node_modules/configstore/node_modules/type-fest/source/if-any.d.ts +0 -24
  764. package/node_modules/configstore/node_modules/type-fest/source/if-empty-object.d.ts +0 -26
  765. package/node_modules/configstore/node_modules/type-fest/source/if-never.d.ts +0 -24
  766. package/node_modules/configstore/node_modules/type-fest/source/if-null.d.ts +0 -24
  767. package/node_modules/configstore/node_modules/type-fest/source/if-unknown.d.ts +0 -24
  768. package/node_modules/configstore/node_modules/type-fest/source/includes.d.ts +0 -22
  769. package/node_modules/configstore/node_modules/type-fest/source/int-closed-range.d.ts +0 -35
  770. package/node_modules/configstore/node_modules/type-fest/source/int-range.d.ts +0 -55
  771. package/node_modules/configstore/node_modules/type-fest/source/internal/array.d.ts +0 -126
  772. package/node_modules/configstore/node_modules/type-fest/source/internal/characters.d.ts +0 -67
  773. package/node_modules/configstore/node_modules/type-fest/source/internal/index.d.ts +0 -8
  774. package/node_modules/configstore/node_modules/type-fest/source/internal/keys.d.ts +0 -97
  775. package/node_modules/configstore/node_modules/type-fest/source/internal/numeric.d.ts +0 -118
  776. package/node_modules/configstore/node_modules/type-fest/source/internal/object.d.ts +0 -236
  777. package/node_modules/configstore/node_modules/type-fest/source/internal/string.d.ts +0 -210
  778. package/node_modules/configstore/node_modules/type-fest/source/internal/tuple.d.ts +0 -90
  779. package/node_modules/configstore/node_modules/type-fest/source/internal/type.d.ts +0 -139
  780. package/node_modules/configstore/node_modules/type-fest/source/invariant-of.d.ts +0 -76
  781. package/node_modules/configstore/node_modules/type-fest/source/is-any.d.ts +0 -33
  782. package/node_modules/configstore/node_modules/type-fest/source/is-equal.d.ts +0 -31
  783. package/node_modules/configstore/node_modules/type-fest/source/is-float.d.ts +0 -41
  784. package/node_modules/configstore/node_modules/type-fest/source/is-integer.d.ts +0 -58
  785. package/node_modules/configstore/node_modules/type-fest/source/is-literal.d.ts +0 -296
  786. package/node_modules/configstore/node_modules/type-fest/source/is-never.d.ts +0 -42
  787. package/node_modules/configstore/node_modules/type-fest/source/is-null.d.ts +0 -20
  788. package/node_modules/configstore/node_modules/type-fest/source/is-tuple.d.ts +0 -89
  789. package/node_modules/configstore/node_modules/type-fest/source/is-unknown.d.ts +0 -52
  790. package/node_modules/configstore/node_modules/type-fest/source/iterable-element.d.ts +0 -64
  791. package/node_modules/configstore/node_modules/type-fest/source/join.d.ts +0 -68
  792. package/node_modules/configstore/node_modules/type-fest/source/jsonifiable.d.ts +0 -37
  793. package/node_modules/configstore/node_modules/type-fest/source/jsonify.d.ts +0 -122
  794. package/node_modules/configstore/node_modules/type-fest/source/kebab-case.d.ts +0 -44
  795. package/node_modules/configstore/node_modules/type-fest/source/kebab-cased-properties-deep.d.ts +0 -63
  796. package/node_modules/configstore/node_modules/type-fest/source/kebab-cased-properties.d.ts +0 -40
  797. package/node_modules/configstore/node_modules/type-fest/source/keys-of-union.d.ts +0 -42
  798. package/node_modules/configstore/node_modules/type-fest/source/last-array-element.d.ts +0 -38
  799. package/node_modules/configstore/node_modules/type-fest/source/less-than-or-equal.d.ts +0 -22
  800. package/node_modules/configstore/node_modules/type-fest/source/less-than.d.ts +0 -26
  801. package/node_modules/configstore/node_modules/type-fest/source/literal-to-primitive-deep.d.ts +0 -36
  802. package/node_modules/configstore/node_modules/type-fest/source/literal-to-primitive.d.ts +0 -36
  803. package/node_modules/configstore/node_modules/type-fest/source/literal-union.d.ts +0 -37
  804. package/node_modules/configstore/node_modules/type-fest/source/merge-deep.d.ts +0 -486
  805. package/node_modules/configstore/node_modules/type-fest/source/merge-exclusive.d.ts +0 -41
  806. package/node_modules/configstore/node_modules/type-fest/source/merge.d.ts +0 -48
  807. package/node_modules/configstore/node_modules/type-fest/source/multidimensional-array.d.ts +0 -44
  808. package/node_modules/configstore/node_modules/type-fest/source/multidimensional-readonly-array.d.ts +0 -48
  809. package/node_modules/configstore/node_modules/type-fest/source/non-empty-object.d.ts +0 -35
  810. package/node_modules/configstore/node_modules/type-fest/source/non-empty-string.d.ts +0 -28
  811. package/node_modules/configstore/node_modules/type-fest/source/non-empty-tuple.d.ts +0 -21
  812. package/node_modules/configstore/node_modules/type-fest/source/numeric.d.ts +0 -222
  813. package/node_modules/configstore/node_modules/type-fest/source/observable-like.d.ts +0 -63
  814. package/node_modules/configstore/node_modules/type-fest/source/omit-deep.d.ts +0 -167
  815. package/node_modules/configstore/node_modules/type-fest/source/omit-index-signature.d.ts +0 -95
  816. package/node_modules/configstore/node_modules/type-fest/source/opaque.d.ts +0 -1
  817. package/node_modules/configstore/node_modules/type-fest/source/optional-keys-of.d.ts +0 -39
  818. package/node_modules/configstore/node_modules/type-fest/source/or.d.ts +0 -25
  819. package/node_modules/configstore/node_modules/type-fest/source/override-properties.d.ts +0 -36
  820. package/node_modules/configstore/node_modules/type-fest/source/package-json.d.ts +0 -676
  821. package/node_modules/configstore/node_modules/type-fest/source/partial-deep.d.ts +0 -151
  822. package/node_modules/configstore/node_modules/type-fest/source/partial-on-undefined-deep.d.ts +0 -78
  823. package/node_modules/configstore/node_modules/type-fest/source/pascal-case.d.ts +0 -42
  824. package/node_modules/configstore/node_modules/type-fest/source/pascal-cased-properties-deep.d.ts +0 -62
  825. package/node_modules/configstore/node_modules/type-fest/source/pascal-cased-properties.d.ts +0 -36
  826. package/node_modules/configstore/node_modules/type-fest/source/paths.d.ts +0 -262
  827. package/node_modules/configstore/node_modules/type-fest/source/pick-deep.d.ts +0 -149
  828. package/node_modules/configstore/node_modules/type-fest/source/pick-index-signature.d.ts +0 -50
  829. package/node_modules/configstore/node_modules/type-fest/source/primitive.d.ts +0 -13
  830. package/node_modules/configstore/node_modules/type-fest/source/promisable.d.ts +0 -25
  831. package/node_modules/configstore/node_modules/type-fest/source/readonly-deep.d.ts +0 -81
  832. package/node_modules/configstore/node_modules/type-fest/source/readonly-keys-of.d.ts +0 -30
  833. package/node_modules/configstore/node_modules/type-fest/source/readonly-tuple.d.ts +0 -41
  834. package/node_modules/configstore/node_modules/type-fest/source/replace.d.ts +0 -85
  835. package/node_modules/configstore/node_modules/type-fest/source/require-all-or-none.d.ts +0 -51
  836. package/node_modules/configstore/node_modules/type-fest/source/require-at-least-one.d.ts +0 -47
  837. package/node_modules/configstore/node_modules/type-fest/source/require-exactly-one.d.ts +0 -45
  838. package/node_modules/configstore/node_modules/type-fest/source/require-one-or-none.d.ts +0 -46
  839. package/node_modules/configstore/node_modules/type-fest/source/required-deep.d.ts +0 -78
  840. package/node_modules/configstore/node_modules/type-fest/source/required-keys-of.d.ts +0 -30
  841. package/node_modules/configstore/node_modules/type-fest/source/schema.d.ts +0 -114
  842. package/node_modules/configstore/node_modules/type-fest/source/screaming-snake-case.d.ts +0 -28
  843. package/node_modules/configstore/node_modules/type-fest/source/set-field-type.d.ts +0 -65
  844. package/node_modules/configstore/node_modules/type-fest/source/set-non-nullable-deep.d.ts +0 -83
  845. package/node_modules/configstore/node_modules/type-fest/source/set-non-nullable.d.ts +0 -39
  846. package/node_modules/configstore/node_modules/type-fest/source/set-optional.d.ts +0 -38
  847. package/node_modules/configstore/node_modules/type-fest/source/set-parameter-type.d.ts +0 -117
  848. package/node_modules/configstore/node_modules/type-fest/source/set-readonly.d.ts +0 -39
  849. package/node_modules/configstore/node_modules/type-fest/source/set-required-deep.d.ts +0 -68
  850. package/node_modules/configstore/node_modules/type-fest/source/set-required.d.ts +0 -70
  851. package/node_modules/configstore/node_modules/type-fest/source/set-return-type.d.ts +0 -29
  852. package/node_modules/configstore/node_modules/type-fest/source/shared-union-fields-deep.d.ts +0 -178
  853. package/node_modules/configstore/node_modules/type-fest/source/shared-union-fields.d.ts +0 -76
  854. package/node_modules/configstore/node_modules/type-fest/source/simplify-deep.d.ts +0 -115
  855. package/node_modules/configstore/node_modules/type-fest/source/simplify.d.ts +0 -58
  856. package/node_modules/configstore/node_modules/type-fest/source/single-key-object.d.ts +0 -29
  857. package/node_modules/configstore/node_modules/type-fest/source/snake-case.d.ts +0 -45
  858. package/node_modules/configstore/node_modules/type-fest/source/snake-cased-properties-deep.d.ts +0 -63
  859. package/node_modules/configstore/node_modules/type-fest/source/snake-cased-properties.d.ts +0 -40
  860. package/node_modules/configstore/node_modules/type-fest/source/split.d.ts +0 -88
  861. package/node_modules/configstore/node_modules/type-fest/source/spread.d.ts +0 -84
  862. package/node_modules/configstore/node_modules/type-fest/source/string-key-of.d.ts +0 -25
  863. package/node_modules/configstore/node_modules/type-fest/source/string-repeat.d.ts +0 -47
  864. package/node_modules/configstore/node_modules/type-fest/source/string-slice.d.ts +0 -37
  865. package/node_modules/configstore/node_modules/type-fest/source/stringified.d.ts +0 -23
  866. package/node_modules/configstore/node_modules/type-fest/source/structured-cloneable.d.ts +0 -92
  867. package/node_modules/configstore/node_modules/type-fest/source/subtract.d.ts +0 -83
  868. package/node_modules/configstore/node_modules/type-fest/source/sum.d.ts +0 -78
  869. package/node_modules/configstore/node_modules/type-fest/source/tagged-union.d.ts +0 -51
  870. package/node_modules/configstore/node_modules/type-fest/source/tagged.d.ts +0 -256
  871. package/node_modules/configstore/node_modules/type-fest/source/trim.d.ts +0 -27
  872. package/node_modules/configstore/node_modules/type-fest/source/tsconfig-json.d.ts +0 -1294
  873. package/node_modules/configstore/node_modules/type-fest/source/tuple-to-object.d.ts +0 -42
  874. package/node_modules/configstore/node_modules/type-fest/source/tuple-to-union.d.ts +0 -51
  875. package/node_modules/configstore/node_modules/type-fest/source/typed-array.d.ts +0 -17
  876. package/node_modules/configstore/node_modules/type-fest/source/undefined-on-partial-deep.d.ts +0 -80
  877. package/node_modules/configstore/node_modules/type-fest/source/union-to-intersection.d.ts +0 -61
  878. package/node_modules/configstore/node_modules/type-fest/source/union-to-tuple.d.ts +0 -56
  879. package/node_modules/configstore/node_modules/type-fest/source/unknown-array.d.ts +0 -25
  880. package/node_modules/configstore/node_modules/type-fest/source/unknown-map.d.ts +0 -24
  881. package/node_modules/configstore/node_modules/type-fest/source/unknown-record.d.ts +0 -31
  882. package/node_modules/configstore/node_modules/type-fest/source/unknown-set.d.ts +0 -24
  883. package/node_modules/configstore/node_modules/type-fest/source/value-of.d.ts +0 -42
  884. package/node_modules/configstore/node_modules/type-fest/source/words.d.ts +0 -118
  885. package/node_modules/configstore/node_modules/type-fest/source/writable-deep.d.ts +0 -83
  886. package/node_modules/configstore/node_modules/type-fest/source/writable-keys-of.d.ts +0 -33
  887. package/node_modules/configstore/node_modules/type-fest/source/writable.d.ts +0 -68
  888. package/node_modules/configstore/node_modules/xdg-basedir/index.d.ts +0 -90
  889. package/node_modules/configstore/node_modules/xdg-basedir/index.js +0 -30
  890. package/node_modules/configstore/node_modules/xdg-basedir/license +0 -9
  891. package/node_modules/configstore/node_modules/xdg-basedir/package.json +0 -47
  892. package/node_modules/configstore/node_modules/xdg-basedir/readme.md +0 -70
  893. package/node_modules/configstore/package.json +0 -53
  894. package/node_modules/configstore/readme.md +0 -152
  895. package/node_modules/core-util-is/LICENSE +0 -19
  896. package/node_modules/core-util-is/README.md +0 -3
  897. package/node_modules/core-util-is/lib/util.js +0 -107
  898. package/node_modules/core-util-is/package.json +0 -38
  899. package/node_modules/dashdash/CHANGES.md +0 -364
  900. package/node_modules/dashdash/LICENSE.txt +0 -24
  901. package/node_modules/dashdash/README.md +0 -574
  902. package/node_modules/dashdash/etc/dashdash.bash_completion.in +0 -389
  903. package/node_modules/dashdash/lib/dashdash.js +0 -1055
  904. package/node_modules/dashdash/package.json +0 -26
  905. package/node_modules/deep-extend/CHANGELOG.md +0 -46
  906. package/node_modules/deep-extend/LICENSE +0 -20
  907. package/node_modules/deep-extend/README.md +0 -91
  908. package/node_modules/deep-extend/index.js +0 -1
  909. package/node_modules/deep-extend/lib/deep-extend.js +0 -150
  910. package/node_modules/deep-extend/package.json +0 -62
  911. package/node_modules/delayed-stream/.npmignore +0 -1
  912. package/node_modules/delayed-stream/License +0 -19
  913. package/node_modules/delayed-stream/Makefile +0 -7
  914. package/node_modules/delayed-stream/Readme.md +0 -141
  915. package/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  916. package/node_modules/delayed-stream/package.json +0 -27
  917. package/node_modules/duplexify/.travis.yml +0 -6
  918. package/node_modules/duplexify/LICENSE +0 -21
  919. package/node_modules/duplexify/README.md +0 -97
  920. package/node_modules/duplexify/example.js +0 -21
  921. package/node_modules/duplexify/index.js +0 -234
  922. package/node_modules/duplexify/package.json +0 -39
  923. package/node_modules/duplexify/test.js +0 -295
  924. package/node_modules/ecc-jsbn/LICENSE +0 -21
  925. package/node_modules/ecc-jsbn/README.md +0 -8
  926. package/node_modules/ecc-jsbn/index.js +0 -58
  927. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +0 -40
  928. package/node_modules/ecc-jsbn/lib/ec.js +0 -561
  929. package/node_modules/ecc-jsbn/lib/sec.js +0 -170
  930. package/node_modules/ecc-jsbn/package.json +0 -40
  931. package/node_modules/ecc-jsbn/test.js +0 -14
  932. package/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  933. package/node_modules/emoji-regex/README.md +0 -107
  934. package/node_modules/emoji-regex/index.d.ts +0 -3
  935. package/node_modules/emoji-regex/index.js +0 -4
  936. package/node_modules/emoji-regex/index.mjs +0 -4
  937. package/node_modules/emoji-regex/package.json +0 -45
  938. package/node_modules/end-of-stream/LICENSE +0 -21
  939. package/node_modules/end-of-stream/README.md +0 -54
  940. package/node_modules/end-of-stream/index.js +0 -96
  941. package/node_modules/end-of-stream/package.json +0 -37
  942. package/node_modules/env-paths/index.d.ts +0 -101
  943. package/node_modules/env-paths/index.js +0 -74
  944. package/node_modules/env-paths/license +0 -9
  945. package/node_modules/env-paths/package.json +0 -45
  946. package/node_modules/env-paths/readme.md +0 -115
  947. package/node_modules/escalade/dist/index.js +0 -22
  948. package/node_modules/escalade/dist/index.mjs +0 -22
  949. package/node_modules/escalade/index.d.mts +0 -11
  950. package/node_modules/escalade/index.d.ts +0 -15
  951. package/node_modules/escalade/license +0 -9
  952. package/node_modules/escalade/package.json +0 -74
  953. package/node_modules/escalade/readme.md +0 -211
  954. package/node_modules/escalade/sync/index.d.mts +0 -9
  955. package/node_modules/escalade/sync/index.d.ts +0 -13
  956. package/node_modules/escalade/sync/index.js +0 -18
  957. package/node_modules/escalade/sync/index.mjs +0 -18
  958. package/node_modules/escape-goat/index.d.ts +0 -62
  959. package/node_modules/escape-goat/index.js +0 -39
  960. package/node_modules/escape-goat/license +0 -9
  961. package/node_modules/escape-goat/package.json +0 -48
  962. package/node_modules/escape-goat/readme.md +0 -60
  963. package/node_modules/events-universal/LICENSE +0 -201
  964. package/node_modules/events-universal/README.md +0 -17
  965. package/node_modules/events-universal/bare.js +0 -1
  966. package/node_modules/events-universal/default.js +0 -1
  967. package/node_modules/events-universal/index.js +0 -1
  968. package/node_modules/events-universal/package.json +0 -39
  969. package/node_modules/events-universal/react-native.js +0 -1
  970. package/node_modules/exponential-backoff/LICENSE +0 -202
  971. package/node_modules/exponential-backoff/README.md +0 -89
  972. package/node_modules/exponential-backoff/dist/backoff.d.ts +0 -9
  973. package/node_modules/exponential-backoff/dist/backoff.js +0 -124
  974. package/node_modules/exponential-backoff/dist/backoff.js.map +0 -1
  975. package/node_modules/exponential-backoff/dist/delay/always/always.delay.d.ts +0 -3
  976. package/node_modules/exponential-backoff/dist/delay/always/always.delay.js +0 -25
  977. package/node_modules/exponential-backoff/dist/delay/always/always.delay.js.map +0 -1
  978. package/node_modules/exponential-backoff/dist/delay/delay.base.d.ts +0 -12
  979. package/node_modules/exponential-backoff/dist/delay/delay.base.js +0 -45
  980. package/node_modules/exponential-backoff/dist/delay/delay.base.js.map +0 -1
  981. package/node_modules/exponential-backoff/dist/delay/delay.factory.d.ts +0 -3
  982. package/node_modules/exponential-backoff/dist/delay/delay.factory.js +0 -17
  983. package/node_modules/exponential-backoff/dist/delay/delay.factory.js.map +0 -1
  984. package/node_modules/exponential-backoff/dist/delay/delay.interface.d.ts +0 -4
  985. package/node_modules/exponential-backoff/dist/delay/delay.interface.js +0 -3
  986. package/node_modules/exponential-backoff/dist/delay/delay.interface.js.map +0 -1
  987. package/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.d.ts +0 -6
  988. package/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +0 -82
  989. package/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js.map +0 -1
  990. package/node_modules/exponential-backoff/dist/jitter/full/full.jitter.d.ts +0 -1
  991. package/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +0 -8
  992. package/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js.map +0 -1
  993. package/node_modules/exponential-backoff/dist/jitter/jitter.factory.d.ts +0 -3
  994. package/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +0 -15
  995. package/node_modules/exponential-backoff/dist/jitter/jitter.factory.js.map +0 -1
  996. package/node_modules/exponential-backoff/dist/jitter/no/no.jitter.d.ts +0 -1
  997. package/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +0 -7
  998. package/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js.map +0 -1
  999. package/node_modules/exponential-backoff/dist/options.d.ts +0 -55
  1000. package/node_modules/exponential-backoff/dist/options.js +0 -31
  1001. package/node_modules/exponential-backoff/dist/options.js.map +0 -1
  1002. package/node_modules/exponential-backoff/package.json +0 -62
  1003. package/node_modules/exponential-backoff/src/backoff.spec.ts +0 -194
  1004. package/node_modules/exponential-backoff/src/backoff.ts +0 -60
  1005. package/node_modules/exponential-backoff/src/delay/always/always.delay.spec.ts +0 -65
  1006. package/node_modules/exponential-backoff/src/delay/always/always.delay.ts +0 -3
  1007. package/node_modules/exponential-backoff/src/delay/delay.base.ts +0 -34
  1008. package/node_modules/exponential-backoff/src/delay/delay.factory.ts +0 -18
  1009. package/node_modules/exponential-backoff/src/delay/delay.interface.ts +0 -4
  1010. package/node_modules/exponential-backoff/src/delay/skip-first/skip-first.delay.ts +0 -15
  1011. package/node_modules/exponential-backoff/src/jitter/full/full.jitter.spec.ts +0 -31
  1012. package/node_modules/exponential-backoff/src/jitter/full/full.jitter.ts +0 -4
  1013. package/node_modules/exponential-backoff/src/jitter/jitter.factory.ts +0 -16
  1014. package/node_modules/exponential-backoff/src/jitter/no/no.jitter.spec.ts +0 -9
  1015. package/node_modules/exponential-backoff/src/jitter/no/no.jitter.ts +0 -3
  1016. package/node_modules/exponential-backoff/src/options.ts +0 -76
  1017. package/node_modules/extend/.editorconfig +0 -20
  1018. package/node_modules/extend/.eslintrc +0 -17
  1019. package/node_modules/extend/.jscs.json +0 -175
  1020. package/node_modules/extend/.travis.yml +0 -230
  1021. package/node_modules/extend/CHANGELOG.md +0 -83
  1022. package/node_modules/extend/LICENSE +0 -23
  1023. package/node_modules/extend/README.md +0 -81
  1024. package/node_modules/extend/component.json +0 -32
  1025. package/node_modules/extend/index.js +0 -117
  1026. package/node_modules/extend/package.json +0 -42
  1027. package/node_modules/extsprintf/.gitmodules +0 -0
  1028. package/node_modules/extsprintf/.npmignore +0 -2
  1029. package/node_modules/extsprintf/LICENSE +0 -19
  1030. package/node_modules/extsprintf/Makefile +0 -24
  1031. package/node_modules/extsprintf/Makefile.targ +0 -285
  1032. package/node_modules/extsprintf/README.md +0 -46
  1033. package/node_modules/extsprintf/jsl.node.conf +0 -137
  1034. package/node_modules/extsprintf/lib/extsprintf.js +0 -183
  1035. package/node_modules/extsprintf/package.json +0 -14
  1036. package/node_modules/fast-deep-equal/LICENSE +0 -21
  1037. package/node_modules/fast-deep-equal/README.md +0 -96
  1038. package/node_modules/fast-deep-equal/es6/index.d.ts +0 -2
  1039. package/node_modules/fast-deep-equal/es6/index.js +0 -72
  1040. package/node_modules/fast-deep-equal/es6/react.d.ts +0 -2
  1041. package/node_modules/fast-deep-equal/es6/react.js +0 -79
  1042. package/node_modules/fast-deep-equal/index.d.ts +0 -4
  1043. package/node_modules/fast-deep-equal/index.js +0 -46
  1044. package/node_modules/fast-deep-equal/package.json +0 -61
  1045. package/node_modules/fast-deep-equal/react.d.ts +0 -2
  1046. package/node_modules/fast-deep-equal/react.js +0 -53
  1047. package/node_modules/fast-fifo/LICENSE +0 -21
  1048. package/node_modules/fast-fifo/README.md +0 -78
  1049. package/node_modules/fast-fifo/fixed-size.js +0 -39
  1050. package/node_modules/fast-fifo/index.js +0 -48
  1051. package/node_modules/fast-fifo/package.json +0 -28
  1052. package/node_modules/fast-json-stable-stringify/.eslintrc.yml +0 -26
  1053. package/node_modules/fast-json-stable-stringify/.github/FUNDING.yml +0 -1
  1054. package/node_modules/fast-json-stable-stringify/.travis.yml +0 -8
  1055. package/node_modules/fast-json-stable-stringify/LICENSE +0 -21
  1056. package/node_modules/fast-json-stable-stringify/README.md +0 -131
  1057. package/node_modules/fast-json-stable-stringify/benchmark/index.js +0 -31
  1058. package/node_modules/fast-json-stable-stringify/benchmark/test.json +0 -137
  1059. package/node_modules/fast-json-stable-stringify/example/key_cmp.js +0 -7
  1060. package/node_modules/fast-json-stable-stringify/example/nested.js +0 -3
  1061. package/node_modules/fast-json-stable-stringify/example/str.js +0 -3
  1062. package/node_modules/fast-json-stable-stringify/example/value_cmp.js +0 -7
  1063. package/node_modules/fast-json-stable-stringify/index.d.ts +0 -4
  1064. package/node_modules/fast-json-stable-stringify/index.js +0 -59
  1065. package/node_modules/fast-json-stable-stringify/package.json +0 -52
  1066. package/node_modules/fast-json-stable-stringify/test/cmp.js +0 -13
  1067. package/node_modules/fast-json-stable-stringify/test/nested.js +0 -44
  1068. package/node_modules/fast-json-stable-stringify/test/str.js +0 -46
  1069. package/node_modules/fast-json-stable-stringify/test/to-json.js +0 -22
  1070. package/node_modules/fdir/LICENSE +0 -7
  1071. package/node_modules/fdir/README.md +0 -91
  1072. package/node_modules/fdir/dist/index.cjs +0 -588
  1073. package/node_modules/fdir/dist/index.d.cts +0 -155
  1074. package/node_modules/fdir/dist/index.d.mts +0 -155
  1075. package/node_modules/fdir/dist/index.mjs +0 -570
  1076. package/node_modules/fdir/package.json +0 -103
  1077. package/node_modules/forever-agent/LICENSE +0 -55
  1078. package/node_modules/forever-agent/README.md +0 -4
  1079. package/node_modules/forever-agent/index.js +0 -138
  1080. package/node_modules/forever-agent/package.json +0 -17
  1081. package/node_modules/form-data/License +0 -19
  1082. package/node_modules/form-data/README.md +0 -234
  1083. package/node_modules/form-data/README.md.bak +0 -234
  1084. package/node_modules/form-data/lib/browser.js +0 -2
  1085. package/node_modules/form-data/lib/form_data.js +0 -457
  1086. package/node_modules/form-data/lib/populate.js +0 -10
  1087. package/node_modules/form-data/package.json +0 -65
  1088. package/node_modules/fs-extra/LICENSE +0 -15
  1089. package/node_modules/fs-extra/README.md +0 -294
  1090. package/node_modules/fs-extra/lib/copy/copy-sync.js +0 -176
  1091. package/node_modules/fs-extra/lib/copy/copy.js +0 -180
  1092. package/node_modules/fs-extra/lib/copy/index.js +0 -7
  1093. package/node_modules/fs-extra/lib/empty/index.js +0 -39
  1094. package/node_modules/fs-extra/lib/ensure/file.js +0 -66
  1095. package/node_modules/fs-extra/lib/ensure/index.js +0 -23
  1096. package/node_modules/fs-extra/lib/ensure/link.js +0 -64
  1097. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +0 -101
  1098. package/node_modules/fs-extra/lib/ensure/symlink-type.js +0 -34
  1099. package/node_modules/fs-extra/lib/ensure/symlink.js +0 -92
  1100. package/node_modules/fs-extra/lib/esm.mjs +0 -68
  1101. package/node_modules/fs-extra/lib/fs/index.js +0 -146
  1102. package/node_modules/fs-extra/lib/index.js +0 -16
  1103. package/node_modules/fs-extra/lib/json/index.js +0 -16
  1104. package/node_modules/fs-extra/lib/json/jsonfile.js +0 -11
  1105. package/node_modules/fs-extra/lib/json/output-json-sync.js +0 -12
  1106. package/node_modules/fs-extra/lib/json/output-json.js +0 -12
  1107. package/node_modules/fs-extra/lib/mkdirs/index.js +0 -14
  1108. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +0 -27
  1109. package/node_modules/fs-extra/lib/mkdirs/utils.js +0 -21
  1110. package/node_modules/fs-extra/lib/move/index.js +0 -7
  1111. package/node_modules/fs-extra/lib/move/move-sync.js +0 -55
  1112. package/node_modules/fs-extra/lib/move/move.js +0 -59
  1113. package/node_modules/fs-extra/lib/output-file/index.js +0 -31
  1114. package/node_modules/fs-extra/lib/path-exists/index.js +0 -12
  1115. package/node_modules/fs-extra/lib/remove/index.js +0 -17
  1116. package/node_modules/fs-extra/lib/util/async.js +0 -29
  1117. package/node_modules/fs-extra/lib/util/stat.js +0 -159
  1118. package/node_modules/fs-extra/lib/util/utimes.js +0 -53
  1119. package/node_modules/fs-extra/package.json +0 -71
  1120. package/node_modules/get-caller-file/LICENSE.md +0 -6
  1121. package/node_modules/get-caller-file/README.md +0 -41
  1122. package/node_modules/get-caller-file/index.d.ts +0 -2
  1123. package/node_modules/get-caller-file/index.js +0 -22
  1124. package/node_modules/get-caller-file/index.js.map +0 -1
  1125. package/node_modules/get-caller-file/package.json +0 -42
  1126. package/node_modules/get-east-asian-width/index.d.ts +0 -60
  1127. package/node_modules/get-east-asian-width/index.js +0 -30
  1128. package/node_modules/get-east-asian-width/license +0 -9
  1129. package/node_modules/get-east-asian-width/lookup-data.js +0 -21
  1130. package/node_modules/get-east-asian-width/lookup.js +0 -138
  1131. package/node_modules/get-east-asian-width/package.json +0 -71
  1132. package/node_modules/get-east-asian-width/readme.md +0 -65
  1133. package/node_modules/get-east-asian-width/utilities.js +0 -24
  1134. package/node_modules/getpass/.npmignore +0 -8
  1135. package/node_modules/getpass/.travis.yml +0 -9
  1136. package/node_modules/getpass/LICENSE +0 -18
  1137. package/node_modules/getpass/README.md +0 -32
  1138. package/node_modules/getpass/lib/index.js +0 -123
  1139. package/node_modules/getpass/package.json +0 -18
  1140. package/node_modules/global-directory/index.d.ts +0 -58
  1141. package/node_modules/global-directory/index.js +0 -121
  1142. package/node_modules/global-directory/license +0 -9
  1143. package/node_modules/global-directory/node_modules/ini/LICENSE +0 -15
  1144. package/node_modules/global-directory/node_modules/ini/README.md +0 -125
  1145. package/node_modules/global-directory/node_modules/ini/lib/ini.js +0 -278
  1146. package/node_modules/global-directory/node_modules/ini/package.json +0 -45
  1147. package/node_modules/global-directory/package.json +0 -61
  1148. package/node_modules/global-directory/readme.md +0 -60
  1149. package/node_modules/graceful-fs/LICENSE +0 -15
  1150. package/node_modules/graceful-fs/README.md +0 -143
  1151. package/node_modules/graceful-fs/clone.js +0 -23
  1152. package/node_modules/graceful-fs/graceful-fs.js +0 -448
  1153. package/node_modules/graceful-fs/legacy-streams.js +0 -118
  1154. package/node_modules/graceful-fs/package.json +0 -53
  1155. package/node_modules/graceful-fs/polyfills.js +0 -355
  1156. package/node_modules/gunzip-maybe/.travis.yml +0 -5
  1157. package/node_modules/gunzip-maybe/LICENSE +0 -21
  1158. package/node_modules/gunzip-maybe/README.md +0 -35
  1159. package/node_modules/gunzip-maybe/bin.js +0 -18
  1160. package/node_modules/gunzip-maybe/index.js +0 -32
  1161. package/node_modules/gunzip-maybe/package.json +0 -42
  1162. package/node_modules/gunzip-maybe/test.js +0 -70
  1163. package/node_modules/har-schema/LICENSE +0 -13
  1164. package/node_modules/har-schema/README.md +0 -49
  1165. package/node_modules/har-schema/lib/afterRequest.json +0 -30
  1166. package/node_modules/har-schema/lib/beforeRequest.json +0 -30
  1167. package/node_modules/har-schema/lib/browser.json +0 -20
  1168. package/node_modules/har-schema/lib/cache.json +0 -21
  1169. package/node_modules/har-schema/lib/content.json +0 -29
  1170. package/node_modules/har-schema/lib/cookie.json +0 -36
  1171. package/node_modules/har-schema/lib/creator.json +0 -20
  1172. package/node_modules/har-schema/lib/entry.json +0 -53
  1173. package/node_modules/har-schema/lib/har.json +0 -13
  1174. package/node_modules/har-schema/lib/header.json +0 -20
  1175. package/node_modules/har-schema/lib/index.js +0 -22
  1176. package/node_modules/har-schema/lib/log.json +0 -36
  1177. package/node_modules/har-schema/lib/page.json +0 -32
  1178. package/node_modules/har-schema/lib/pageTimings.json +0 -18
  1179. package/node_modules/har-schema/lib/postData.json +0 -43
  1180. package/node_modules/har-schema/lib/query.json +0 -20
  1181. package/node_modules/har-schema/lib/request.json +0 -57
  1182. package/node_modules/har-schema/lib/response.json +0 -54
  1183. package/node_modules/har-schema/lib/timings.json +0 -42
  1184. package/node_modules/har-schema/package.json +0 -54
  1185. package/node_modules/har-validator/LICENSE +0 -9
  1186. package/node_modules/har-validator/README.md +0 -43
  1187. package/node_modules/har-validator/lib/async.js +0 -105
  1188. package/node_modules/har-validator/lib/error.js +0 -17
  1189. package/node_modules/har-validator/lib/promise.js +0 -102
  1190. package/node_modules/har-validator/package.json +0 -43
  1191. package/node_modules/hosted-git-info/LICENSE +0 -13
  1192. package/node_modules/hosted-git-info/README.md +0 -138
  1193. package/node_modules/hosted-git-info/lib/from-url.js +0 -122
  1194. package/node_modules/hosted-git-info/lib/hosts.js +0 -229
  1195. package/node_modules/hosted-git-info/lib/index.js +0 -227
  1196. package/node_modules/hosted-git-info/lib/parse-url.js +0 -79
  1197. package/node_modules/hosted-git-info/package.json +0 -57
  1198. package/node_modules/http-signature/.dir-locals.el +0 -6
  1199. package/node_modules/http-signature/.npmignore +0 -7
  1200. package/node_modules/http-signature/CHANGES.md +0 -46
  1201. package/node_modules/http-signature/LICENSE +0 -18
  1202. package/node_modules/http-signature/README.md +0 -79
  1203. package/node_modules/http-signature/http_signing.md +0 -363
  1204. package/node_modules/http-signature/lib/index.js +0 -29
  1205. package/node_modules/http-signature/lib/parser.js +0 -315
  1206. package/node_modules/http-signature/lib/signer.js +0 -401
  1207. package/node_modules/http-signature/lib/utils.js +0 -112
  1208. package/node_modules/http-signature/lib/verify.js +0 -88
  1209. package/node_modules/http-signature/package.json +0 -39
  1210. package/node_modules/inherits/LICENSE +0 -16
  1211. package/node_modules/inherits/README.md +0 -42
  1212. package/node_modules/inherits/inherits.js +0 -9
  1213. package/node_modules/inherits/inherits_browser.js +0 -27
  1214. package/node_modules/inherits/package.json +0 -29
  1215. package/node_modules/ini/LICENSE +0 -15
  1216. package/node_modules/ini/README.md +0 -102
  1217. package/node_modules/ini/ini.js +0 -206
  1218. package/node_modules/ini/package.json +0 -33
  1219. package/node_modules/is-deflate/.npmignore +0 -1
  1220. package/node_modules/is-deflate/.travis.yml +0 -3
  1221. package/node_modules/is-deflate/LICENSE +0 -21
  1222. package/node_modules/is-deflate/README.md +0 -34
  1223. package/node_modules/is-deflate/index.js +0 -6
  1224. package/node_modules/is-deflate/package.json +0 -34
  1225. package/node_modules/is-gzip/README.md +0 -23
  1226. package/node_modules/is-gzip/index.js +0 -16
  1227. package/node_modules/is-gzip/package.json +0 -35
  1228. package/node_modules/is-in-ci/cli.js +0 -5
  1229. package/node_modules/is-in-ci/index.d.ts +0 -15
  1230. package/node_modules/is-in-ci/index.js +0 -11
  1231. package/node_modules/is-in-ci/license +0 -9
  1232. package/node_modules/is-in-ci/package.json +0 -49
  1233. package/node_modules/is-in-ci/readme.md +0 -44
  1234. package/node_modules/is-installed-globally/index.d.ts +0 -19
  1235. package/node_modules/is-installed-globally/index.js +0 -20
  1236. package/node_modules/is-installed-globally/license +0 -9
  1237. package/node_modules/is-installed-globally/node_modules/is-path-inside/index.d.ts +0 -25
  1238. package/node_modules/is-installed-globally/node_modules/is-path-inside/index.js +0 -12
  1239. package/node_modules/is-installed-globally/node_modules/is-path-inside/license +0 -9
  1240. package/node_modules/is-installed-globally/node_modules/is-path-inside/package.json +0 -38
  1241. package/node_modules/is-installed-globally/node_modules/is-path-inside/readme.md +0 -59
  1242. package/node_modules/is-installed-globally/package.json +0 -60
  1243. package/node_modules/is-installed-globally/readme.md +0 -31
  1244. package/node_modules/is-npm/index.d.ts +0 -84
  1245. package/node_modules/is-npm/index.js +0 -11
  1246. package/node_modules/is-npm/license +0 -9
  1247. package/node_modules/is-npm/package.json +0 -46
  1248. package/node_modules/is-npm/readme.md +0 -102
  1249. package/node_modules/is-typedarray/LICENSE.md +0 -18
  1250. package/node_modules/is-typedarray/README.md +0 -16
  1251. package/node_modules/is-typedarray/index.js +0 -41
  1252. package/node_modules/is-typedarray/package.json +0 -30
  1253. package/node_modules/is-typedarray/test.js +0 -34
  1254. package/node_modules/isarray/.npmignore +0 -1
  1255. package/node_modules/isarray/.travis.yml +0 -4
  1256. package/node_modules/isarray/Makefile +0 -6
  1257. package/node_modules/isarray/README.md +0 -60
  1258. package/node_modules/isarray/component.json +0 -19
  1259. package/node_modules/isarray/index.js +0 -5
  1260. package/node_modules/isarray/package.json +0 -45
  1261. package/node_modules/isarray/test.js +0 -20
  1262. package/node_modules/isexe/LICENSE.md +0 -55
  1263. package/node_modules/isexe/README.md +0 -80
  1264. package/node_modules/isexe/dist/commonjs/index.d.ts +0 -14
  1265. package/node_modules/isexe/dist/commonjs/index.d.ts.map +0 -1
  1266. package/node_modules/isexe/dist/commonjs/index.js +0 -56
  1267. package/node_modules/isexe/dist/commonjs/index.js.map +0 -1
  1268. package/node_modules/isexe/dist/commonjs/index.min.js +0 -2
  1269. package/node_modules/isexe/dist/commonjs/index.min.js.map +0 -7
  1270. package/node_modules/isexe/dist/commonjs/options.d.ts +0 -32
  1271. package/node_modules/isexe/dist/commonjs/options.d.ts.map +0 -1
  1272. package/node_modules/isexe/dist/commonjs/options.js +0 -3
  1273. package/node_modules/isexe/dist/commonjs/options.js.map +0 -1
  1274. package/node_modules/isexe/dist/commonjs/package.json +0 -3
  1275. package/node_modules/isexe/dist/commonjs/posix.d.ts +0 -18
  1276. package/node_modules/isexe/dist/commonjs/posix.d.ts.map +0 -1
  1277. package/node_modules/isexe/dist/commonjs/posix.js +0 -67
  1278. package/node_modules/isexe/dist/commonjs/posix.js.map +0 -1
  1279. package/node_modules/isexe/dist/commonjs/win32.d.ts +0 -18
  1280. package/node_modules/isexe/dist/commonjs/win32.d.ts.map +0 -1
  1281. package/node_modules/isexe/dist/commonjs/win32.js +0 -63
  1282. package/node_modules/isexe/dist/commonjs/win32.js.map +0 -1
  1283. package/node_modules/isexe/dist/esm/index.d.ts +0 -14
  1284. package/node_modules/isexe/dist/esm/index.d.ts.map +0 -1
  1285. package/node_modules/isexe/dist/esm/index.js +0 -16
  1286. package/node_modules/isexe/dist/esm/index.js.map +0 -1
  1287. package/node_modules/isexe/dist/esm/index.min.js +0 -2
  1288. package/node_modules/isexe/dist/esm/index.min.js.map +0 -7
  1289. package/node_modules/isexe/dist/esm/options.d.ts +0 -32
  1290. package/node_modules/isexe/dist/esm/options.d.ts.map +0 -1
  1291. package/node_modules/isexe/dist/esm/options.js +0 -2
  1292. package/node_modules/isexe/dist/esm/options.js.map +0 -1
  1293. package/node_modules/isexe/dist/esm/package.json +0 -3
  1294. package/node_modules/isexe/dist/esm/posix.d.ts +0 -18
  1295. package/node_modules/isexe/dist/esm/posix.d.ts.map +0 -1
  1296. package/node_modules/isexe/dist/esm/posix.js +0 -62
  1297. package/node_modules/isexe/dist/esm/posix.js.map +0 -1
  1298. package/node_modules/isexe/dist/esm/win32.d.ts +0 -18
  1299. package/node_modules/isexe/dist/esm/win32.d.ts.map +0 -1
  1300. package/node_modules/isexe/dist/esm/win32.js +0 -58
  1301. package/node_modules/isexe/dist/esm/win32.js.map +0 -1
  1302. package/node_modules/isexe/package.json +0 -78
  1303. package/node_modules/isstream/.jshintrc +0 -59
  1304. package/node_modules/isstream/.npmignore +0 -1
  1305. package/node_modules/isstream/.travis.yml +0 -12
  1306. package/node_modules/isstream/LICENSE.md +0 -11
  1307. package/node_modules/isstream/README.md +0 -66
  1308. package/node_modules/isstream/isstream.js +0 -27
  1309. package/node_modules/isstream/package.json +0 -33
  1310. package/node_modules/isstream/test.js +0 -168
  1311. package/node_modules/jsbn/.npmignore +0 -2
  1312. package/node_modules/jsbn/LICENSE +0 -40
  1313. package/node_modules/jsbn/README.md +0 -175
  1314. package/node_modules/jsbn/example.html +0 -12
  1315. package/node_modules/jsbn/example.js +0 -3
  1316. package/node_modules/jsbn/index.js +0 -1357
  1317. package/node_modules/jsbn/package.json +0 -21
  1318. package/node_modules/json-schema/LICENSE +0 -195
  1319. package/node_modules/json-schema/README.md +0 -3
  1320. package/node_modules/json-schema/lib/links.js +0 -65
  1321. package/node_modules/json-schema/lib/validate.js +0 -271
  1322. package/node_modules/json-schema/package.json +0 -24
  1323. package/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  1324. package/node_modules/json-schema-traverse/.travis.yml +0 -8
  1325. package/node_modules/json-schema-traverse/LICENSE +0 -21
  1326. package/node_modules/json-schema-traverse/README.md +0 -83
  1327. package/node_modules/json-schema-traverse/index.js +0 -89
  1328. package/node_modules/json-schema-traverse/package.json +0 -43
  1329. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  1330. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  1331. package/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  1332. package/node_modules/json-stringify-safe/.npmignore +0 -1
  1333. package/node_modules/json-stringify-safe/CHANGELOG.md +0 -14
  1334. package/node_modules/json-stringify-safe/LICENSE +0 -15
  1335. package/node_modules/json-stringify-safe/Makefile +0 -35
  1336. package/node_modules/json-stringify-safe/README.md +0 -52
  1337. package/node_modules/json-stringify-safe/package.json +0 -31
  1338. package/node_modules/json-stringify-safe/stringify.js +0 -27
  1339. package/node_modules/json-stringify-safe/test/mocha.opts +0 -2
  1340. package/node_modules/json-stringify-safe/test/stringify_test.js +0 -246
  1341. package/node_modules/jsonfile/LICENSE +0 -15
  1342. package/node_modules/jsonfile/README.md +0 -230
  1343. package/node_modules/jsonfile/index.js +0 -88
  1344. package/node_modules/jsonfile/package.json +0 -40
  1345. package/node_modules/jsonfile/utils.js +0 -18
  1346. package/node_modules/jsprim/CHANGES.md +0 -53
  1347. package/node_modules/jsprim/CONTRIBUTING.md +0 -19
  1348. package/node_modules/jsprim/LICENSE +0 -19
  1349. package/node_modules/jsprim/README.md +0 -287
  1350. package/node_modules/jsprim/lib/jsprim.js +0 -735
  1351. package/node_modules/jsprim/package.json +0 -20
  1352. package/node_modules/ky/distribution/core/Ky.d.ts +0 -8
  1353. package/node_modules/ky/distribution/core/Ky.js +0 -395
  1354. package/node_modules/ky/distribution/core/Ky.js.map +0 -1
  1355. package/node_modules/ky/distribution/core/constants.d.ts +0 -205
  1356. package/node_modules/ky/distribution/core/constants.js +0 -185
  1357. package/node_modules/ky/distribution/core/constants.js.map +0 -1
  1358. package/node_modules/ky/distribution/errors/ForceRetryError.d.ts +0 -12
  1359. package/node_modules/ky/distribution/errors/ForceRetryError.js +0 -23
  1360. package/node_modules/ky/distribution/errors/ForceRetryError.js.map +0 -1
  1361. package/node_modules/ky/distribution/errors/HTTPError.d.ts +0 -9
  1362. package/node_modules/ky/distribution/errors/HTTPError.js +0 -17
  1363. package/node_modules/ky/distribution/errors/HTTPError.js.map +0 -1
  1364. package/node_modules/ky/distribution/errors/NonError.d.ts +0 -10
  1365. package/node_modules/ky/distribution/errors/NonError.js +0 -27
  1366. package/node_modules/ky/distribution/errors/NonError.js.map +0 -1
  1367. package/node_modules/ky/distribution/errors/TimeoutError.d.ts +0 -5
  1368. package/node_modules/ky/distribution/errors/TimeoutError.js +0 -9
  1369. package/node_modules/ky/distribution/errors/TimeoutError.js.map +0 -1
  1370. package/node_modules/ky/distribution/index.d.ts +0 -14
  1371. package/node_modules/ky/distribution/index.js +0 -31
  1372. package/node_modules/ky/distribution/index.js.map +0 -1
  1373. package/node_modules/ky/distribution/types/ResponsePromise.d.ts +0 -40
  1374. package/node_modules/ky/distribution/types/ResponsePromise.js +0 -2
  1375. package/node_modules/ky/distribution/types/ResponsePromise.js.map +0 -1
  1376. package/node_modules/ky/distribution/types/common.d.ts +0 -7
  1377. package/node_modules/ky/distribution/types/common.js +0 -2
  1378. package/node_modules/ky/distribution/types/common.js.map +0 -1
  1379. package/node_modules/ky/distribution/types/hooks.d.ts +0 -247
  1380. package/node_modules/ky/distribution/types/hooks.js +0 -2
  1381. package/node_modules/ky/distribution/types/hooks.js.map +0 -1
  1382. package/node_modules/ky/distribution/types/ky.d.ts +0 -175
  1383. package/node_modules/ky/distribution/types/ky.js +0 -2
  1384. package/node_modules/ky/distribution/types/ky.js.map +0 -1
  1385. package/node_modules/ky/distribution/types/options.d.ts +0 -352
  1386. package/node_modules/ky/distribution/types/options.js +0 -2
  1387. package/node_modules/ky/distribution/types/options.js.map +0 -1
  1388. package/node_modules/ky/distribution/types/request.d.ts +0 -3
  1389. package/node_modules/ky/distribution/types/request.js +0 -2
  1390. package/node_modules/ky/distribution/types/request.js.map +0 -1
  1391. package/node_modules/ky/distribution/types/response.d.ts +0 -3
  1392. package/node_modules/ky/distribution/types/response.js +0 -2
  1393. package/node_modules/ky/distribution/types/response.js.map +0 -1
  1394. package/node_modules/ky/distribution/types/retry.d.ts +0 -159
  1395. package/node_modules/ky/distribution/types/retry.js +0 -2
  1396. package/node_modules/ky/distribution/types/retry.js.map +0 -1
  1397. package/node_modules/ky/distribution/utils/body.d.ts +0 -4
  1398. package/node_modules/ky/distribution/utils/body.js +0 -103
  1399. package/node_modules/ky/distribution/utils/body.js.map +0 -1
  1400. package/node_modules/ky/distribution/utils/delay.d.ts +0 -5
  1401. package/node_modules/ky/distribution/utils/delay.js +0 -18
  1402. package/node_modules/ky/distribution/utils/delay.js.map +0 -1
  1403. package/node_modules/ky/distribution/utils/is.d.ts +0 -1
  1404. package/node_modules/ky/distribution/utils/is.js +0 -3
  1405. package/node_modules/ky/distribution/utils/is.js.map +0 -1
  1406. package/node_modules/ky/distribution/utils/merge.d.ts +0 -6
  1407. package/node_modules/ky/distribution/utils/merge.js +0 -154
  1408. package/node_modules/ky/distribution/utils/merge.js.map +0 -1
  1409. package/node_modules/ky/distribution/utils/normalize.d.ts +0 -5
  1410. package/node_modules/ky/distribution/utils/normalize.js +0 -37
  1411. package/node_modules/ky/distribution/utils/normalize.js.map +0 -1
  1412. package/node_modules/ky/distribution/utils/options.d.ts +0 -3
  1413. package/node_modules/ky/distribution/utils/options.js +0 -41
  1414. package/node_modules/ky/distribution/utils/options.js.map +0 -1
  1415. package/node_modules/ky/distribution/utils/timeout.d.ts +0 -5
  1416. package/node_modules/ky/distribution/utils/timeout.js +0 -20
  1417. package/node_modules/ky/distribution/utils/timeout.js.map +0 -1
  1418. package/node_modules/ky/distribution/utils/type-guards.d.ts +0 -88
  1419. package/node_modules/ky/distribution/utils/type-guards.js +0 -97
  1420. package/node_modules/ky/distribution/utils/type-guards.js.map +0 -1
  1421. package/node_modules/ky/distribution/utils/types.d.ts +0 -6
  1422. package/node_modules/ky/distribution/utils/types.js +0 -2
  1423. package/node_modules/ky/distribution/utils/types.js.map +0 -1
  1424. package/node_modules/ky/license +0 -9
  1425. package/node_modules/ky/package.json +0 -116
  1426. package/node_modules/ky/readme.md +0 -1356
  1427. package/node_modules/latest-version/index.d.ts +0 -25
  1428. package/node_modules/latest-version/index.js +0 -8
  1429. package/node_modules/latest-version/license +0 -9
  1430. package/node_modules/latest-version/package.json +0 -49
  1431. package/node_modules/latest-version/readme.md +0 -34
  1432. package/node_modules/lru-cache/LICENSE.md +0 -55
  1433. package/node_modules/lru-cache/README.md +0 -469
  1434. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.d.ts.map +0 -1
  1435. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel-browser.js.map +0 -1
  1436. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.d.ts +0 -5
  1437. package/node_modules/lru-cache/dist/commonjs/browser/diagnostics-channel.js +0 -7
  1438. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts +0 -1400
  1439. package/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +0 -1
  1440. package/node_modules/lru-cache/dist/commonjs/browser/index.js +0 -1726
  1441. package/node_modules/lru-cache/dist/commonjs/browser/index.js.map +0 -1
  1442. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js +0 -2
  1443. package/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +0 -7
  1444. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts +0 -12
  1445. package/node_modules/lru-cache/dist/commonjs/browser/perf.d.ts.map +0 -1
  1446. package/node_modules/lru-cache/dist/commonjs/browser/perf.js +0 -10
  1447. package/node_modules/lru-cache/dist/commonjs/browser/perf.js.map +0 -1
  1448. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.cjs.map +0 -1
  1449. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel-cjs.d.cts.map +0 -1
  1450. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.d.ts +0 -5
  1451. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +0 -7
  1452. package/node_modules/lru-cache/dist/commonjs/index.d.ts +0 -1400
  1453. package/node_modules/lru-cache/dist/commonjs/index.d.ts.map +0 -1
  1454. package/node_modules/lru-cache/dist/commonjs/index.js +0 -1726
  1455. package/node_modules/lru-cache/dist/commonjs/index.js.map +0 -1
  1456. package/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  1457. package/node_modules/lru-cache/dist/commonjs/index.min.js.map +0 -7
  1458. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.d.ts.map +0 -1
  1459. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel-node.js.map +0 -1
  1460. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.d.ts +0 -5
  1461. package/node_modules/lru-cache/dist/commonjs/node/diagnostics-channel.js +0 -9
  1462. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts +0 -1400
  1463. package/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +0 -1
  1464. package/node_modules/lru-cache/dist/commonjs/node/index.js +0 -1726
  1465. package/node_modules/lru-cache/dist/commonjs/node/index.js.map +0 -1
  1466. package/node_modules/lru-cache/dist/commonjs/node/index.min.js +0 -2
  1467. package/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +0 -7
  1468. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts +0 -12
  1469. package/node_modules/lru-cache/dist/commonjs/node/perf.d.ts.map +0 -1
  1470. package/node_modules/lru-cache/dist/commonjs/node/perf.js +0 -10
  1471. package/node_modules/lru-cache/dist/commonjs/node/perf.js.map +0 -1
  1472. package/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  1473. package/node_modules/lru-cache/dist/commonjs/perf.d.ts +0 -12
  1474. package/node_modules/lru-cache/dist/commonjs/perf.d.ts.map +0 -1
  1475. package/node_modules/lru-cache/dist/commonjs/perf.js +0 -10
  1476. package/node_modules/lru-cache/dist/commonjs/perf.js.map +0 -1
  1477. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.d.ts.map +0 -1
  1478. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel-browser.js.map +0 -1
  1479. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.d.ts +0 -5
  1480. package/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +0 -4
  1481. package/node_modules/lru-cache/dist/esm/browser/index.d.ts +0 -1400
  1482. package/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +0 -1
  1483. package/node_modules/lru-cache/dist/esm/browser/index.js +0 -1722
  1484. package/node_modules/lru-cache/dist/esm/browser/index.js.map +0 -1
  1485. package/node_modules/lru-cache/dist/esm/browser/index.min.js +0 -2
  1486. package/node_modules/lru-cache/dist/esm/browser/index.min.js.map +0 -7
  1487. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts +0 -12
  1488. package/node_modules/lru-cache/dist/esm/browser/perf.d.ts.map +0 -1
  1489. package/node_modules/lru-cache/dist/esm/browser/perf.js +0 -7
  1490. package/node_modules/lru-cache/dist/esm/browser/perf.js.map +0 -1
  1491. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +0 -1
  1492. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.mjs.map +0 -1
  1493. package/node_modules/lru-cache/dist/esm/diagnostics-channel.d.ts +0 -5
  1494. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +0 -19
  1495. package/node_modules/lru-cache/dist/esm/index.d.ts +0 -1400
  1496. package/node_modules/lru-cache/dist/esm/index.d.ts.map +0 -1
  1497. package/node_modules/lru-cache/dist/esm/index.js +0 -1722
  1498. package/node_modules/lru-cache/dist/esm/index.js.map +0 -1
  1499. package/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  1500. package/node_modules/lru-cache/dist/esm/index.min.js.map +0 -7
  1501. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.ts.map +0 -1
  1502. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.js.map +0 -1
  1503. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.d.ts +0 -5
  1504. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +0 -6
  1505. package/node_modules/lru-cache/dist/esm/node/index.d.ts +0 -1400
  1506. package/node_modules/lru-cache/dist/esm/node/index.d.ts.map +0 -1
  1507. package/node_modules/lru-cache/dist/esm/node/index.js +0 -1722
  1508. package/node_modules/lru-cache/dist/esm/node/index.js.map +0 -1
  1509. package/node_modules/lru-cache/dist/esm/node/index.min.js +0 -2
  1510. package/node_modules/lru-cache/dist/esm/node/index.min.js.map +0 -7
  1511. package/node_modules/lru-cache/dist/esm/node/perf.d.ts +0 -12
  1512. package/node_modules/lru-cache/dist/esm/node/perf.d.ts.map +0 -1
  1513. package/node_modules/lru-cache/dist/esm/node/perf.js +0 -7
  1514. package/node_modules/lru-cache/dist/esm/node/perf.js.map +0 -1
  1515. package/node_modules/lru-cache/dist/esm/package.json +0 -3
  1516. package/node_modules/lru-cache/dist/esm/perf.d.ts +0 -12
  1517. package/node_modules/lru-cache/dist/esm/perf.d.ts.map +0 -1
  1518. package/node_modules/lru-cache/dist/esm/perf.js +0 -7
  1519. package/node_modules/lru-cache/dist/esm/perf.js.map +0 -1
  1520. package/node_modules/lru-cache/package.json +0 -154
  1521. package/node_modules/mime-db/HISTORY.md +0 -507
  1522. package/node_modules/mime-db/LICENSE +0 -23
  1523. package/node_modules/mime-db/README.md +0 -100
  1524. package/node_modules/mime-db/db.json +0 -8519
  1525. package/node_modules/mime-db/index.js +0 -12
  1526. package/node_modules/mime-db/package.json +0 -60
  1527. package/node_modules/mime-types/HISTORY.md +0 -397
  1528. package/node_modules/mime-types/LICENSE +0 -23
  1529. package/node_modules/mime-types/README.md +0 -113
  1530. package/node_modules/mime-types/index.js +0 -188
  1531. package/node_modules/mime-types/package.json +0 -44
  1532. package/node_modules/minimist/.eslintrc +0 -29
  1533. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  1534. package/node_modules/minimist/.nycrc +0 -14
  1535. package/node_modules/minimist/CHANGELOG.md +0 -298
  1536. package/node_modules/minimist/LICENSE +0 -18
  1537. package/node_modules/minimist/README.md +0 -121
  1538. package/node_modules/minimist/example/parse.js +0 -4
  1539. package/node_modules/minimist/index.js +0 -263
  1540. package/node_modules/minimist/package.json +0 -75
  1541. package/node_modules/minimist/test/all_bool.js +0 -34
  1542. package/node_modules/minimist/test/bool.js +0 -177
  1543. package/node_modules/minimist/test/dash.js +0 -43
  1544. package/node_modules/minimist/test/default_bool.js +0 -37
  1545. package/node_modules/minimist/test/dotted.js +0 -24
  1546. package/node_modules/minimist/test/kv_short.js +0 -32
  1547. package/node_modules/minimist/test/long.js +0 -33
  1548. package/node_modules/minimist/test/num.js +0 -38
  1549. package/node_modules/minimist/test/parse.js +0 -209
  1550. package/node_modules/minimist/test/parse_modified.js +0 -11
  1551. package/node_modules/minimist/test/proto.js +0 -64
  1552. package/node_modules/minimist/test/short.js +0 -69
  1553. package/node_modules/minimist/test/stop_early.js +0 -17
  1554. package/node_modules/minimist/test/unknown.js +0 -104
  1555. package/node_modules/minimist/test/whitespace.js +0 -10
  1556. package/node_modules/minipass/LICENSE.md +0 -55
  1557. package/node_modules/minipass/README.md +0 -825
  1558. package/node_modules/minipass/dist/commonjs/index.d.ts +0 -545
  1559. package/node_modules/minipass/dist/commonjs/index.d.ts.map +0 -1
  1560. package/node_modules/minipass/dist/commonjs/index.js +0 -1038
  1561. package/node_modules/minipass/dist/commonjs/index.js.map +0 -1
  1562. package/node_modules/minipass/dist/commonjs/package.json +0 -3
  1563. package/node_modules/minipass/dist/esm/index.d.ts +0 -545
  1564. package/node_modules/minipass/dist/esm/index.d.ts.map +0 -1
  1565. package/node_modules/minipass/dist/esm/index.js +0 -1020
  1566. package/node_modules/minipass/dist/esm/index.js.map +0 -1
  1567. package/node_modules/minipass/dist/esm/package.json +0 -3
  1568. package/node_modules/minipass/package.json +0 -77
  1569. package/node_modules/minizlib/LICENSE +0 -26
  1570. package/node_modules/minizlib/README.md +0 -64
  1571. package/node_modules/minizlib/dist/commonjs/constants.d.ts +0 -2
  1572. package/node_modules/minizlib/dist/commonjs/constants.d.ts.map +0 -1
  1573. package/node_modules/minizlib/dist/commonjs/constants.js +0 -123
  1574. package/node_modules/minizlib/dist/commonjs/constants.js.map +0 -1
  1575. package/node_modules/minizlib/dist/commonjs/index.d.ts +0 -99
  1576. package/node_modules/minizlib/dist/commonjs/index.d.ts.map +0 -1
  1577. package/node_modules/minizlib/dist/commonjs/index.js +0 -416
  1578. package/node_modules/minizlib/dist/commonjs/index.js.map +0 -1
  1579. package/node_modules/minizlib/dist/commonjs/package.json +0 -3
  1580. package/node_modules/minizlib/dist/esm/constants.d.ts +0 -2
  1581. package/node_modules/minizlib/dist/esm/constants.d.ts.map +0 -1
  1582. package/node_modules/minizlib/dist/esm/constants.js +0 -117
  1583. package/node_modules/minizlib/dist/esm/constants.js.map +0 -1
  1584. package/node_modules/minizlib/dist/esm/index.d.ts +0 -99
  1585. package/node_modules/minizlib/dist/esm/index.d.ts.map +0 -1
  1586. package/node_modules/minizlib/dist/esm/index.js +0 -363
  1587. package/node_modules/minizlib/dist/esm/index.js.map +0 -1
  1588. package/node_modules/minizlib/dist/esm/package.json +0 -3
  1589. package/node_modules/minizlib/package.json +0 -80
  1590. package/node_modules/node-gyp/.release-please-manifest.json +0 -3
  1591. package/node_modules/node-gyp/CHANGELOG.md +0 -1271
  1592. package/node_modules/node-gyp/CODE_OF_CONDUCT.md +0 -4
  1593. package/node_modules/node-gyp/CONTRIBUTING.md +0 -44
  1594. package/node_modules/node-gyp/LICENSE +0 -24
  1595. package/node_modules/node-gyp/README.md +0 -290
  1596. package/node_modules/node-gyp/SECURITY.md +0 -2
  1597. package/node_modules/node-gyp/addon.gypi +0 -204
  1598. package/node_modules/node-gyp/bin/node-gyp.js +0 -145
  1599. package/node_modules/node-gyp/commitlint.config.mjs +0 -3
  1600. package/node_modules/node-gyp/eslint.config.js +0 -3
  1601. package/node_modules/node-gyp/gyp/.release-please-manifest.json +0 -3
  1602. package/node_modules/node-gyp/gyp/LICENSE +0 -28
  1603. package/node_modules/node-gyp/gyp/data/ninja/build.ninja +0 -4
  1604. package/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +0 -12
  1605. package/node_modules/node-gyp/gyp/docs/GypVsCMake.md +0 -116
  1606. package/node_modules/node-gyp/gyp/docs/Hacking.md +0 -46
  1607. package/node_modules/node-gyp/gyp/docs/InputFormatReference.md +0 -1083
  1608. package/node_modules/node-gyp/gyp/docs/LanguageSpecification.md +0 -430
  1609. package/node_modules/node-gyp/gyp/docs/README.md +0 -27
  1610. package/node_modules/node-gyp/gyp/docs/Testing.md +0 -450
  1611. package/node_modules/node-gyp/gyp/docs/UserDocumentation.md +0 -965
  1612. package/node_modules/node-gyp/gyp/gyp +0 -8
  1613. package/node_modules/node-gyp/gyp/gyp.bat +0 -5
  1614. package/node_modules/node-gyp/gyp/gyp_main.py +0 -45
  1615. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -365
  1616. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -206
  1617. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -1283
  1618. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -1545
  1619. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -59
  1620. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -152
  1621. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -270
  1622. package/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -607
  1623. package/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -706
  1624. package/node_modules/node-gyp/gyp/pylib/gyp/__pycache__/__init__.cpython-312.pyc +0 -0
  1625. package/node_modules/node-gyp/gyp/pylib/gyp/__pycache__/common.cpython-312.pyc +0 -0
  1626. package/node_modules/node-gyp/gyp/pylib/gyp/__pycache__/input.cpython-312.pyc +0 -0
  1627. package/node_modules/node-gyp/gyp/pylib/gyp/__pycache__/simple_copy.cpython-312.pyc +0 -0
  1628. package/node_modules/node-gyp/gyp/pylib/gyp/__pycache__/xcode_emulation.cpython-312.pyc +0 -0
  1629. package/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -725
  1630. package/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -186
  1631. package/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -170
  1632. package/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -113
  1633. package/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -55
  1634. package/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  1635. package/node_modules/node-gyp/gyp/pylib/gyp/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  1636. package/node_modules/node-gyp/gyp/pylib/gyp/generator/__pycache__/make.cpython-312.pyc +0 -0
  1637. package/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -805
  1638. package/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -1169
  1639. package/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -1316
  1640. package/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -128
  1641. package/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -104
  1642. package/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -461
  1643. package/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -88
  1644. package/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -55
  1645. package/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -2755
  1646. package/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -3970
  1647. package/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -44
  1648. package/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -2957
  1649. package/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -77
  1650. package/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -1389
  1651. package/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -26
  1652. package/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -3097
  1653. package/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -99
  1654. package/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -765
  1655. package/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -1255
  1656. package/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -174
  1657. package/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -61
  1658. package/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -371
  1659. package/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -1936
  1660. package/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +0 -54
  1661. package/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -301
  1662. package/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -3180
  1663. package/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -64
  1664. package/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +0 -3
  1665. package/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +0 -177
  1666. package/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +0 -23
  1667. package/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +0 -15
  1668. package/node_modules/node-gyp/gyp/pylib/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
  1669. package/node_modules/node-gyp/gyp/pylib/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
  1670. package/node_modules/node-gyp/gyp/pylib/packaging/__pycache__/version.cpython-312.pyc +0 -0
  1671. package/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +0 -107
  1672. package/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +0 -252
  1673. package/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +0 -83
  1674. package/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +0 -359
  1675. package/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +0 -61
  1676. package/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +0 -192
  1677. package/node_modules/node-gyp/gyp/pylib/packaging/markers.py +0 -251
  1678. package/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +0 -807
  1679. package/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  1680. package/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +0 -90
  1681. package/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +0 -1030
  1682. package/node_modules/node-gyp/gyp/pylib/packaging/tags.py +0 -541
  1683. package/node_modules/node-gyp/gyp/pylib/packaging/utils.py +0 -172
  1684. package/node_modules/node-gyp/gyp/pylib/packaging/version.py +0 -563
  1685. package/node_modules/node-gyp/gyp/pyproject.toml +0 -116
  1686. package/node_modules/node-gyp/gyp/release-please-config.json +0 -11
  1687. package/node_modules/node-gyp/gyp/test_gyp.py +0 -260
  1688. package/node_modules/node-gyp/lib/Find-VisualStudio.cs +0 -250
  1689. package/node_modules/node-gyp/lib/build.js +0 -230
  1690. package/node_modules/node-gyp/lib/clean.js +0 -15
  1691. package/node_modules/node-gyp/lib/configure.js +0 -328
  1692. package/node_modules/node-gyp/lib/create-config-gypi.js +0 -158
  1693. package/node_modules/node-gyp/lib/download.js +0 -86
  1694. package/node_modules/node-gyp/lib/find-node-directory.js +0 -63
  1695. package/node_modules/node-gyp/lib/find-python.js +0 -304
  1696. package/node_modules/node-gyp/lib/find-visualstudio.js +0 -606
  1697. package/node_modules/node-gyp/lib/install.js +0 -411
  1698. package/node_modules/node-gyp/lib/list.js +0 -26
  1699. package/node_modules/node-gyp/lib/log.js +0 -168
  1700. package/node_modules/node-gyp/lib/node-gyp.js +0 -199
  1701. package/node_modules/node-gyp/lib/process-release.js +0 -144
  1702. package/node_modules/node-gyp/lib/rebuild.js +0 -12
  1703. package/node_modules/node-gyp/lib/remove.js +0 -43
  1704. package/node_modules/node-gyp/lib/util.js +0 -81
  1705. package/node_modules/node-gyp/macOS_Catalina_acid_test.sh +0 -21
  1706. package/node_modules/node-gyp/package.json +0 -54
  1707. package/node_modules/node-gyp/release-please-config.json +0 -40
  1708. package/node_modules/node-gyp/src/win_delay_load_hook.cc +0 -41
  1709. package/node_modules/nopt/LICENSE +0 -15
  1710. package/node_modules/nopt/README.md +0 -212
  1711. package/node_modules/nopt/bin/nopt.js +0 -29
  1712. package/node_modules/nopt/lib/nopt-lib.js +0 -478
  1713. package/node_modules/nopt/lib/nopt.js +0 -32
  1714. package/node_modules/nopt/lib/type-defs.js +0 -86
  1715. package/node_modules/nopt/package.json +0 -50
  1716. package/node_modules/npm-package-arg/LICENSE +0 -15
  1717. package/node_modules/npm-package-arg/README.md +0 -104
  1718. package/node_modules/npm-package-arg/lib/npa.js +0 -479
  1719. package/node_modules/npm-package-arg/package.json +0 -60
  1720. package/node_modules/npm-path/.babelrc +0 -3
  1721. package/node_modules/npm-path/.travis.yml +0 -45
  1722. package/node_modules/npm-path/LICENSE +0 -21
  1723. package/node_modules/npm-path/Readme.md +0 -163
  1724. package/node_modules/npm-path/bin/npm-path +0 -5
  1725. package/node_modules/npm-path/build-test/index.js +0 -233
  1726. package/node_modules/npm-path/find-prefix.js +0 -74
  1727. package/node_modules/npm-path/index.js +0 -219
  1728. package/node_modules/npm-path/node_modules/isexe/.npmignore +0 -2
  1729. package/node_modules/npm-path/node_modules/isexe/LICENSE +0 -15
  1730. package/node_modules/npm-path/node_modules/isexe/README.md +0 -51
  1731. package/node_modules/npm-path/node_modules/isexe/index.js +0 -57
  1732. package/node_modules/npm-path/node_modules/isexe/mode.js +0 -41
  1733. package/node_modules/npm-path/node_modules/isexe/package.json +0 -31
  1734. package/node_modules/npm-path/node_modules/isexe/test/basic.js +0 -221
  1735. package/node_modules/npm-path/node_modules/isexe/windows.js +0 -42
  1736. package/node_modules/npm-path/node_modules/which/CHANGELOG.md +0 -152
  1737. package/node_modules/npm-path/node_modules/which/LICENSE +0 -15
  1738. package/node_modules/npm-path/node_modules/which/README.md +0 -51
  1739. package/node_modules/npm-path/node_modules/which/bin/which +0 -52
  1740. package/node_modules/npm-path/node_modules/which/package.json +0 -30
  1741. package/node_modules/npm-path/node_modules/which/which.js +0 -135
  1742. package/node_modules/npm-path/package.json +0 -54
  1743. package/node_modules/npm-path/src/find-prefix.js +0 -76
  1744. package/node_modules/npm-path/src/index.js +0 -217
  1745. package/node_modules/npm-path/test/index.js +0 -238
  1746. package/node_modules/oauth-sign/LICENSE +0 -55
  1747. package/node_modules/oauth-sign/README.md +0 -11
  1748. package/node_modules/oauth-sign/index.js +0 -146
  1749. package/node_modules/oauth-sign/package.json +0 -23
  1750. package/node_modules/once/LICENSE +0 -15
  1751. package/node_modules/once/README.md +0 -79
  1752. package/node_modules/once/once.js +0 -42
  1753. package/node_modules/once/package.json +0 -33
  1754. package/node_modules/package-json/index.d.ts +0 -303
  1755. package/node_modules/package-json/index.js +0 -92
  1756. package/node_modules/package-json/license +0 -9
  1757. package/node_modules/package-json/package.json +0 -53
  1758. package/node_modules/package-json/readme.md +0 -106
  1759. package/node_modules/pako/CHANGELOG.md +0 -90
  1760. package/node_modules/pako/LICENSE +0 -21
  1761. package/node_modules/pako/README.md +0 -176
  1762. package/node_modules/pako/dist/pako.js +0 -6606
  1763. package/node_modules/pako/dist/pako.min.js +0 -3
  1764. package/node_modules/pako/dist/pako_deflate.js +0 -3879
  1765. package/node_modules/pako/dist/pako_deflate.min.js +0 -2
  1766. package/node_modules/pako/dist/pako_inflate.js +0 -3127
  1767. package/node_modules/pako/dist/pako_inflate.min.js +0 -2
  1768. package/node_modules/pako/index.js +0 -14
  1769. package/node_modules/pako/lib/deflate.js +0 -400
  1770. package/node_modules/pako/lib/inflate.js +0 -418
  1771. package/node_modules/pako/lib/utils/common.js +0 -102
  1772. package/node_modules/pako/lib/utils/strings.js +0 -185
  1773. package/node_modules/pako/lib/zlib/adler32.js +0 -32
  1774. package/node_modules/pako/lib/zlib/constants.js +0 -50
  1775. package/node_modules/pako/lib/zlib/crc32.js +0 -41
  1776. package/node_modules/pako/lib/zlib/deflate.js +0 -1855
  1777. package/node_modules/pako/lib/zlib/gzheader.js +0 -40
  1778. package/node_modules/pako/lib/zlib/inffast.js +0 -326
  1779. package/node_modules/pako/lib/zlib/inflate.js +0 -1538
  1780. package/node_modules/pako/lib/zlib/inftrees.js +0 -327
  1781. package/node_modules/pako/lib/zlib/messages.js +0 -13
  1782. package/node_modules/pako/lib/zlib/trees.js +0 -1202
  1783. package/node_modules/pako/lib/zlib/zstream.js +0 -29
  1784. package/node_modules/pako/package.json +0 -40
  1785. package/node_modules/peek-stream/.travis.yml +0 -3
  1786. package/node_modules/peek-stream/LICENSE +0 -21
  1787. package/node_modules/peek-stream/README.md +0 -85
  1788. package/node_modules/peek-stream/example.js +0 -43
  1789. package/node_modules/peek-stream/index.js +0 -77
  1790. package/node_modules/peek-stream/package.json +0 -34
  1791. package/node_modules/peek-stream/test.js +0 -89
  1792. package/node_modules/performance-now/.npmignore +0 -1
  1793. package/node_modules/performance-now/.tm_properties +0 -7
  1794. package/node_modules/performance-now/.travis.yml +0 -6
  1795. package/node_modules/performance-now/README.md +0 -30
  1796. package/node_modules/performance-now/lib/performance-now.js +0 -36
  1797. package/node_modules/performance-now/lib/performance-now.js.map +0 -10
  1798. package/node_modules/performance-now/license.txt +0 -7
  1799. package/node_modules/performance-now/package.json +0 -35
  1800. package/node_modules/performance-now/src/index.d.ts +0 -8
  1801. package/node_modules/performance-now/src/performance-now.coffee +0 -17
  1802. package/node_modules/performance-now/test/mocha.opts +0 -3
  1803. package/node_modules/performance-now/test/performance-now.coffee +0 -43
  1804. package/node_modules/performance-now/test/scripts/delayed-call.coffee +0 -11
  1805. package/node_modules/performance-now/test/scripts/delayed-require.coffee +0 -12
  1806. package/node_modules/performance-now/test/scripts/difference.coffee +0 -6
  1807. package/node_modules/performance-now/test/scripts/initial-value.coffee +0 -10
  1808. package/node_modules/performance-now/test/scripts.coffee +0 -27
  1809. package/node_modules/picomatch/LICENSE +0 -21
  1810. package/node_modules/picomatch/README.md +0 -749
  1811. package/node_modules/picomatch/index.js +0 -17
  1812. package/node_modules/picomatch/lib/constants.js +0 -184
  1813. package/node_modules/picomatch/lib/parse.js +0 -1386
  1814. package/node_modules/picomatch/lib/picomatch.js +0 -349
  1815. package/node_modules/picomatch/lib/scan.js +0 -391
  1816. package/node_modules/picomatch/lib/utils.js +0 -72
  1817. package/node_modules/picomatch/package.json +0 -82
  1818. package/node_modules/picomatch/posix.js +0 -3
  1819. package/node_modules/proc-log/LICENSE +0 -15
  1820. package/node_modules/proc-log/README.md +0 -226
  1821. package/node_modules/proc-log/lib/index.js +0 -158
  1822. package/node_modules/proc-log/package.json +0 -46
  1823. package/node_modules/process-nextick-args/index.js +0 -45
  1824. package/node_modules/process-nextick-args/license.md +0 -19
  1825. package/node_modules/process-nextick-args/package.json +0 -25
  1826. package/node_modules/process-nextick-args/readme.md +0 -18
  1827. package/node_modules/promise-each/LICENSE +0 -21
  1828. package/node_modules/promise-each/README.md +0 -57
  1829. package/node_modules/promise-each/index.js +0 -18
  1830. package/node_modules/promise-each/package.json +0 -32
  1831. package/node_modules/proto-list/LICENSE +0 -15
  1832. package/node_modules/proto-list/README.md +0 -3
  1833. package/node_modules/proto-list/package.json +0 -18
  1834. package/node_modules/proto-list/proto-list.js +0 -88
  1835. package/node_modules/proto-list/test/basic.js +0 -61
  1836. package/node_modules/psl/LICENSE +0 -9
  1837. package/node_modules/psl/README.md +0 -260
  1838. package/node_modules/psl/SECURITY.md +0 -13
  1839. package/node_modules/psl/browserstack-logo.svg +0 -90
  1840. package/node_modules/psl/data/rules.js +0 -9778
  1841. package/node_modules/psl/dist/psl.cjs +0 -1
  1842. package/node_modules/psl/dist/psl.mjs +0 -10008
  1843. package/node_modules/psl/dist/psl.umd.cjs +0 -1
  1844. package/node_modules/psl/index.js +0 -247
  1845. package/node_modules/psl/package.json +0 -51
  1846. package/node_modules/psl/types/index.d.ts +0 -52
  1847. package/node_modules/psl/types/test.ts +0 -14
  1848. package/node_modules/psl/types/tsconfig.json +0 -22
  1849. package/node_modules/psl/vite.config.js +0 -20
  1850. package/node_modules/pump/.travis.yml +0 -5
  1851. package/node_modules/pump/LICENSE +0 -21
  1852. package/node_modules/pump/README.md +0 -56
  1853. package/node_modules/pump/index.js +0 -82
  1854. package/node_modules/pump/package.json +0 -24
  1855. package/node_modules/pump/test-browser.js +0 -62
  1856. package/node_modules/pump/test-node.js +0 -53
  1857. package/node_modules/pumpify/.travis.yml +0 -8
  1858. package/node_modules/pumpify/LICENSE +0 -21
  1859. package/node_modules/pumpify/README.md +0 -56
  1860. package/node_modules/pumpify/index.js +0 -60
  1861. package/node_modules/pumpify/package.json +0 -37
  1862. package/node_modules/pumpify/test.js +0 -235
  1863. package/node_modules/punycode/LICENSE-MIT.txt +0 -20
  1864. package/node_modules/punycode/README.md +0 -148
  1865. package/node_modules/punycode/package.json +0 -58
  1866. package/node_modules/punycode/punycode.es6.js +0 -444
  1867. package/node_modules/punycode/punycode.js +0 -443
  1868. package/node_modules/pupa/index.d.ts +0 -98
  1869. package/node_modules/pupa/index.js +0 -119
  1870. package/node_modules/pupa/license +0 -9
  1871. package/node_modules/pupa/package.json +0 -52
  1872. package/node_modules/pupa/readme.md +0 -135
  1873. package/node_modules/qs/.editorconfig +0 -43
  1874. package/node_modules/qs/.eslintrc +0 -37
  1875. package/node_modules/qs/.github/FUNDING.yml +0 -12
  1876. package/node_modules/qs/.nycrc +0 -13
  1877. package/node_modules/qs/CHANGELOG.md +0 -262
  1878. package/node_modules/qs/LICENSE.md +0 -29
  1879. package/node_modules/qs/README.md +0 -516
  1880. package/node_modules/qs/dist/qs.js +0 -648
  1881. package/node_modules/qs/lib/formats.js +0 -18
  1882. package/node_modules/qs/lib/index.js +0 -11
  1883. package/node_modules/qs/lib/parse.js +0 -175
  1884. package/node_modules/qs/lib/stringify.js +0 -217
  1885. package/node_modules/qs/lib/utils.js +0 -215
  1886. package/node_modules/qs/package.json +0 -63
  1887. package/node_modules/qs/test/index.js +0 -7
  1888. package/node_modules/qs/test/parse.js +0 -658
  1889. package/node_modules/qs/test/stringify.js +0 -648
  1890. package/node_modules/qs/test/utils.js +0 -65
  1891. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  1892. package/node_modules/rc/LICENSE.BSD +0 -26
  1893. package/node_modules/rc/LICENSE.MIT +0 -24
  1894. package/node_modules/rc/README.md +0 -227
  1895. package/node_modules/rc/browser.js +0 -7
  1896. package/node_modules/rc/cli.js +0 -4
  1897. package/node_modules/rc/index.js +0 -53
  1898. package/node_modules/rc/lib/utils.js +0 -104
  1899. package/node_modules/rc/node_modules/strip-json-comments/index.js +0 -70
  1900. package/node_modules/rc/node_modules/strip-json-comments/license +0 -21
  1901. package/node_modules/rc/node_modules/strip-json-comments/package.json +0 -42
  1902. package/node_modules/rc/node_modules/strip-json-comments/readme.md +0 -64
  1903. package/node_modules/rc/package.json +0 -29
  1904. package/node_modules/rc/test/ini.js +0 -16
  1905. package/node_modules/rc/test/nested-env-vars.js +0 -50
  1906. package/node_modules/rc/test/test.js +0 -59
  1907. package/node_modules/readable-stream/.travis.yml +0 -34
  1908. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  1909. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  1910. package/node_modules/readable-stream/LICENSE +0 -47
  1911. package/node_modules/readable-stream/README.md +0 -58
  1912. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  1913. package/node_modules/readable-stream/duplex-browser.js +0 -1
  1914. package/node_modules/readable-stream/duplex.js +0 -1
  1915. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  1916. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  1917. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  1918. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  1919. package/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  1920. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  1921. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  1922. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  1923. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  1924. package/node_modules/readable-stream/package.json +0 -52
  1925. package/node_modules/readable-stream/passthrough.js +0 -1
  1926. package/node_modules/readable-stream/readable-browser.js +0 -7
  1927. package/node_modules/readable-stream/readable.js +0 -19
  1928. package/node_modules/readable-stream/transform.js +0 -1
  1929. package/node_modules/readable-stream/writable-browser.js +0 -1
  1930. package/node_modules/readable-stream/writable.js +0 -8
  1931. package/node_modules/registry-auth-token/CHANGELOG.md +0 -185
  1932. package/node_modules/registry-auth-token/LICENSE +0 -21
  1933. package/node_modules/registry-auth-token/README.md +0 -71
  1934. package/node_modules/registry-auth-token/index.d.ts +0 -67
  1935. package/node_modules/registry-auth-token/index.js +0 -157
  1936. package/node_modules/registry-auth-token/package.json +0 -48
  1937. package/node_modules/registry-auth-token/registry-url.d.ts +0 -15
  1938. package/node_modules/registry-auth-token/registry-url.js +0 -7
  1939. package/node_modules/registry-url/index.d.ts +0 -23
  1940. package/node_modules/registry-url/index.js +0 -7
  1941. package/node_modules/registry-url/license +0 -9
  1942. package/node_modules/registry-url/package.json +0 -46
  1943. package/node_modules/registry-url/readme.md +0 -55
  1944. package/node_modules/request/CHANGELOG.md +0 -717
  1945. package/node_modules/request/LICENSE +0 -55
  1946. package/node_modules/request/README.md +0 -1133
  1947. package/node_modules/request/index.js +0 -155
  1948. package/node_modules/request/lib/auth.js +0 -167
  1949. package/node_modules/request/lib/cookies.js +0 -38
  1950. package/node_modules/request/lib/getProxyFromURI.js +0 -79
  1951. package/node_modules/request/lib/har.js +0 -205
  1952. package/node_modules/request/lib/hawk.js +0 -89
  1953. package/node_modules/request/lib/helpers.js +0 -66
  1954. package/node_modules/request/lib/multipart.js +0 -112
  1955. package/node_modules/request/lib/oauth.js +0 -148
  1956. package/node_modules/request/lib/querystring.js +0 -50
  1957. package/node_modules/request/lib/redirect.js +0 -154
  1958. package/node_modules/request/lib/tunnel.js +0 -175
  1959. package/node_modules/request/package.json +0 -86
  1960. package/node_modules/request/request.js +0 -1553
  1961. package/node_modules/safe-buffer/LICENSE +0 -21
  1962. package/node_modules/safe-buffer/README.md +0 -584
  1963. package/node_modules/safe-buffer/index.d.ts +0 -187
  1964. package/node_modules/safe-buffer/index.js +0 -62
  1965. package/node_modules/safe-buffer/package.json +0 -37
  1966. package/node_modules/safer-buffer/LICENSE +0 -21
  1967. package/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  1968. package/node_modules/safer-buffer/Readme.md +0 -156
  1969. package/node_modules/safer-buffer/dangerous.js +0 -58
  1970. package/node_modules/safer-buffer/package.json +0 -34
  1971. package/node_modules/safer-buffer/safer.js +0 -77
  1972. package/node_modules/safer-buffer/tests.js +0 -406
  1973. package/node_modules/semver/LICENSE +0 -15
  1974. package/node_modules/semver/README.md +0 -680
  1975. package/node_modules/semver/bin/semver.js +0 -195
  1976. package/node_modules/semver/classes/comparator.js +0 -143
  1977. package/node_modules/semver/classes/index.js +0 -7
  1978. package/node_modules/semver/classes/range.js +0 -577
  1979. package/node_modules/semver/classes/semver.js +0 -350
  1980. package/node_modules/semver/functions/clean.js +0 -8
  1981. package/node_modules/semver/functions/cmp.js +0 -54
  1982. package/node_modules/semver/functions/coerce.js +0 -62
  1983. package/node_modules/semver/functions/compare-build.js +0 -9
  1984. package/node_modules/semver/functions/compare-loose.js +0 -5
  1985. package/node_modules/semver/functions/compare.js +0 -7
  1986. package/node_modules/semver/functions/diff.js +0 -60
  1987. package/node_modules/semver/functions/eq.js +0 -5
  1988. package/node_modules/semver/functions/gt.js +0 -5
  1989. package/node_modules/semver/functions/gte.js +0 -5
  1990. package/node_modules/semver/functions/inc.js +0 -21
  1991. package/node_modules/semver/functions/lt.js +0 -5
  1992. package/node_modules/semver/functions/lte.js +0 -5
  1993. package/node_modules/semver/functions/major.js +0 -5
  1994. package/node_modules/semver/functions/minor.js +0 -5
  1995. package/node_modules/semver/functions/neq.js +0 -5
  1996. package/node_modules/semver/functions/parse.js +0 -18
  1997. package/node_modules/semver/functions/patch.js +0 -5
  1998. package/node_modules/semver/functions/prerelease.js +0 -8
  1999. package/node_modules/semver/functions/rcompare.js +0 -5
  2000. package/node_modules/semver/functions/rsort.js +0 -5
  2001. package/node_modules/semver/functions/satisfies.js +0 -12
  2002. package/node_modules/semver/functions/sort.js +0 -5
  2003. package/node_modules/semver/functions/truncate.js +0 -48
  2004. package/node_modules/semver/functions/valid.js +0 -8
  2005. package/node_modules/semver/index.js +0 -93
  2006. package/node_modules/semver/internal/constants.js +0 -37
  2007. package/node_modules/semver/internal/debug.js +0 -11
  2008. package/node_modules/semver/internal/identifiers.js +0 -29
  2009. package/node_modules/semver/internal/lrucache.js +0 -42
  2010. package/node_modules/semver/internal/parse-options.js +0 -17
  2011. package/node_modules/semver/internal/re.js +0 -223
  2012. package/node_modules/semver/package.json +0 -78
  2013. package/node_modules/semver/preload.js +0 -4
  2014. package/node_modules/semver/range.bnf +0 -17
  2015. package/node_modules/semver/ranges/gtr.js +0 -6
  2016. package/node_modules/semver/ranges/intersects.js +0 -9
  2017. package/node_modules/semver/ranges/ltr.js +0 -6
  2018. package/node_modules/semver/ranges/max-satisfying.js +0 -27
  2019. package/node_modules/semver/ranges/min-satisfying.js +0 -26
  2020. package/node_modules/semver/ranges/min-version.js +0 -63
  2021. package/node_modules/semver/ranges/outside.js +0 -82
  2022. package/node_modules/semver/ranges/simplify.js +0 -49
  2023. package/node_modules/semver/ranges/subset.js +0 -249
  2024. package/node_modules/semver/ranges/to-comparators.js +0 -10
  2025. package/node_modules/semver/ranges/valid.js +0 -13
  2026. package/node_modules/sshpk/.travis.yml +0 -11
  2027. package/node_modules/sshpk/Jenkinsfile +0 -86
  2028. package/node_modules/sshpk/LICENSE +0 -18
  2029. package/node_modules/sshpk/README.md +0 -804
  2030. package/node_modules/sshpk/bin/sshpk-conv +0 -243
  2031. package/node_modules/sshpk/bin/sshpk-sign +0 -191
  2032. package/node_modules/sshpk/bin/sshpk-verify +0 -167
  2033. package/node_modules/sshpk/lib/algs.js +0 -168
  2034. package/node_modules/sshpk/lib/certificate.js +0 -410
  2035. package/node_modules/sshpk/lib/dhe.js +0 -397
  2036. package/node_modules/sshpk/lib/ed-compat.js +0 -92
  2037. package/node_modules/sshpk/lib/errors.js +0 -84
  2038. package/node_modules/sshpk/lib/fingerprint.js +0 -220
  2039. package/node_modules/sshpk/lib/formats/auto.js +0 -124
  2040. package/node_modules/sshpk/lib/formats/dnssec.js +0 -287
  2041. package/node_modules/sshpk/lib/formats/openssh-cert.js +0 -352
  2042. package/node_modules/sshpk/lib/formats/pem.js +0 -290
  2043. package/node_modules/sshpk/lib/formats/pkcs1.js +0 -373
  2044. package/node_modules/sshpk/lib/formats/pkcs8.js +0 -643
  2045. package/node_modules/sshpk/lib/formats/putty.js +0 -194
  2046. package/node_modules/sshpk/lib/formats/rfc4253.js +0 -166
  2047. package/node_modules/sshpk/lib/formats/ssh-private.js +0 -262
  2048. package/node_modules/sshpk/lib/formats/ssh.js +0 -115
  2049. package/node_modules/sshpk/lib/formats/x509-pem.js +0 -88
  2050. package/node_modules/sshpk/lib/formats/x509.js +0 -752
  2051. package/node_modules/sshpk/lib/identity.js +0 -373
  2052. package/node_modules/sshpk/lib/index.js +0 -40
  2053. package/node_modules/sshpk/lib/key.js +0 -294
  2054. package/node_modules/sshpk/lib/private-key.js +0 -247
  2055. package/node_modules/sshpk/lib/signature.js +0 -314
  2056. package/node_modules/sshpk/lib/ssh-buffer.js +0 -149
  2057. package/node_modules/sshpk/lib/utils.js +0 -404
  2058. package/node_modules/sshpk/man/man1/sshpk-conv.1 +0 -135
  2059. package/node_modules/sshpk/man/man1/sshpk-sign.1 +0 -81
  2060. package/node_modules/sshpk/man/man1/sshpk-verify.1 +0 -68
  2061. package/node_modules/sshpk/package.json +0 -59
  2062. package/node_modules/stream-shift/.github/workflows/test.yml +0 -23
  2063. package/node_modules/stream-shift/LICENSE +0 -21
  2064. package/node_modules/stream-shift/README.md +0 -25
  2065. package/node_modules/stream-shift/index.js +0 -21
  2066. package/node_modules/stream-shift/package.json +0 -25
  2067. package/node_modules/stream-shift/test.js +0 -48
  2068. package/node_modules/streamx/LICENSE +0 -21
  2069. package/node_modules/streamx/README.md +0 -550
  2070. package/node_modules/streamx/index.d.ts +0 -198
  2071. package/node_modules/streamx/index.js +0 -1314
  2072. package/node_modules/streamx/lib/errors.d.ts +0 -13
  2073. package/node_modules/streamx/lib/errors.js +0 -47
  2074. package/node_modules/streamx/package.json +0 -51
  2075. package/node_modules/streamx/runtime.d.ts +0 -55
  2076. package/node_modules/string-width/index.d.ts +0 -39
  2077. package/node_modules/string-width/index.js +0 -82
  2078. package/node_modules/string-width/license +0 -9
  2079. package/node_modules/string-width/node_modules/ansi-regex/index.d.ts +0 -33
  2080. package/node_modules/string-width/node_modules/ansi-regex/index.js +0 -14
  2081. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  2082. package/node_modules/string-width/node_modules/ansi-regex/package.json +0 -61
  2083. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -66
  2084. package/node_modules/string-width/node_modules/strip-ansi/index.d.ts +0 -15
  2085. package/node_modules/string-width/node_modules/strip-ansi/index.js +0 -19
  2086. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  2087. package/node_modules/string-width/node_modules/strip-ansi/package.json +0 -59
  2088. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -37
  2089. package/node_modules/string-width/package.json +0 -64
  2090. package/node_modules/string-width/readme.md +0 -66
  2091. package/node_modules/string_decoder/.travis.yml +0 -50
  2092. package/node_modules/string_decoder/LICENSE +0 -48
  2093. package/node_modules/string_decoder/README.md +0 -47
  2094. package/node_modules/string_decoder/lib/string_decoder.js +0 -296
  2095. package/node_modules/string_decoder/package.json +0 -31
  2096. package/node_modules/strip-ansi/index.d.ts +0 -17
  2097. package/node_modules/strip-ansi/index.js +0 -4
  2098. package/node_modules/strip-ansi/license +0 -9
  2099. package/node_modules/strip-ansi/package.json +0 -54
  2100. package/node_modules/strip-ansi/readme.md +0 -46
  2101. package/node_modules/stubborn-fs/dist/constants.d.ts +0 -11
  2102. package/node_modules/stubborn-fs/dist/constants.js +0 -16
  2103. package/node_modules/stubborn-fs/dist/handlers.d.ts +0 -7
  2104. package/node_modules/stubborn-fs/dist/handlers.js +0 -36
  2105. package/node_modules/stubborn-fs/dist/index.d.ts +0 -274
  2106. package/node_modules/stubborn-fs/dist/index.js +0 -52
  2107. package/node_modules/stubborn-fs/license +0 -21
  2108. package/node_modules/stubborn-fs/package.json +0 -32
  2109. package/node_modules/stubborn-fs/readme.md +0 -69
  2110. package/node_modules/stubborn-utils/dist/attemptify_async.d.ts +0 -3
  2111. package/node_modules/stubborn-utils/dist/attemptify_async.js +0 -10
  2112. package/node_modules/stubborn-utils/dist/attemptify_sync.d.ts +0 -3
  2113. package/node_modules/stubborn-utils/dist/attemptify_sync.js +0 -15
  2114. package/node_modules/stubborn-utils/dist/constants.d.ts +0 -2
  2115. package/node_modules/stubborn-utils/dist/constants.js +0 -4
  2116. package/node_modules/stubborn-utils/dist/index.d.ts +0 -9
  2117. package/node_modules/stubborn-utils/dist/index.js +0 -7
  2118. package/node_modules/stubborn-utils/dist/retryify_async.d.ts +0 -3
  2119. package/node_modules/stubborn-utils/dist/retryify_async.js +0 -29
  2120. package/node_modules/stubborn-utils/dist/retryify_sync.d.ts +0 -3
  2121. package/node_modules/stubborn-utils/dist/retryify_sync.js +0 -25
  2122. package/node_modules/stubborn-utils/dist/types.d.ts +0 -44
  2123. package/node_modules/stubborn-utils/dist/types.js +0 -2
  2124. package/node_modules/stubborn-utils/license +0 -21
  2125. package/node_modules/stubborn-utils/package.json +0 -30
  2126. package/node_modules/stubborn-utils/readme.md +0 -139
  2127. package/node_modules/tar/LICENSE.md +0 -55
  2128. package/node_modules/tar/README.md +0 -1224
  2129. package/node_modules/tar/dist/commonjs/create.d.ts +0 -3
  2130. package/node_modules/tar/dist/commonjs/create.d.ts.map +0 -1
  2131. package/node_modules/tar/dist/commonjs/create.js +0 -82
  2132. package/node_modules/tar/dist/commonjs/create.js.map +0 -1
  2133. package/node_modules/tar/dist/commonjs/cwd-error.d.ts +0 -8
  2134. package/node_modules/tar/dist/commonjs/cwd-error.d.ts.map +0 -1
  2135. package/node_modules/tar/dist/commonjs/cwd-error.js +0 -18
  2136. package/node_modules/tar/dist/commonjs/cwd-error.js.map +0 -1
  2137. package/node_modules/tar/dist/commonjs/extract.d.ts +0 -3
  2138. package/node_modules/tar/dist/commonjs/extract.d.ts.map +0 -1
  2139. package/node_modules/tar/dist/commonjs/extract.js +0 -88
  2140. package/node_modules/tar/dist/commonjs/extract.js.map +0 -1
  2141. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts +0 -2
  2142. package/node_modules/tar/dist/commonjs/get-write-flag.d.ts.map +0 -1
  2143. package/node_modules/tar/dist/commonjs/get-write-flag.js +0 -32
  2144. package/node_modules/tar/dist/commonjs/get-write-flag.js.map +0 -1
  2145. package/node_modules/tar/dist/commonjs/header.d.ts +0 -53
  2146. package/node_modules/tar/dist/commonjs/header.d.ts.map +0 -1
  2147. package/node_modules/tar/dist/commonjs/header.js +0 -347
  2148. package/node_modules/tar/dist/commonjs/header.js.map +0 -1
  2149. package/node_modules/tar/dist/commonjs/index.d.ts +0 -20
  2150. package/node_modules/tar/dist/commonjs/index.d.ts.map +0 -1
  2151. package/node_modules/tar/dist/commonjs/index.js +0 -64
  2152. package/node_modules/tar/dist/commonjs/index.js.map +0 -1
  2153. package/node_modules/tar/dist/commonjs/index.min.js +0 -4
  2154. package/node_modules/tar/dist/commonjs/index.min.js.map +0 -7
  2155. package/node_modules/tar/dist/commonjs/large-numbers.d.ts +0 -3
  2156. package/node_modules/tar/dist/commonjs/large-numbers.d.ts.map +0 -1
  2157. package/node_modules/tar/dist/commonjs/large-numbers.js +0 -99
  2158. package/node_modules/tar/dist/commonjs/large-numbers.js.map +0 -1
  2159. package/node_modules/tar/dist/commonjs/list.d.ts +0 -7
  2160. package/node_modules/tar/dist/commonjs/list.d.ts.map +0 -1
  2161. package/node_modules/tar/dist/commonjs/list.js +0 -145
  2162. package/node_modules/tar/dist/commonjs/list.js.map +0 -1
  2163. package/node_modules/tar/dist/commonjs/make-command.d.ts +0 -49
  2164. package/node_modules/tar/dist/commonjs/make-command.d.ts.map +0 -1
  2165. package/node_modules/tar/dist/commonjs/make-command.js +0 -52
  2166. package/node_modules/tar/dist/commonjs/make-command.js.map +0 -1
  2167. package/node_modules/tar/dist/commonjs/mkdir.d.ts +0 -25
  2168. package/node_modules/tar/dist/commonjs/mkdir.d.ts.map +0 -1
  2169. package/node_modules/tar/dist/commonjs/mkdir.js +0 -187
  2170. package/node_modules/tar/dist/commonjs/mkdir.js.map +0 -1
  2171. package/node_modules/tar/dist/commonjs/mode-fix.d.ts +0 -2
  2172. package/node_modules/tar/dist/commonjs/mode-fix.d.ts.map +0 -1
  2173. package/node_modules/tar/dist/commonjs/mode-fix.js +0 -29
  2174. package/node_modules/tar/dist/commonjs/mode-fix.js.map +0 -1
  2175. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts +0 -2
  2176. package/node_modules/tar/dist/commonjs/normalize-unicode.d.ts.map +0 -1
  2177. package/node_modules/tar/dist/commonjs/normalize-unicode.js +0 -38
  2178. package/node_modules/tar/dist/commonjs/normalize-unicode.js.map +0 -1
  2179. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts +0 -2
  2180. package/node_modules/tar/dist/commonjs/normalize-windows-path.d.ts.map +0 -1
  2181. package/node_modules/tar/dist/commonjs/normalize-windows-path.js +0 -12
  2182. package/node_modules/tar/dist/commonjs/normalize-windows-path.js.map +0 -1
  2183. package/node_modules/tar/dist/commonjs/options.d.ts +0 -596
  2184. package/node_modules/tar/dist/commonjs/options.d.ts.map +0 -1
  2185. package/node_modules/tar/dist/commonjs/options.js +0 -66
  2186. package/node_modules/tar/dist/commonjs/options.js.map +0 -1
  2187. package/node_modules/tar/dist/commonjs/pack.d.ts +0 -105
  2188. package/node_modules/tar/dist/commonjs/pack.d.ts.map +0 -1
  2189. package/node_modules/tar/dist/commonjs/pack.js +0 -544
  2190. package/node_modules/tar/dist/commonjs/pack.js.map +0 -1
  2191. package/node_modules/tar/dist/commonjs/package.json +0 -3
  2192. package/node_modules/tar/dist/commonjs/parse.d.ts +0 -85
  2193. package/node_modules/tar/dist/commonjs/parse.d.ts.map +0 -1
  2194. package/node_modules/tar/dist/commonjs/parse.js +0 -610
  2195. package/node_modules/tar/dist/commonjs/parse.js.map +0 -1
  2196. package/node_modules/tar/dist/commonjs/path-reservations.d.ts +0 -11
  2197. package/node_modules/tar/dist/commonjs/path-reservations.d.ts.map +0 -1
  2198. package/node_modules/tar/dist/commonjs/path-reservations.js +0 -170
  2199. package/node_modules/tar/dist/commonjs/path-reservations.js.map +0 -1
  2200. package/node_modules/tar/dist/commonjs/pax.d.ts +0 -26
  2201. package/node_modules/tar/dist/commonjs/pax.d.ts.map +0 -1
  2202. package/node_modules/tar/dist/commonjs/pax.js +0 -158
  2203. package/node_modules/tar/dist/commonjs/pax.js.map +0 -1
  2204. package/node_modules/tar/dist/commonjs/process-umask.d.ts +0 -2
  2205. package/node_modules/tar/dist/commonjs/process-umask.d.ts.map +0 -1
  2206. package/node_modules/tar/dist/commonjs/process-umask.js +0 -7
  2207. package/node_modules/tar/dist/commonjs/process-umask.js.map +0 -1
  2208. package/node_modules/tar/dist/commonjs/read-entry.d.ts +0 -36
  2209. package/node_modules/tar/dist/commonjs/read-entry.d.ts.map +0 -1
  2210. package/node_modules/tar/dist/commonjs/read-entry.js +0 -136
  2211. package/node_modules/tar/dist/commonjs/read-entry.js.map +0 -1
  2212. package/node_modules/tar/dist/commonjs/replace.d.ts +0 -2
  2213. package/node_modules/tar/dist/commonjs/replace.d.ts.map +0 -1
  2214. package/node_modules/tar/dist/commonjs/replace.js +0 -227
  2215. package/node_modules/tar/dist/commonjs/replace.js.map +0 -1
  2216. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts +0 -2
  2217. package/node_modules/tar/dist/commonjs/strip-absolute-path.d.ts.map +0 -1
  2218. package/node_modules/tar/dist/commonjs/strip-absolute-path.js +0 -29
  2219. package/node_modules/tar/dist/commonjs/strip-absolute-path.js.map +0 -1
  2220. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts +0 -2
  2221. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.d.ts.map +0 -1
  2222. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +0 -18
  2223. package/node_modules/tar/dist/commonjs/strip-trailing-slashes.js.map +0 -1
  2224. package/node_modules/tar/dist/commonjs/symlink-error.d.ts +0 -9
  2225. package/node_modules/tar/dist/commonjs/symlink-error.d.ts.map +0 -1
  2226. package/node_modules/tar/dist/commonjs/symlink-error.js +0 -19
  2227. package/node_modules/tar/dist/commonjs/symlink-error.js.map +0 -1
  2228. package/node_modules/tar/dist/commonjs/types.d.ts +0 -16
  2229. package/node_modules/tar/dist/commonjs/types.d.ts.map +0 -1
  2230. package/node_modules/tar/dist/commonjs/types.js +0 -70
  2231. package/node_modules/tar/dist/commonjs/types.js.map +0 -1
  2232. package/node_modules/tar/dist/commonjs/unpack.d.ts +0 -101
  2233. package/node_modules/tar/dist/commonjs/unpack.d.ts.map +0 -1
  2234. package/node_modules/tar/dist/commonjs/unpack.js +0 -932
  2235. package/node_modules/tar/dist/commonjs/unpack.js.map +0 -1
  2236. package/node_modules/tar/dist/commonjs/update.d.ts +0 -2
  2237. package/node_modules/tar/dist/commonjs/update.d.ts.map +0 -1
  2238. package/node_modules/tar/dist/commonjs/update.js +0 -33
  2239. package/node_modules/tar/dist/commonjs/update.js.map +0 -1
  2240. package/node_modules/tar/dist/commonjs/warn-method.d.ts +0 -24
  2241. package/node_modules/tar/dist/commonjs/warn-method.d.ts.map +0 -1
  2242. package/node_modules/tar/dist/commonjs/warn-method.js +0 -31
  2243. package/node_modules/tar/dist/commonjs/warn-method.js.map +0 -1
  2244. package/node_modules/tar/dist/commonjs/winchars.d.ts +0 -3
  2245. package/node_modules/tar/dist/commonjs/winchars.d.ts.map +0 -1
  2246. package/node_modules/tar/dist/commonjs/winchars.js +0 -14
  2247. package/node_modules/tar/dist/commonjs/winchars.js.map +0 -1
  2248. package/node_modules/tar/dist/commonjs/write-entry.d.ts +0 -129
  2249. package/node_modules/tar/dist/commonjs/write-entry.d.ts.map +0 -1
  2250. package/node_modules/tar/dist/commonjs/write-entry.js +0 -698
  2251. package/node_modules/tar/dist/commonjs/write-entry.js.map +0 -1
  2252. package/node_modules/tar/dist/esm/create.d.ts +0 -3
  2253. package/node_modules/tar/dist/esm/create.d.ts.map +0 -1
  2254. package/node_modules/tar/dist/esm/create.js +0 -76
  2255. package/node_modules/tar/dist/esm/create.js.map +0 -1
  2256. package/node_modules/tar/dist/esm/cwd-error.d.ts +0 -8
  2257. package/node_modules/tar/dist/esm/cwd-error.d.ts.map +0 -1
  2258. package/node_modules/tar/dist/esm/cwd-error.js +0 -14
  2259. package/node_modules/tar/dist/esm/cwd-error.js.map +0 -1
  2260. package/node_modules/tar/dist/esm/extract.d.ts +0 -3
  2261. package/node_modules/tar/dist/esm/extract.d.ts.map +0 -1
  2262. package/node_modules/tar/dist/esm/extract.js +0 -49
  2263. package/node_modules/tar/dist/esm/extract.js.map +0 -1
  2264. package/node_modules/tar/dist/esm/get-write-flag.d.ts +0 -2
  2265. package/node_modules/tar/dist/esm/get-write-flag.d.ts.map +0 -1
  2266. package/node_modules/tar/dist/esm/get-write-flag.js +0 -26
  2267. package/node_modules/tar/dist/esm/get-write-flag.js.map +0 -1
  2268. package/node_modules/tar/dist/esm/header.d.ts +0 -53
  2269. package/node_modules/tar/dist/esm/header.d.ts.map +0 -1
  2270. package/node_modules/tar/dist/esm/header.js +0 -310
  2271. package/node_modules/tar/dist/esm/header.js.map +0 -1
  2272. package/node_modules/tar/dist/esm/index.d.ts +0 -20
  2273. package/node_modules/tar/dist/esm/index.d.ts.map +0 -1
  2274. package/node_modules/tar/dist/esm/index.js +0 -20
  2275. package/node_modules/tar/dist/esm/index.js.map +0 -1
  2276. package/node_modules/tar/dist/esm/index.min.js +0 -4
  2277. package/node_modules/tar/dist/esm/index.min.js.map +0 -7
  2278. package/node_modules/tar/dist/esm/large-numbers.d.ts +0 -3
  2279. package/node_modules/tar/dist/esm/large-numbers.d.ts.map +0 -1
  2280. package/node_modules/tar/dist/esm/large-numbers.js +0 -94
  2281. package/node_modules/tar/dist/esm/large-numbers.js.map +0 -1
  2282. package/node_modules/tar/dist/esm/list.d.ts +0 -7
  2283. package/node_modules/tar/dist/esm/list.d.ts.map +0 -1
  2284. package/node_modules/tar/dist/esm/list.js +0 -105
  2285. package/node_modules/tar/dist/esm/list.js.map +0 -1
  2286. package/node_modules/tar/dist/esm/make-command.d.ts +0 -49
  2287. package/node_modules/tar/dist/esm/make-command.d.ts.map +0 -1
  2288. package/node_modules/tar/dist/esm/make-command.js +0 -48
  2289. package/node_modules/tar/dist/esm/make-command.js.map +0 -1
  2290. package/node_modules/tar/dist/esm/mkdir.d.ts +0 -25
  2291. package/node_modules/tar/dist/esm/mkdir.d.ts.map +0 -1
  2292. package/node_modules/tar/dist/esm/mkdir.js +0 -179
  2293. package/node_modules/tar/dist/esm/mkdir.js.map +0 -1
  2294. package/node_modules/tar/dist/esm/mode-fix.d.ts +0 -2
  2295. package/node_modules/tar/dist/esm/mode-fix.d.ts.map +0 -1
  2296. package/node_modules/tar/dist/esm/mode-fix.js +0 -25
  2297. package/node_modules/tar/dist/esm/mode-fix.js.map +0 -1
  2298. package/node_modules/tar/dist/esm/normalize-unicode.d.ts +0 -2
  2299. package/node_modules/tar/dist/esm/normalize-unicode.d.ts.map +0 -1
  2300. package/node_modules/tar/dist/esm/normalize-unicode.js +0 -34
  2301. package/node_modules/tar/dist/esm/normalize-unicode.js.map +0 -1
  2302. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts +0 -2
  2303. package/node_modules/tar/dist/esm/normalize-windows-path.d.ts.map +0 -1
  2304. package/node_modules/tar/dist/esm/normalize-windows-path.js +0 -9
  2305. package/node_modules/tar/dist/esm/normalize-windows-path.js.map +0 -1
  2306. package/node_modules/tar/dist/esm/options.d.ts +0 -596
  2307. package/node_modules/tar/dist/esm/options.d.ts.map +0 -1
  2308. package/node_modules/tar/dist/esm/options.js +0 -54
  2309. package/node_modules/tar/dist/esm/options.js.map +0 -1
  2310. package/node_modules/tar/dist/esm/pack.d.ts +0 -105
  2311. package/node_modules/tar/dist/esm/pack.d.ts.map +0 -1
  2312. package/node_modules/tar/dist/esm/pack.js +0 -502
  2313. package/node_modules/tar/dist/esm/pack.js.map +0 -1
  2314. package/node_modules/tar/dist/esm/package.json +0 -3
  2315. package/node_modules/tar/dist/esm/parse.d.ts +0 -85
  2316. package/node_modules/tar/dist/esm/parse.d.ts.map +0 -1
  2317. package/node_modules/tar/dist/esm/parse.js +0 -606
  2318. package/node_modules/tar/dist/esm/parse.js.map +0 -1
  2319. package/node_modules/tar/dist/esm/path-reservations.d.ts +0 -11
  2320. package/node_modules/tar/dist/esm/path-reservations.d.ts.map +0 -1
  2321. package/node_modules/tar/dist/esm/path-reservations.js +0 -166
  2322. package/node_modules/tar/dist/esm/path-reservations.js.map +0 -1
  2323. package/node_modules/tar/dist/esm/pax.d.ts +0 -26
  2324. package/node_modules/tar/dist/esm/pax.d.ts.map +0 -1
  2325. package/node_modules/tar/dist/esm/pax.js +0 -154
  2326. package/node_modules/tar/dist/esm/pax.js.map +0 -1
  2327. package/node_modules/tar/dist/esm/process-umask.d.ts +0 -2
  2328. package/node_modules/tar/dist/esm/process-umask.d.ts.map +0 -1
  2329. package/node_modules/tar/dist/esm/process-umask.js +0 -3
  2330. package/node_modules/tar/dist/esm/process-umask.js.map +0 -1
  2331. package/node_modules/tar/dist/esm/read-entry.d.ts +0 -36
  2332. package/node_modules/tar/dist/esm/read-entry.d.ts.map +0 -1
  2333. package/node_modules/tar/dist/esm/read-entry.js +0 -132
  2334. package/node_modules/tar/dist/esm/read-entry.js.map +0 -1
  2335. package/node_modules/tar/dist/esm/replace.d.ts +0 -2
  2336. package/node_modules/tar/dist/esm/replace.d.ts.map +0 -1
  2337. package/node_modules/tar/dist/esm/replace.js +0 -221
  2338. package/node_modules/tar/dist/esm/replace.js.map +0 -1
  2339. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts +0 -2
  2340. package/node_modules/tar/dist/esm/strip-absolute-path.d.ts.map +0 -1
  2341. package/node_modules/tar/dist/esm/strip-absolute-path.js +0 -25
  2342. package/node_modules/tar/dist/esm/strip-absolute-path.js.map +0 -1
  2343. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts +0 -2
  2344. package/node_modules/tar/dist/esm/strip-trailing-slashes.d.ts.map +0 -1
  2345. package/node_modules/tar/dist/esm/strip-trailing-slashes.js +0 -14
  2346. package/node_modules/tar/dist/esm/strip-trailing-slashes.js.map +0 -1
  2347. package/node_modules/tar/dist/esm/symlink-error.d.ts +0 -9
  2348. package/node_modules/tar/dist/esm/symlink-error.d.ts.map +0 -1
  2349. package/node_modules/tar/dist/esm/symlink-error.js +0 -15
  2350. package/node_modules/tar/dist/esm/symlink-error.js.map +0 -1
  2351. package/node_modules/tar/dist/esm/types.d.ts +0 -16
  2352. package/node_modules/tar/dist/esm/types.d.ts.map +0 -1
  2353. package/node_modules/tar/dist/esm/types.js +0 -65
  2354. package/node_modules/tar/dist/esm/types.js.map +0 -1
  2355. package/node_modules/tar/dist/esm/unpack.d.ts +0 -101
  2356. package/node_modules/tar/dist/esm/unpack.d.ts.map +0 -1
  2357. package/node_modules/tar/dist/esm/unpack.js +0 -891
  2358. package/node_modules/tar/dist/esm/unpack.js.map +0 -1
  2359. package/node_modules/tar/dist/esm/update.d.ts +0 -2
  2360. package/node_modules/tar/dist/esm/update.d.ts.map +0 -1
  2361. package/node_modules/tar/dist/esm/update.js +0 -30
  2362. package/node_modules/tar/dist/esm/update.js.map +0 -1
  2363. package/node_modules/tar/dist/esm/warn-method.d.ts +0 -24
  2364. package/node_modules/tar/dist/esm/warn-method.d.ts.map +0 -1
  2365. package/node_modules/tar/dist/esm/warn-method.js +0 -27
  2366. package/node_modules/tar/dist/esm/warn-method.js.map +0 -1
  2367. package/node_modules/tar/dist/esm/winchars.d.ts +0 -3
  2368. package/node_modules/tar/dist/esm/winchars.d.ts.map +0 -1
  2369. package/node_modules/tar/dist/esm/winchars.js +0 -9
  2370. package/node_modules/tar/dist/esm/winchars.js.map +0 -1
  2371. package/node_modules/tar/dist/esm/write-entry.d.ts +0 -129
  2372. package/node_modules/tar/dist/esm/write-entry.d.ts.map +0 -1
  2373. package/node_modules/tar/dist/esm/write-entry.js +0 -656
  2374. package/node_modules/tar/dist/esm/write-entry.js.map +0 -1
  2375. package/node_modules/tar/package.json +0 -298
  2376. package/node_modules/tar-fs/LICENSE +0 -21
  2377. package/node_modules/tar-fs/README.md +0 -154
  2378. package/node_modules/tar-fs/index.js +0 -400
  2379. package/node_modules/tar-fs/node_modules/pump/.github/FUNDING.yml +0 -2
  2380. package/node_modules/tar-fs/node_modules/pump/.travis.yml +0 -5
  2381. package/node_modules/tar-fs/node_modules/pump/LICENSE +0 -21
  2382. package/node_modules/tar-fs/node_modules/pump/README.md +0 -74
  2383. package/node_modules/tar-fs/node_modules/pump/SECURITY.md +0 -5
  2384. package/node_modules/tar-fs/node_modules/pump/empty.js +0 -1
  2385. package/node_modules/tar-fs/node_modules/pump/index.js +0 -86
  2386. package/node_modules/tar-fs/node_modules/pump/package.json +0 -30
  2387. package/node_modules/tar-fs/node_modules/pump/test-browser.js +0 -66
  2388. package/node_modules/tar-fs/node_modules/pump/test-node.js +0 -53
  2389. package/node_modules/tar-fs/package.json +0 -61
  2390. package/node_modules/tar-stream/LICENSE +0 -21
  2391. package/node_modules/tar-stream/README.md +0 -183
  2392. package/node_modules/tar-stream/constants.js +0 -14
  2393. package/node_modules/tar-stream/extract.js +0 -418
  2394. package/node_modules/tar-stream/headers.js +0 -322
  2395. package/node_modules/tar-stream/index.js +0 -2
  2396. package/node_modules/tar-stream/node_modules/b4a/LICENSE +0 -201
  2397. package/node_modules/tar-stream/node_modules/b4a/README.md +0 -153
  2398. package/node_modules/tar-stream/node_modules/b4a/browser.js +0 -541
  2399. package/node_modules/tar-stream/node_modules/b4a/index.js +0 -188
  2400. package/node_modules/tar-stream/node_modules/b4a/lib/ascii.js +0 -31
  2401. package/node_modules/tar-stream/node_modules/b4a/lib/base64.js +0 -64
  2402. package/node_modules/tar-stream/node_modules/b4a/lib/hex.js +0 -51
  2403. package/node_modules/tar-stream/node_modules/b4a/lib/latin1.js +0 -31
  2404. package/node_modules/tar-stream/node_modules/b4a/lib/utf16le.js +0 -40
  2405. package/node_modules/tar-stream/node_modules/b4a/lib/utf8.js +0 -144
  2406. package/node_modules/tar-stream/node_modules/b4a/package.json +0 -51
  2407. package/node_modules/tar-stream/node_modules/b4a/react-native.js +0 -5
  2408. package/node_modules/tar-stream/pack.js +0 -287
  2409. package/node_modules/tar-stream/package.json +0 -42
  2410. package/node_modules/teex/LICENSE +0 -21
  2411. package/node_modules/teex/README.md +0 -31
  2412. package/node_modules/teex/example.js +0 -16
  2413. package/node_modules/teex/index.js +0 -52
  2414. package/node_modules/teex/package.json +0 -26
  2415. package/node_modules/teex/test.js +0 -68
  2416. package/node_modules/text-decoder/LICENSE +0 -201
  2417. package/node_modules/text-decoder/README.md +0 -36
  2418. package/node_modules/text-decoder/index.js +0 -64
  2419. package/node_modules/text-decoder/lib/pass-through-decoder.js +0 -19
  2420. package/node_modules/text-decoder/lib/utf8-decoder.js +0 -185
  2421. package/node_modules/text-decoder/node_modules/b4a/LICENSE +0 -201
  2422. package/node_modules/text-decoder/node_modules/b4a/README.md +0 -153
  2423. package/node_modules/text-decoder/node_modules/b4a/browser.js +0 -541
  2424. package/node_modules/text-decoder/node_modules/b4a/index.js +0 -188
  2425. package/node_modules/text-decoder/node_modules/b4a/lib/ascii.js +0 -31
  2426. package/node_modules/text-decoder/node_modules/b4a/lib/base64.js +0 -64
  2427. package/node_modules/text-decoder/node_modules/b4a/lib/hex.js +0 -51
  2428. package/node_modules/text-decoder/node_modules/b4a/lib/latin1.js +0 -31
  2429. package/node_modules/text-decoder/node_modules/b4a/lib/utf16le.js +0 -40
  2430. package/node_modules/text-decoder/node_modules/b4a/lib/utf8.js +0 -144
  2431. package/node_modules/text-decoder/node_modules/b4a/package.json +0 -51
  2432. package/node_modules/text-decoder/node_modules/b4a/react-native.js +0 -5
  2433. package/node_modules/text-decoder/package.json +0 -39
  2434. package/node_modules/through2/LICENSE.md +0 -9
  2435. package/node_modules/through2/README.md +0 -134
  2436. package/node_modules/through2/package.json +0 -33
  2437. package/node_modules/through2/through2.js +0 -96
  2438. package/node_modules/tinyglobby/LICENSE +0 -21
  2439. package/node_modules/tinyglobby/README.md +0 -25
  2440. package/node_modules/tinyglobby/dist/index.cjs +0 -335
  2441. package/node_modules/tinyglobby/dist/index.d.cts +0 -148
  2442. package/node_modules/tinyglobby/dist/index.d.mts +0 -148
  2443. package/node_modules/tinyglobby/dist/index.mjs +0 -307
  2444. package/node_modules/tinyglobby/package.json +0 -70
  2445. package/node_modules/tough-cookie/LICENSE +0 -12
  2446. package/node_modules/tough-cookie/README.md +0 -527
  2447. package/node_modules/tough-cookie/lib/cookie.js +0 -1482
  2448. package/node_modules/tough-cookie/lib/memstore.js +0 -181
  2449. package/node_modules/tough-cookie/lib/pathMatch.js +0 -61
  2450. package/node_modules/tough-cookie/lib/permuteDomain.js +0 -56
  2451. package/node_modules/tough-cookie/lib/pubsuffix-psl.js +0 -38
  2452. package/node_modules/tough-cookie/lib/store.js +0 -75
  2453. package/node_modules/tough-cookie/lib/version.js +0 -2
  2454. package/node_modules/tough-cookie/package.json +0 -78
  2455. package/node_modules/tunnel-agent/LICENSE +0 -55
  2456. package/node_modules/tunnel-agent/README.md +0 -4
  2457. package/node_modules/tunnel-agent/index.js +0 -244
  2458. package/node_modules/tunnel-agent/package.json +0 -22
  2459. package/node_modules/tweetnacl/.npmignore +0 -4
  2460. package/node_modules/tweetnacl/AUTHORS.md +0 -28
  2461. package/node_modules/tweetnacl/CHANGELOG.md +0 -221
  2462. package/node_modules/tweetnacl/LICENSE +0 -24
  2463. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +0 -20
  2464. package/node_modules/tweetnacl/README.md +0 -459
  2465. package/node_modules/tweetnacl/nacl-fast.js +0 -2388
  2466. package/node_modules/tweetnacl/nacl-fast.min.js +0 -2
  2467. package/node_modules/tweetnacl/nacl.d.ts +0 -98
  2468. package/node_modules/tweetnacl/nacl.js +0 -1175
  2469. package/node_modules/tweetnacl/nacl.min.js +0 -1
  2470. package/node_modules/tweetnacl/package.json +0 -58
  2471. package/node_modules/undici/LICENSE +0 -21
  2472. package/node_modules/undici/README.md +0 -473
  2473. package/node_modules/undici/docs/docs/api/Agent.md +0 -80
  2474. package/node_modules/undici/docs/docs/api/BalancedPool.md +0 -99
  2475. package/node_modules/undici/docs/docs/api/CacheStorage.md +0 -30
  2476. package/node_modules/undici/docs/docs/api/Client.md +0 -277
  2477. package/node_modules/undici/docs/docs/api/Connector.md +0 -115
  2478. package/node_modules/undici/docs/docs/api/ContentType.md +0 -57
  2479. package/node_modules/undici/docs/docs/api/Cookies.md +0 -101
  2480. package/node_modules/undici/docs/docs/api/Debug.md +0 -62
  2481. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +0 -204
  2482. package/node_modules/undici/docs/docs/api/DispatchInterceptor.md +0 -60
  2483. package/node_modules/undici/docs/docs/api/Dispatcher.md +0 -1347
  2484. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +0 -162
  2485. package/node_modules/undici/docs/docs/api/Errors.md +0 -49
  2486. package/node_modules/undici/docs/docs/api/EventSource.md +0 -45
  2487. package/node_modules/undici/docs/docs/api/Fetch.md +0 -52
  2488. package/node_modules/undici/docs/docs/api/MockAgent.md +0 -540
  2489. package/node_modules/undici/docs/docs/api/MockClient.md +0 -77
  2490. package/node_modules/undici/docs/docs/api/MockErrors.md +0 -12
  2491. package/node_modules/undici/docs/docs/api/MockPool.md +0 -547
  2492. package/node_modules/undici/docs/docs/api/Pool.md +0 -84
  2493. package/node_modules/undici/docs/docs/api/PoolStats.md +0 -35
  2494. package/node_modules/undici/docs/docs/api/ProxyAgent.md +0 -131
  2495. package/node_modules/undici/docs/docs/api/RedirectHandler.md +0 -96
  2496. package/node_modules/undici/docs/docs/api/RetryAgent.md +0 -45
  2497. package/node_modules/undici/docs/docs/api/RetryHandler.md +0 -117
  2498. package/node_modules/undici/docs/docs/api/Util.md +0 -25
  2499. package/node_modules/undici/docs/docs/api/WebSocket.md +0 -51
  2500. package/node_modules/undici/docs/docs/api/api-lifecycle.md +0 -91
  2501. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -64
  2502. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +0 -136
  2503. package/node_modules/undici/docs/docs/best-practices/proxy.md +0 -127
  2504. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -20
  2505. package/node_modules/undici/index-fetch.js +0 -35
  2506. package/node_modules/undici/index.d.ts +0 -3
  2507. package/node_modules/undici/index.js +0 -169
  2508. package/node_modules/undici/lib/api/abort-signal.js +0 -57
  2509. package/node_modules/undici/lib/api/api-connect.js +0 -108
  2510. package/node_modules/undici/lib/api/api-pipeline.js +0 -251
  2511. package/node_modules/undici/lib/api/api-request.js +0 -214
  2512. package/node_modules/undici/lib/api/api-stream.js +0 -220
  2513. package/node_modules/undici/lib/api/api-upgrade.js +0 -108
  2514. package/node_modules/undici/lib/api/index.js +0 -7
  2515. package/node_modules/undici/lib/api/readable.js +0 -385
  2516. package/node_modules/undici/lib/api/util.js +0 -93
  2517. package/node_modules/undici/lib/core/connect.js +0 -240
  2518. package/node_modules/undici/lib/core/constants.js +0 -118
  2519. package/node_modules/undici/lib/core/diagnostics.js +0 -202
  2520. package/node_modules/undici/lib/core/errors.js +0 -425
  2521. package/node_modules/undici/lib/core/request.js +0 -405
  2522. package/node_modules/undici/lib/core/symbols.js +0 -67
  2523. package/node_modules/undici/lib/core/tree.js +0 -152
  2524. package/node_modules/undici/lib/core/util.js +0 -719
  2525. package/node_modules/undici/lib/dispatcher/agent.js +0 -129
  2526. package/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -209
  2527. package/node_modules/undici/lib/dispatcher/client-h1.js +0 -1487
  2528. package/node_modules/undici/lib/dispatcher/client-h2.js +0 -744
  2529. package/node_modules/undici/lib/dispatcher/client.js +0 -623
  2530. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -199
  2531. package/node_modules/undici/lib/dispatcher/dispatcher.js +0 -65
  2532. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -160
  2533. package/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -117
  2534. package/node_modules/undici/lib/dispatcher/pool-base.js +0 -194
  2535. package/node_modules/undici/lib/dispatcher/pool-stats.js +0 -34
  2536. package/node_modules/undici/lib/dispatcher/pool.js +0 -107
  2537. package/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -274
  2538. package/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  2539. package/node_modules/undici/lib/global.js +0 -32
  2540. package/node_modules/undici/lib/handler/decorator-handler.js +0 -44
  2541. package/node_modules/undici/lib/handler/redirect-handler.js +0 -232
  2542. package/node_modules/undici/lib/handler/retry-handler.js +0 -374
  2543. package/node_modules/undici/lib/interceptor/dns.js +0 -375
  2544. package/node_modules/undici/lib/interceptor/dump.js +0 -123
  2545. package/node_modules/undici/lib/interceptor/redirect-interceptor.js +0 -21
  2546. package/node_modules/undici/lib/interceptor/redirect.js +0 -24
  2547. package/node_modules/undici/lib/interceptor/response-error.js +0 -86
  2548. package/node_modules/undici/lib/interceptor/retry.js +0 -19
  2549. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  2550. package/node_modules/undici/lib/llhttp/constants.js +0 -278
  2551. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -5
  2552. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -5
  2553. package/node_modules/undici/lib/llhttp/utils.js +0 -15
  2554. package/node_modules/undici/lib/mock/mock-agent.js +0 -160
  2555. package/node_modules/undici/lib/mock/mock-client.js +0 -59
  2556. package/node_modules/undici/lib/mock/mock-errors.js +0 -28
  2557. package/node_modules/undici/lib/mock/mock-interceptor.js +0 -207
  2558. package/node_modules/undici/lib/mock/mock-pool.js +0 -59
  2559. package/node_modules/undici/lib/mock/mock-symbols.js +0 -23
  2560. package/node_modules/undici/lib/mock/mock-utils.js +0 -367
  2561. package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  2562. package/node_modules/undici/lib/mock/pluralizer.js +0 -29
  2563. package/node_modules/undici/lib/util/timers.js +0 -423
  2564. package/node_modules/undici/lib/web/cache/cache.js +0 -859
  2565. package/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  2566. package/node_modules/undici/lib/web/cache/symbols.js +0 -5
  2567. package/node_modules/undici/lib/web/cache/util.js +0 -45
  2568. package/node_modules/undici/lib/web/cookies/constants.js +0 -12
  2569. package/node_modules/undici/lib/web/cookies/index.js +0 -184
  2570. package/node_modules/undici/lib/web/cookies/parse.js +0 -310
  2571. package/node_modules/undici/lib/web/cookies/util.js +0 -282
  2572. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -398
  2573. package/node_modules/undici/lib/web/eventsource/eventsource.js +0 -480
  2574. package/node_modules/undici/lib/web/eventsource/util.js +0 -37
  2575. package/node_modules/undici/lib/web/fetch/LICENSE +0 -21
  2576. package/node_modules/undici/lib/web/fetch/body.js +0 -529
  2577. package/node_modules/undici/lib/web/fetch/constants.js +0 -124
  2578. package/node_modules/undici/lib/web/fetch/data-url.js +0 -744
  2579. package/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +0 -46
  2580. package/node_modules/undici/lib/web/fetch/file.js +0 -126
  2581. package/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -474
  2582. package/node_modules/undici/lib/web/fetch/formdata.js +0 -252
  2583. package/node_modules/undici/lib/web/fetch/global.js +0 -40
  2584. package/node_modules/undici/lib/web/fetch/headers.js +0 -687
  2585. package/node_modules/undici/lib/web/fetch/index.js +0 -2272
  2586. package/node_modules/undici/lib/web/fetch/request.js +0 -1037
  2587. package/node_modules/undici/lib/web/fetch/response.js +0 -610
  2588. package/node_modules/undici/lib/web/fetch/symbols.js +0 -9
  2589. package/node_modules/undici/lib/web/fetch/util.js +0 -1632
  2590. package/node_modules/undici/lib/web/fetch/webidl.js +0 -695
  2591. package/node_modules/undici/lib/web/fileapi/encoding.js +0 -290
  2592. package/node_modules/undici/lib/web/fileapi/filereader.js +0 -344
  2593. package/node_modules/undici/lib/web/fileapi/progressevent.js +0 -78
  2594. package/node_modules/undici/lib/web/fileapi/symbols.js +0 -10
  2595. package/node_modules/undici/lib/web/fileapi/util.js +0 -391
  2596. package/node_modules/undici/lib/web/websocket/connection.js +0 -371
  2597. package/node_modules/undici/lib/web/websocket/constants.js +0 -66
  2598. package/node_modules/undici/lib/web/websocket/events.js +0 -329
  2599. package/node_modules/undici/lib/web/websocket/frame.js +0 -96
  2600. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -100
  2601. package/node_modules/undici/lib/web/websocket/receiver.js +0 -513
  2602. package/node_modules/undici/lib/web/websocket/sender.js +0 -104
  2603. package/node_modules/undici/lib/web/websocket/symbols.js +0 -12
  2604. package/node_modules/undici/lib/web/websocket/util.js +0 -322
  2605. package/node_modules/undici/lib/web/websocket/websocket.js +0 -595
  2606. package/node_modules/undici/package.json +0 -160
  2607. package/node_modules/undici/scripts/strip-comments.js +0 -8
  2608. package/node_modules/undici/types/README.md +0 -6
  2609. package/node_modules/undici/types/agent.d.ts +0 -31
  2610. package/node_modules/undici/types/api.d.ts +0 -43
  2611. package/node_modules/undici/types/balanced-pool.d.ts +0 -29
  2612. package/node_modules/undici/types/cache.d.ts +0 -36
  2613. package/node_modules/undici/types/client.d.ts +0 -125
  2614. package/node_modules/undici/types/connector.d.ts +0 -34
  2615. package/node_modules/undici/types/content-type.d.ts +0 -21
  2616. package/node_modules/undici/types/cookies.d.ts +0 -28
  2617. package/node_modules/undici/types/diagnostics-channel.d.ts +0 -66
  2618. package/node_modules/undici/types/dispatcher.d.ts +0 -256
  2619. package/node_modules/undici/types/env-http-proxy-agent.d.ts +0 -21
  2620. package/node_modules/undici/types/errors.d.ts +0 -155
  2621. package/node_modules/undici/types/eventsource.d.ts +0 -61
  2622. package/node_modules/undici/types/fetch.d.ts +0 -209
  2623. package/node_modules/undici/types/file.d.ts +0 -39
  2624. package/node_modules/undici/types/filereader.d.ts +0 -54
  2625. package/node_modules/undici/types/formdata.d.ts +0 -108
  2626. package/node_modules/undici/types/global-dispatcher.d.ts +0 -9
  2627. package/node_modules/undici/types/global-origin.d.ts +0 -7
  2628. package/node_modules/undici/types/handlers.d.ts +0 -15
  2629. package/node_modules/undici/types/header.d.ts +0 -4
  2630. package/node_modules/undici/types/index.d.ts +0 -71
  2631. package/node_modules/undici/types/interceptors.d.ts +0 -32
  2632. package/node_modules/undici/types/mock-agent.d.ts +0 -50
  2633. package/node_modules/undici/types/mock-client.d.ts +0 -25
  2634. package/node_modules/undici/types/mock-errors.d.ts +0 -12
  2635. package/node_modules/undici/types/mock-interceptor.d.ts +0 -93
  2636. package/node_modules/undici/types/mock-pool.d.ts +0 -25
  2637. package/node_modules/undici/types/patch.d.ts +0 -33
  2638. package/node_modules/undici/types/pool-stats.d.ts +0 -19
  2639. package/node_modules/undici/types/pool.d.ts +0 -39
  2640. package/node_modules/undici/types/proxy-agent.d.ts +0 -29
  2641. package/node_modules/undici/types/readable.d.ts +0 -65
  2642. package/node_modules/undici/types/retry-agent.d.ts +0 -8
  2643. package/node_modules/undici/types/retry-handler.d.ts +0 -116
  2644. package/node_modules/undici/types/util.d.ts +0 -18
  2645. package/node_modules/undici/types/webidl.d.ts +0 -228
  2646. package/node_modules/undici/types/websocket.d.ts +0 -150
  2647. package/node_modules/universalify/LICENSE +0 -20
  2648. package/node_modules/universalify/README.md +0 -76
  2649. package/node_modules/universalify/index.js +0 -24
  2650. package/node_modules/universalify/package.json +0 -34
  2651. package/node_modules/update-notifier/check.js +0 -26
  2652. package/node_modules/update-notifier/index.js +0 -7
  2653. package/node_modules/update-notifier/license +0 -9
  2654. package/node_modules/update-notifier/node_modules/chalk/license +0 -9
  2655. package/node_modules/update-notifier/node_modules/chalk/package.json +0 -83
  2656. package/node_modules/update-notifier/node_modules/chalk/readme.md +0 -297
  2657. package/node_modules/update-notifier/node_modules/chalk/source/index.d.ts +0 -325
  2658. package/node_modules/update-notifier/node_modules/chalk/source/index.js +0 -225
  2659. package/node_modules/update-notifier/node_modules/chalk/source/utilities.js +0 -33
  2660. package/node_modules/update-notifier/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +0 -236
  2661. package/node_modules/update-notifier/node_modules/chalk/source/vendor/ansi-styles/index.js +0 -223
  2662. package/node_modules/update-notifier/node_modules/chalk/source/vendor/supports-color/browser.d.ts +0 -1
  2663. package/node_modules/update-notifier/node_modules/chalk/source/vendor/supports-color/browser.js +0 -34
  2664. package/node_modules/update-notifier/node_modules/chalk/source/vendor/supports-color/index.d.ts +0 -55
  2665. package/node_modules/update-notifier/node_modules/chalk/source/vendor/supports-color/index.js +0 -190
  2666. package/node_modules/update-notifier/node_modules/xdg-basedir/index.d.ts +0 -90
  2667. package/node_modules/update-notifier/node_modules/xdg-basedir/index.js +0 -30
  2668. package/node_modules/update-notifier/node_modules/xdg-basedir/license +0 -9
  2669. package/node_modules/update-notifier/node_modules/xdg-basedir/package.json +0 -47
  2670. package/node_modules/update-notifier/node_modules/xdg-basedir/readme.md +0 -70
  2671. package/node_modules/update-notifier/package.json +0 -64
  2672. package/node_modules/update-notifier/readme.md +0 -211
  2673. package/node_modules/update-notifier/update-notifier.js +0 -177
  2674. package/node_modules/uri-js/LICENSE +0 -11
  2675. package/node_modules/uri-js/README.md +0 -203
  2676. package/node_modules/uri-js/dist/es5/uri.all.d.ts +0 -59
  2677. package/node_modules/uri-js/dist/es5/uri.all.js +0 -1443
  2678. package/node_modules/uri-js/dist/es5/uri.all.js.map +0 -1
  2679. package/node_modules/uri-js/dist/es5/uri.all.min.d.ts +0 -59
  2680. package/node_modules/uri-js/dist/es5/uri.all.min.js +0 -3
  2681. package/node_modules/uri-js/dist/es5/uri.all.min.js.map +0 -1
  2682. package/node_modules/uri-js/dist/esnext/index.d.ts +0 -1
  2683. package/node_modules/uri-js/dist/esnext/index.js +0 -17
  2684. package/node_modules/uri-js/dist/esnext/index.js.map +0 -1
  2685. package/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +0 -3
  2686. package/node_modules/uri-js/dist/esnext/regexps-iri.js +0 -3
  2687. package/node_modules/uri-js/dist/esnext/regexps-iri.js.map +0 -1
  2688. package/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +0 -4
  2689. package/node_modules/uri-js/dist/esnext/regexps-uri.js +0 -42
  2690. package/node_modules/uri-js/dist/esnext/regexps-uri.js.map +0 -1
  2691. package/node_modules/uri-js/dist/esnext/schemes/http.d.ts +0 -3
  2692. package/node_modules/uri-js/dist/esnext/schemes/http.js +0 -28
  2693. package/node_modules/uri-js/dist/esnext/schemes/http.js.map +0 -1
  2694. package/node_modules/uri-js/dist/esnext/schemes/https.d.ts +0 -3
  2695. package/node_modules/uri-js/dist/esnext/schemes/https.js +0 -9
  2696. package/node_modules/uri-js/dist/esnext/schemes/https.js.map +0 -1
  2697. package/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +0 -12
  2698. package/node_modules/uri-js/dist/esnext/schemes/mailto.js +0 -148
  2699. package/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +0 -1
  2700. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +0 -7
  2701. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +0 -23
  2702. package/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +0 -1
  2703. package/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +0 -10
  2704. package/node_modules/uri-js/dist/esnext/schemes/urn.js +0 -49
  2705. package/node_modules/uri-js/dist/esnext/schemes/urn.js.map +0 -1
  2706. package/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +0 -7
  2707. package/node_modules/uri-js/dist/esnext/schemes/ws.js +0 -41
  2708. package/node_modules/uri-js/dist/esnext/schemes/ws.js.map +0 -1
  2709. package/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +0 -3
  2710. package/node_modules/uri-js/dist/esnext/schemes/wss.js +0 -9
  2711. package/node_modules/uri-js/dist/esnext/schemes/wss.js.map +0 -1
  2712. package/node_modules/uri-js/dist/esnext/uri.d.ts +0 -59
  2713. package/node_modules/uri-js/dist/esnext/uri.js +0 -480
  2714. package/node_modules/uri-js/dist/esnext/uri.js.map +0 -1
  2715. package/node_modules/uri-js/dist/esnext/util.d.ts +0 -6
  2716. package/node_modules/uri-js/dist/esnext/util.js +0 -36
  2717. package/node_modules/uri-js/dist/esnext/util.js.map +0 -1
  2718. package/node_modules/uri-js/package.json +0 -77
  2719. package/node_modules/util-deprecate/History.md +0 -16
  2720. package/node_modules/util-deprecate/LICENSE +0 -24
  2721. package/node_modules/util-deprecate/README.md +0 -53
  2722. package/node_modules/util-deprecate/browser.js +0 -67
  2723. package/node_modules/util-deprecate/node.js +0 -6
  2724. package/node_modules/util-deprecate/package.json +0 -27
  2725. package/node_modules/uuid/AUTHORS +0 -5
  2726. package/node_modules/uuid/CHANGELOG.md +0 -119
  2727. package/node_modules/uuid/LICENSE.md +0 -21
  2728. package/node_modules/uuid/README.md +0 -276
  2729. package/node_modules/uuid/bin/uuid +0 -65
  2730. package/node_modules/uuid/index.js +0 -8
  2731. package/node_modules/uuid/lib/bytesToUuid.js +0 -26
  2732. package/node_modules/uuid/lib/md5-browser.js +0 -216
  2733. package/node_modules/uuid/lib/md5.js +0 -25
  2734. package/node_modules/uuid/lib/rng-browser.js +0 -34
  2735. package/node_modules/uuid/lib/rng.js +0 -8
  2736. package/node_modules/uuid/lib/sha1-browser.js +0 -89
  2737. package/node_modules/uuid/lib/sha1.js +0 -25
  2738. package/node_modules/uuid/lib/v35.js +0 -57
  2739. package/node_modules/uuid/package.json +0 -49
  2740. package/node_modules/uuid/v1.js +0 -109
  2741. package/node_modules/uuid/v3.js +0 -4
  2742. package/node_modules/uuid/v4.js +0 -29
  2743. package/node_modules/uuid/v5.js +0 -3
  2744. package/node_modules/validate-npm-package-name/LICENSE +0 -6
  2745. package/node_modules/validate-npm-package-name/README.md +0 -120
  2746. package/node_modules/validate-npm-package-name/lib/builtin-modules.json +0 -1
  2747. package/node_modules/validate-npm-package-name/lib/index.js +0 -114
  2748. package/node_modules/validate-npm-package-name/package.json +0 -59
  2749. package/node_modules/verror/.npmignore +0 -9
  2750. package/node_modules/verror/CHANGES.md +0 -28
  2751. package/node_modules/verror/CONTRIBUTING.md +0 -19
  2752. package/node_modules/verror/LICENSE +0 -19
  2753. package/node_modules/verror/README.md +0 -528
  2754. package/node_modules/verror/lib/verror.js +0 -451
  2755. package/node_modules/verror/node_modules/core-util-is/LICENSE +0 -19
  2756. package/node_modules/verror/node_modules/core-util-is/README.md +0 -3
  2757. package/node_modules/verror/node_modules/core-util-is/float.patch +0 -604
  2758. package/node_modules/verror/node_modules/core-util-is/lib/util.js +0 -107
  2759. package/node_modules/verror/node_modules/core-util-is/package.json +0 -32
  2760. package/node_modules/verror/node_modules/core-util-is/test.js +0 -68
  2761. package/node_modules/verror/package.json +0 -22
  2762. package/node_modules/when-exit/dist/browser/index.d.ts +0 -2
  2763. package/node_modules/when-exit/dist/browser/index.js +0 -6
  2764. package/node_modules/when-exit/dist/browser/interceptor.d.ts +0 -10
  2765. package/node_modules/when-exit/dist/browser/interceptor.js +0 -27
  2766. package/node_modules/when-exit/dist/node/constants.d.ts +0 -3
  2767. package/node_modules/when-exit/dist/node/constants.js +0 -7
  2768. package/node_modules/when-exit/dist/node/index.d.ts +0 -2
  2769. package/node_modules/when-exit/dist/node/index.js +0 -6
  2770. package/node_modules/when-exit/dist/node/interceptor.d.ts +0 -11
  2771. package/node_modules/when-exit/dist/node/interceptor.js +0 -50
  2772. package/node_modules/when-exit/dist/node/signals.d.ts +0 -2
  2773. package/node_modules/when-exit/dist/node/signals.js +0 -13
  2774. package/node_modules/when-exit/dist/types.d.ts +0 -3
  2775. package/node_modules/when-exit/dist/types.js +0 -2
  2776. package/node_modules/when-exit/license +0 -21
  2777. package/node_modules/when-exit/package.json +0 -35
  2778. package/node_modules/when-exit/readme.md +0 -41
  2779. package/node_modules/which/LICENSE +0 -15
  2780. package/node_modules/which/README.md +0 -51
  2781. package/node_modules/which/bin/which.js +0 -52
  2782. package/node_modules/which/lib/index.js +0 -111
  2783. package/node_modules/which/package.json +0 -52
  2784. package/node_modules/widest-line/index.d.ts +0 -12
  2785. package/node_modules/widest-line/index.js +0 -11
  2786. package/node_modules/widest-line/license +0 -9
  2787. package/node_modules/widest-line/package.json +0 -60
  2788. package/node_modules/widest-line/readme.md +0 -26
  2789. package/node_modules/wrap-ansi/index.d.ts +0 -41
  2790. package/node_modules/wrap-ansi/index.js +0 -222
  2791. package/node_modules/wrap-ansi/license +0 -9
  2792. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.d.ts +0 -33
  2793. package/node_modules/wrap-ansi/node_modules/ansi-regex/index.js +0 -14
  2794. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  2795. package/node_modules/wrap-ansi/node_modules/ansi-regex/package.json +0 -61
  2796. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -66
  2797. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.d.ts +0 -236
  2798. package/node_modules/wrap-ansi/node_modules/ansi-styles/index.js +0 -223
  2799. package/node_modules/wrap-ansi/node_modules/ansi-styles/license +0 -9
  2800. package/node_modules/wrap-ansi/node_modules/ansi-styles/package.json +0 -54
  2801. package/node_modules/wrap-ansi/node_modules/ansi-styles/readme.md +0 -173
  2802. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.d.ts +0 -15
  2803. package/node_modules/wrap-ansi/node_modules/strip-ansi/index.js +0 -19
  2804. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  2805. package/node_modules/wrap-ansi/node_modules/strip-ansi/package.json +0 -59
  2806. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -37
  2807. package/node_modules/wrap-ansi/package.json +0 -69
  2808. package/node_modules/wrap-ansi/readme.md +0 -75
  2809. package/node_modules/wrappy/LICENSE +0 -15
  2810. package/node_modules/wrappy/README.md +0 -36
  2811. package/node_modules/wrappy/package.json +0 -29
  2812. package/node_modules/wrappy/wrappy.js +0 -33
  2813. package/node_modules/xtend/.jshintrc +0 -30
  2814. package/node_modules/xtend/LICENSE +0 -20
  2815. package/node_modules/xtend/README.md +0 -32
  2816. package/node_modules/xtend/immutable.js +0 -19
  2817. package/node_modules/xtend/mutable.js +0 -17
  2818. package/node_modules/xtend/package.json +0 -55
  2819. package/node_modules/xtend/test.js +0 -103
  2820. package/node_modules/y18n/CHANGELOG.md +0 -100
  2821. package/node_modules/y18n/LICENSE +0 -13
  2822. package/node_modules/y18n/README.md +0 -127
  2823. package/node_modules/y18n/build/index.cjs +0 -203
  2824. package/node_modules/y18n/build/lib/cjs.js +0 -6
  2825. package/node_modules/y18n/build/lib/index.js +0 -174
  2826. package/node_modules/y18n/build/lib/platform-shims/node.js +0 -19
  2827. package/node_modules/y18n/index.mjs +0 -8
  2828. package/node_modules/y18n/package.json +0 -70
  2829. package/node_modules/yallist/LICENSE.md +0 -63
  2830. package/node_modules/yallist/README.md +0 -205
  2831. package/node_modules/yallist/dist/commonjs/index.d.ts +0 -39
  2832. package/node_modules/yallist/dist/commonjs/index.d.ts.map +0 -1
  2833. package/node_modules/yallist/dist/commonjs/index.js +0 -384
  2834. package/node_modules/yallist/dist/commonjs/index.js.map +0 -1
  2835. package/node_modules/yallist/dist/commonjs/package.json +0 -3
  2836. package/node_modules/yallist/dist/esm/index.d.ts +0 -39
  2837. package/node_modules/yallist/dist/esm/index.d.ts.map +0 -1
  2838. package/node_modules/yallist/dist/esm/index.js +0 -379
  2839. package/node_modules/yallist/dist/esm/index.js.map +0 -1
  2840. package/node_modules/yallist/dist/esm/package.json +0 -3
  2841. package/node_modules/yallist/package.json +0 -68
  2842. package/node_modules/yargs/LICENSE +0 -21
  2843. package/node_modules/yargs/README.md +0 -182
  2844. package/node_modules/yargs/browser.d.ts +0 -5
  2845. package/node_modules/yargs/browser.mjs +0 -7
  2846. package/node_modules/yargs/build/lib/argsert.js +0 -62
  2847. package/node_modules/yargs/build/lib/command.js +0 -479
  2848. package/node_modules/yargs/build/lib/completion-templates.js +0 -57
  2849. package/node_modules/yargs/build/lib/completion.js +0 -243
  2850. package/node_modules/yargs/build/lib/middleware.js +0 -88
  2851. package/node_modules/yargs/build/lib/parse-command.js +0 -32
  2852. package/node_modules/yargs/build/lib/typings/common-types.js +0 -9
  2853. package/node_modules/yargs/build/lib/typings/yargs-parser-types.js +0 -1
  2854. package/node_modules/yargs/build/lib/usage.js +0 -584
  2855. package/node_modules/yargs/build/lib/utils/apply-extends.js +0 -59
  2856. package/node_modules/yargs/build/lib/utils/is-promise.js +0 -5
  2857. package/node_modules/yargs/build/lib/utils/levenshtein.js +0 -34
  2858. package/node_modules/yargs/build/lib/utils/maybe-async-result.js +0 -17
  2859. package/node_modules/yargs/build/lib/utils/obj-filter.js +0 -10
  2860. package/node_modules/yargs/build/lib/utils/process-argv.js +0 -17
  2861. package/node_modules/yargs/build/lib/utils/set-blocking.js +0 -12
  2862. package/node_modules/yargs/build/lib/utils/which-module.js +0 -10
  2863. package/node_modules/yargs/build/lib/validation.js +0 -305
  2864. package/node_modules/yargs/build/lib/yargs-factory.js +0 -1517
  2865. package/node_modules/yargs/build/lib/yerror.js +0 -9
  2866. package/node_modules/yargs/helpers/helpers.mjs +0 -10
  2867. package/node_modules/yargs/helpers/package.json +0 -3
  2868. package/node_modules/yargs/index.mjs +0 -10
  2869. package/node_modules/yargs/lib/platform-shims/browser.mjs +0 -99
  2870. package/node_modules/yargs/lib/platform-shims/esm.mjs +0 -67
  2871. package/node_modules/yargs/locales/be.json +0 -46
  2872. package/node_modules/yargs/locales/cs.json +0 -51
  2873. package/node_modules/yargs/locales/de.json +0 -46
  2874. package/node_modules/yargs/locales/en.json +0 -55
  2875. package/node_modules/yargs/locales/es.json +0 -46
  2876. package/node_modules/yargs/locales/fi.json +0 -49
  2877. package/node_modules/yargs/locales/fr.json +0 -53
  2878. package/node_modules/yargs/locales/he.json +0 -55
  2879. package/node_modules/yargs/locales/hi.json +0 -49
  2880. package/node_modules/yargs/locales/hu.json +0 -46
  2881. package/node_modules/yargs/locales/id.json +0 -50
  2882. package/node_modules/yargs/locales/it.json +0 -46
  2883. package/node_modules/yargs/locales/ja.json +0 -51
  2884. package/node_modules/yargs/locales/ko.json +0 -49
  2885. package/node_modules/yargs/locales/nb.json +0 -44
  2886. package/node_modules/yargs/locales/nl.json +0 -49
  2887. package/node_modules/yargs/locales/nn.json +0 -44
  2888. package/node_modules/yargs/locales/pirate.json +0 -13
  2889. package/node_modules/yargs/locales/pl.json +0 -49
  2890. package/node_modules/yargs/locales/pt.json +0 -45
  2891. package/node_modules/yargs/locales/pt_BR.json +0 -48
  2892. package/node_modules/yargs/locales/ru.json +0 -51
  2893. package/node_modules/yargs/locales/th.json +0 -46
  2894. package/node_modules/yargs/locales/tr.json +0 -48
  2895. package/node_modules/yargs/locales/uk_UA.json +0 -51
  2896. package/node_modules/yargs/locales/uz.json +0 -52
  2897. package/node_modules/yargs/locales/zh_CN.json +0 -48
  2898. package/node_modules/yargs/locales/zh_TW.json +0 -51
  2899. package/node_modules/yargs/node_modules/yargs-parser/CHANGELOG.md +0 -319
  2900. package/node_modules/yargs/node_modules/yargs-parser/LICENSE.txt +0 -14
  2901. package/node_modules/yargs/node_modules/yargs-parser/README.md +0 -518
  2902. package/node_modules/yargs/node_modules/yargs-parser/browser.js +0 -29
  2903. package/node_modules/yargs/node_modules/yargs-parser/build/lib/index.js +0 -64
  2904. package/node_modules/yargs/node_modules/yargs-parser/build/lib/string-utils.js +0 -65
  2905. package/node_modules/yargs/node_modules/yargs-parser/build/lib/tokenize-arg-string.js +0 -40
  2906. package/node_modules/yargs/node_modules/yargs-parser/build/lib/yargs-parser-types.js +0 -12
  2907. package/node_modules/yargs/node_modules/yargs-parser/build/lib/yargs-parser.js +0 -1046
  2908. package/node_modules/yargs/node_modules/yargs-parser/package.json +0 -78
  2909. package/node_modules/yargs/package.json +0 -103
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../node_modules/@isaacs/fs-minipass/src/index.ts", "../../node_modules/minipass/src/index.ts", "../../src/create.ts", "../../src/list.ts", "../../src/options.ts", "../../src/make-command.ts", "../../src/parse.ts", "../../node_modules/minizlib/src/index.ts", "../../node_modules/minizlib/src/constants.ts", "../../src/header.ts", "../../src/large-numbers.ts", "../../src/types.ts", "../../src/pax.ts", "../../src/normalize-windows-path.ts", "../../src/read-entry.ts", "../../src/warn-method.ts", "../../src/strip-trailing-slashes.ts", "../../src/pack.ts", "../../src/write-entry.ts", "../../src/mode-fix.ts", "../../src/strip-absolute-path.ts", "../../src/winchars.ts", "../../node_modules/yallist/src/index.ts", "../../src/extract.ts", "../../src/unpack.ts", "../../src/get-write-flag.ts", "../../node_modules/chownr/src/index.ts", "../../src/mkdir.ts", "../../src/cwd-error.ts", "../../src/symlink-error.ts", "../../src/path-reservations.ts", "../../src/normalize-unicode.ts", "../../src/process-umask.ts", "../../src/replace.ts", "../../src/update.ts"],
4
- "sourcesContent": ["import EE from 'events'\nimport fs from 'fs'\nimport { Minipass } from 'minipass'\n\nconst writev = fs.writev\n\nconst _autoClose = Symbol('_autoClose')\nconst _close = Symbol('_close')\nconst _ended = Symbol('_ended')\nconst _fd = Symbol('_fd')\nconst _finished = Symbol('_finished')\nconst _flags = Symbol('_flags')\nconst _flush = Symbol('_flush')\nconst _handleChunk = Symbol('_handleChunk')\nconst _makeBuf = Symbol('_makeBuf')\nconst _mode = Symbol('_mode')\nconst _needDrain = Symbol('_needDrain')\nconst _onerror = Symbol('_onerror')\nconst _onopen = Symbol('_onopen')\nconst _onread = Symbol('_onread')\nconst _onwrite = Symbol('_onwrite')\nconst _open = Symbol('_open')\nconst _path = Symbol('_path')\nconst _pos = Symbol('_pos')\nconst _queue = Symbol('_queue')\nconst _read = Symbol('_read')\nconst _readSize = Symbol('_readSize')\nconst _reading = Symbol('_reading')\nconst _remain = Symbol('_remain')\nconst _size = Symbol('_size')\nconst _write = Symbol('_write')\nconst _writing = Symbol('_writing')\nconst _defaultFlag = Symbol('_defaultFlag')\nconst _errored = Symbol('_errored')\n\nexport type ReadStreamOptions =\n Minipass.Options<Minipass.ContiguousData> & {\n fd?: number\n readSize?: number\n size?: number\n autoClose?: boolean\n }\n\nexport type ReadStreamEvents = Minipass.Events<Minipass.ContiguousData> & {\n open: [fd: number]\n}\n\nexport class ReadStream extends Minipass<\n Minipass.ContiguousData,\n Buffer,\n ReadStreamEvents\n> {\n [_errored]: boolean = false;\n [_fd]?: number;\n [_path]: string;\n [_readSize]: number;\n [_reading]: boolean = false;\n [_size]: number;\n [_remain]: number;\n [_autoClose]: boolean\n\n constructor(path: string, opt: ReadStreamOptions) {\n opt = opt || {}\n super(opt)\n\n this.readable = true\n this.writable = false\n\n if (typeof path !== 'string') {\n throw new TypeError('path must be a string')\n }\n\n this[_errored] = false\n this[_fd] = typeof opt.fd === 'number' ? opt.fd : undefined\n this[_path] = path\n this[_readSize] = opt.readSize || 16 * 1024 * 1024\n this[_reading] = false\n this[_size] = typeof opt.size === 'number' ? opt.size : Infinity\n this[_remain] = this[_size]\n this[_autoClose] =\n typeof opt.autoClose === 'boolean' ? opt.autoClose : true\n\n if (typeof this[_fd] === 'number') {\n this[_read]()\n } else {\n this[_open]()\n }\n }\n\n get fd() {\n return this[_fd]\n }\n\n get path() {\n return this[_path]\n }\n\n //@ts-ignore\n write() {\n throw new TypeError('this is a readable stream')\n }\n\n //@ts-ignore\n end() {\n throw new TypeError('this is a readable stream')\n }\n\n [_open]() {\n fs.open(this[_path], 'r', (er, fd) => this[_onopen](er, fd))\n }\n\n [_onopen](er?: NodeJS.ErrnoException | null, fd?: number) {\n if (er) {\n this[_onerror](er)\n } else {\n this[_fd] = fd\n this.emit('open', fd as number)\n this[_read]()\n }\n }\n\n [_makeBuf]() {\n return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain]))\n }\n\n [_read]() {\n if (!this[_reading]) {\n this[_reading] = true\n const buf = this[_makeBuf]()\n /* c8 ignore start */\n if (buf.length === 0) {\n return process.nextTick(() => this[_onread](null, 0, buf))\n }\n /* c8 ignore stop */\n fs.read(this[_fd] as number, buf, 0, buf.length, null, (er, br, b) =>\n this[_onread](er, br, b),\n )\n }\n }\n\n [_onread](er?: NodeJS.ErrnoException | null, br?: number, buf?: Buffer) {\n this[_reading] = false\n if (er) {\n this[_onerror](er)\n } else if (this[_handleChunk](br as number, buf as Buffer)) {\n this[_read]()\n }\n }\n\n [_close]() {\n if (this[_autoClose] && typeof this[_fd] === 'number') {\n const fd = this[_fd]\n this[_fd] = undefined\n fs.close(fd, er =>\n er ? this.emit('error', er) : this.emit('close'),\n )\n }\n }\n\n [_onerror](er: NodeJS.ErrnoException) {\n this[_reading] = true\n this[_close]()\n this.emit('error', er)\n }\n\n [_handleChunk](br: number, buf: Buffer) {\n let ret = false\n // no effect if infinite\n this[_remain] -= br\n if (br > 0) {\n ret = super.write(br < buf.length ? buf.subarray(0, br) : buf)\n }\n\n if (br === 0 || this[_remain] <= 0) {\n ret = false\n this[_close]()\n super.end()\n }\n\n return ret\n }\n\n emit<Event extends keyof ReadStreamEvents>(\n ev: Event,\n ...args: ReadStreamEvents[Event]\n ): boolean {\n switch (ev) {\n case 'prefinish':\n case 'finish':\n return false\n\n case 'drain':\n if (typeof this[_fd] === 'number') {\n this[_read]()\n }\n return false\n\n case 'error':\n if (this[_errored]) {\n return false\n }\n this[_errored] = true\n return super.emit(ev, ...args)\n\n default:\n return super.emit(ev, ...args)\n }\n }\n}\n\nexport class ReadStreamSync extends ReadStream {\n [_open]() {\n let threw = true\n try {\n this[_onopen](null, fs.openSync(this[_path], 'r'))\n threw = false\n } finally {\n if (threw) {\n this[_close]()\n }\n }\n }\n\n [_read]() {\n let threw = true\n try {\n if (!this[_reading]) {\n this[_reading] = true\n do {\n const buf = this[_makeBuf]()\n /* c8 ignore start */\n const br =\n buf.length === 0\n ? 0\n : fs.readSync(this[_fd] as number, buf, 0, buf.length, null)\n /* c8 ignore stop */\n if (!this[_handleChunk](br, buf)) {\n break\n }\n } while (true)\n this[_reading] = false\n }\n threw = false\n } finally {\n if (threw) {\n this[_close]()\n }\n }\n }\n\n [_close]() {\n if (this[_autoClose] && typeof this[_fd] === 'number') {\n const fd = this[_fd]\n this[_fd] = undefined\n fs.closeSync(fd)\n this.emit('close')\n }\n }\n}\n\nexport type WriteStreamOptions = {\n fd?: number\n autoClose?: boolean\n mode?: number\n captureRejections?: boolean\n start?: number\n flags?: string\n}\n\nexport class WriteStream extends EE {\n readable: false = false\n writable: boolean = true;\n [_errored]: boolean = false;\n [_writing]: boolean = false;\n [_ended]: boolean = false;\n [_queue]: Buffer[] = [];\n [_needDrain]: boolean = false;\n [_path]: string;\n [_mode]: number;\n [_autoClose]: boolean;\n [_fd]?: number;\n [_defaultFlag]: boolean;\n [_flags]: string;\n [_finished]: boolean = false;\n [_pos]?: number\n\n constructor(path: string, opt: WriteStreamOptions) {\n opt = opt || {}\n super(opt)\n this[_path] = path\n this[_fd] = typeof opt.fd === 'number' ? opt.fd : undefined\n this[_mode] = opt.mode === undefined ? 0o666 : opt.mode\n this[_pos] = typeof opt.start === 'number' ? opt.start : undefined\n this[_autoClose] =\n typeof opt.autoClose === 'boolean' ? opt.autoClose : true\n\n // truncating makes no sense when writing into the middle\n const defaultFlag = this[_pos] !== undefined ? 'r+' : 'w'\n this[_defaultFlag] = opt.flags === undefined\n this[_flags] = opt.flags === undefined ? defaultFlag : opt.flags\n\n if (this[_fd] === undefined) {\n this[_open]()\n }\n }\n\n emit(ev: string, ...args: any[]) {\n if (ev === 'error') {\n if (this[_errored]) {\n return false\n }\n this[_errored] = true\n }\n return super.emit(ev, ...args)\n }\n\n get fd() {\n return this[_fd]\n }\n\n get path() {\n return this[_path]\n }\n\n [_onerror](er: NodeJS.ErrnoException) {\n this[_close]()\n this[_writing] = true\n this.emit('error', er)\n }\n\n [_open]() {\n fs.open(this[_path], this[_flags], this[_mode], (er, fd) =>\n this[_onopen](er, fd),\n )\n }\n\n [_onopen](er?: null | NodeJS.ErrnoException, fd?: number) {\n if (\n this[_defaultFlag] &&\n this[_flags] === 'r+' &&\n er &&\n er.code === 'ENOENT'\n ) {\n this[_flags] = 'w'\n this[_open]()\n } else if (er) {\n this[_onerror](er)\n } else {\n this[_fd] = fd\n this.emit('open', fd)\n if (!this[_writing]) {\n this[_flush]()\n }\n }\n }\n\n end(buf: string, enc?: BufferEncoding): this\n end(buf?: Buffer, enc?: undefined): this\n end(buf?: Buffer | string, enc?: BufferEncoding): this {\n if (buf) {\n //@ts-ignore\n this.write(buf, enc)\n }\n\n this[_ended] = true\n\n // synthetic after-write logic, where drain/finish live\n if (\n !this[_writing] &&\n !this[_queue].length &&\n typeof this[_fd] === 'number'\n ) {\n this[_onwrite](null, 0)\n }\n return this\n }\n\n write(buf: string, enc?: BufferEncoding): boolean\n write(buf: Buffer, enc?: undefined): boolean\n write(buf: Buffer | string, enc?: BufferEncoding): boolean {\n if (typeof buf === 'string') {\n buf = Buffer.from(buf, enc)\n }\n\n if (this[_ended]) {\n this.emit('error', new Error('write() after end()'))\n return false\n }\n\n if (this[_fd] === undefined || this[_writing] || this[_queue].length) {\n this[_queue].push(buf)\n this[_needDrain] = true\n return false\n }\n\n this[_writing] = true\n this[_write](buf)\n return true\n }\n\n [_write](buf: Buffer) {\n fs.write(\n this[_fd] as number,\n buf,\n 0,\n buf.length,\n this[_pos],\n (er, bw) => this[_onwrite](er, bw),\n )\n }\n\n [_onwrite](er?: null | NodeJS.ErrnoException, bw?: number) {\n if (er) {\n this[_onerror](er)\n } else {\n if (this[_pos] !== undefined && typeof bw === 'number') {\n this[_pos] += bw\n }\n if (this[_queue].length) {\n this[_flush]()\n } else {\n this[_writing] = false\n\n if (this[_ended] && !this[_finished]) {\n this[_finished] = true\n this[_close]()\n this.emit('finish')\n } else if (this[_needDrain]) {\n this[_needDrain] = false\n this.emit('drain')\n }\n }\n }\n }\n\n [_flush]() {\n if (this[_queue].length === 0) {\n if (this[_ended]) {\n this[_onwrite](null, 0)\n }\n } else if (this[_queue].length === 1) {\n this[_write](this[_queue].pop() as Buffer)\n } else {\n const iovec = this[_queue]\n this[_queue] = []\n writev(this[_fd] as number, iovec, this[_pos] as number, (er, bw) =>\n this[_onwrite](er, bw),\n )\n }\n }\n\n [_close]() {\n if (this[_autoClose] && typeof this[_fd] === 'number') {\n const fd = this[_fd]\n this[_fd] = undefined\n fs.close(fd, er =>\n er ? this.emit('error', er) : this.emit('close'),\n )\n }\n }\n}\n\nexport class WriteStreamSync extends WriteStream {\n [_open](): void {\n let fd\n // only wrap in a try{} block if we know we'll retry, to avoid\n // the rethrow obscuring the error's source frame in most cases.\n if (this[_defaultFlag] && this[_flags] === 'r+') {\n try {\n fd = fs.openSync(this[_path], this[_flags], this[_mode])\n } catch (er) {\n if ((er as NodeJS.ErrnoException)?.code === 'ENOENT') {\n this[_flags] = 'w'\n return this[_open]()\n } else {\n throw er\n }\n }\n } else {\n fd = fs.openSync(this[_path], this[_flags], this[_mode])\n }\n\n this[_onopen](null, fd)\n }\n\n [_close]() {\n if (this[_autoClose] && typeof this[_fd] === 'number') {\n const fd = this[_fd]\n this[_fd] = undefined\n fs.closeSync(fd)\n this.emit('close')\n }\n }\n\n [_write](buf: Buffer) {\n // throw the original, but try to close if it fails\n let threw = true\n try {\n this[_onwrite](\n null,\n fs.writeSync(this[_fd] as number, buf, 0, buf.length, this[_pos]),\n )\n threw = false\n } finally {\n if (threw) {\n try {\n this[_close]()\n } catch {\n // ok error\n }\n }\n }\n }\n}\n", "const proc =\n typeof process === 'object' && process\n ? process\n : {\n stdout: null,\n stderr: null,\n }\nimport { EventEmitter } from 'node:events'\nimport Stream from 'node:stream'\nimport { StringDecoder } from 'node:string_decoder'\n\n/**\n * Same as StringDecoder, but exposing the `lastNeed` flag on the type\n */\ntype SD = StringDecoder & { lastNeed: boolean }\n\nexport type { SD, Pipe, PipeProxyErrors }\n\n/**\n * Return true if the argument is a Minipass stream, Node stream, or something\n * else that Minipass can interact with.\n */\nexport const isStream = (\n s: any\n): s is Minipass.Readable | Minipass.Writable =>\n !!s &&\n typeof s === 'object' &&\n (s instanceof Minipass ||\n s instanceof Stream ||\n isReadable(s) ||\n isWritable(s))\n\n/**\n * Return true if the argument is a valid {@link Minipass.Readable}\n */\nexport const isReadable = (s: any): s is Minipass.Readable =>\n !!s &&\n typeof s === 'object' &&\n s instanceof EventEmitter &&\n typeof (s as Minipass.Readable).pipe === 'function' &&\n // node core Writable streams have a pipe() method, but it throws\n (s as Minipass.Readable).pipe !== Stream.Writable.prototype.pipe\n\n/**\n * Return true if the argument is a valid {@link Minipass.Writable}\n */\nexport const isWritable = (s: any): s is Minipass.Readable =>\n !!s &&\n typeof s === 'object' &&\n s instanceof EventEmitter &&\n typeof (s as Minipass.Writable).write === 'function' &&\n typeof (s as Minipass.Writable).end === 'function'\n\nconst EOF = Symbol('EOF')\nconst MAYBE_EMIT_END = Symbol('maybeEmitEnd')\nconst EMITTED_END = Symbol('emittedEnd')\nconst EMITTING_END = Symbol('emittingEnd')\nconst EMITTED_ERROR = Symbol('emittedError')\nconst CLOSED = Symbol('closed')\nconst READ = Symbol('read')\nconst FLUSH = Symbol('flush')\nconst FLUSHCHUNK = Symbol('flushChunk')\nconst ENCODING = Symbol('encoding')\nconst DECODER = Symbol('decoder')\nconst FLOWING = Symbol('flowing')\nconst PAUSED = Symbol('paused')\nconst RESUME = Symbol('resume')\nconst BUFFER = Symbol('buffer')\nconst PIPES = Symbol('pipes')\nconst BUFFERLENGTH = Symbol('bufferLength')\nconst BUFFERPUSH = Symbol('bufferPush')\nconst BUFFERSHIFT = Symbol('bufferShift')\nconst OBJECTMODE = Symbol('objectMode')\n// internal event when stream is destroyed\nconst DESTROYED = Symbol('destroyed')\n// internal event when stream has an error\nconst ERROR = Symbol('error')\nconst EMITDATA = Symbol('emitData')\nconst EMITEND = Symbol('emitEnd')\nconst EMITEND2 = Symbol('emitEnd2')\nconst ASYNC = Symbol('async')\nconst ABORT = Symbol('abort')\nconst ABORTED = Symbol('aborted')\nconst SIGNAL = Symbol('signal')\nconst DATALISTENERS = Symbol('dataListeners')\nconst DISCARDED = Symbol('discarded')\n\nconst defer = (fn: (...a: any[]) => any) => Promise.resolve().then(fn)\nconst nodefer = (fn: (...a: any[]) => any) => fn()\n\n// events that mean 'the stream is over'\n// these are treated specially, and re-emitted\n// if they are listened for after emitting.\ntype EndishEvent = 'end' | 'finish' | 'prefinish'\nconst isEndish = (ev: any): ev is EndishEvent =>\n ev === 'end' || ev === 'finish' || ev === 'prefinish'\n\nconst isArrayBufferLike = (b: any): b is ArrayBufferLike =>\n b instanceof ArrayBuffer ||\n (!!b &&\n typeof b === 'object' &&\n b.constructor &&\n b.constructor.name === 'ArrayBuffer' &&\n b.byteLength >= 0)\n\nconst isArrayBufferView = (b: any): b is ArrayBufferView =>\n !Buffer.isBuffer(b) && ArrayBuffer.isView(b)\n\n/**\n * Options that may be passed to stream.pipe()\n */\nexport interface PipeOptions {\n /**\n * end the destination stream when the source stream ends\n */\n end?: boolean\n /**\n * proxy errors from the source stream to the destination stream\n */\n proxyErrors?: boolean\n}\n\n/**\n * Internal class representing a pipe to a destination stream.\n *\n * @internal\n */\nclass Pipe<T extends unknown> {\n src: Minipass<T>\n dest: Minipass<any, T>\n opts: PipeOptions\n ondrain: () => any\n constructor(\n src: Minipass<T>,\n dest: Minipass.Writable,\n opts: PipeOptions\n ) {\n this.src = src\n this.dest = dest as Minipass<any, T>\n this.opts = opts\n this.ondrain = () => src[RESUME]()\n this.dest.on('drain', this.ondrain)\n }\n unpipe() {\n this.dest.removeListener('drain', this.ondrain)\n }\n // only here for the prototype\n /* c8 ignore start */\n proxyErrors(_er: any) {}\n /* c8 ignore stop */\n end() {\n this.unpipe()\n if (this.opts.end) this.dest.end()\n }\n}\n\n/**\n * Internal class representing a pipe to a destination stream where\n * errors are proxied.\n *\n * @internal\n */\nclass PipeProxyErrors<T> extends Pipe<T> {\n unpipe() {\n this.src.removeListener('error', this.proxyErrors)\n super.unpipe()\n }\n constructor(\n src: Minipass<T>,\n dest: Minipass.Writable,\n opts: PipeOptions\n ) {\n super(src, dest, opts)\n this.proxyErrors = (er: Error) => this.dest.emit('error', er)\n src.on('error', this.proxyErrors)\n }\n}\n\nexport namespace Minipass {\n /**\n * Encoding used to create a stream that outputs strings rather than\n * Buffer objects.\n */\n export type Encoding = BufferEncoding | 'buffer' | null\n\n /**\n * Any stream that Minipass can pipe into\n */\n export type Writable =\n | Minipass<any, any, any>\n | NodeJS.WriteStream\n | (NodeJS.WriteStream & { fd: number })\n | (EventEmitter & {\n end(): any\n write(chunk: any, ...args: any[]): any\n })\n\n /**\n * Any stream that can be read from\n */\n export type Readable =\n | Minipass<any, any, any>\n | NodeJS.ReadStream\n | (NodeJS.ReadStream & { fd: number })\n | (EventEmitter & {\n pause(): any\n resume(): any\n pipe(...destArgs: any[]): any\n })\n\n /**\n * Utility type that can be iterated sync or async\n */\n export type DualIterable<T> = Iterable<T> & AsyncIterable<T>\n\n type EventArguments = Record<string | symbol, unknown[]>\n\n /**\n * The listing of events that a Minipass class can emit.\n * Extend this when extending the Minipass class, and pass as\n * the third template argument. The key is the name of the event,\n * and the value is the argument list.\n *\n * Any undeclared events will still be allowed, but the handler will get\n * arguments as `unknown[]`.\n */\n export interface Events<RType extends any = Buffer>\n extends EventArguments {\n readable: []\n data: [chunk: RType]\n error: [er: unknown]\n abort: [reason: unknown]\n drain: []\n resume: []\n end: []\n finish: []\n prefinish: []\n close: []\n [DESTROYED]: [er?: unknown]\n [ERROR]: [er: unknown]\n }\n\n /**\n * String or buffer-like data that can be joined and sliced\n */\n export type ContiguousData =\n | Buffer\n | ArrayBufferLike\n | ArrayBufferView\n | string\n export type BufferOrString = Buffer | string\n\n /**\n * Options passed to the Minipass constructor.\n */\n export type SharedOptions = {\n /**\n * Defer all data emission and other events until the end of the\n * current tick, similar to Node core streams\n */\n async?: boolean\n /**\n * A signal which will abort the stream\n */\n signal?: AbortSignal\n /**\n * Output string encoding. Set to `null` or `'buffer'` (or omit) to\n * emit Buffer objects rather than strings.\n *\n * Conflicts with `objectMode`\n */\n encoding?: BufferEncoding | null | 'buffer'\n /**\n * Output data exactly as it was written, supporting non-buffer/string\n * data (such as arbitrary objects, falsey values, etc.)\n *\n * Conflicts with `encoding`\n */\n objectMode?: boolean\n }\n\n /**\n * Options for a string encoded output\n */\n export type EncodingOptions = SharedOptions & {\n encoding: BufferEncoding\n objectMode?: false\n }\n\n /**\n * Options for contiguous data buffer output\n */\n export type BufferOptions = SharedOptions & {\n encoding?: null | 'buffer'\n objectMode?: false\n }\n\n /**\n * Options for objectMode arbitrary output\n */\n export type ObjectModeOptions = SharedOptions & {\n objectMode: true\n encoding?: null\n }\n\n /**\n * Utility type to determine allowed options based on read type\n */\n export type Options<T> =\n | ObjectModeOptions\n | (T extends string\n ? EncodingOptions\n : T extends Buffer\n ? BufferOptions\n : SharedOptions)\n}\n\nconst isObjectModeOptions = (\n o: Minipass.SharedOptions\n): o is Minipass.ObjectModeOptions => !!o.objectMode\n\nconst isEncodingOptions = (\n o: Minipass.SharedOptions\n): o is Minipass.EncodingOptions =>\n !o.objectMode && !!o.encoding && o.encoding !== 'buffer'\n\n/**\n * Main export, the Minipass class\n *\n * `RType` is the type of data emitted, defaults to Buffer\n *\n * `WType` is the type of data to be written, if RType is buffer or string,\n * then any {@link Minipass.ContiguousData} is allowed.\n *\n * `Events` is the set of event handler signatures that this object\n * will emit, see {@link Minipass.Events}\n */\nexport class Minipass<\n RType extends unknown = Buffer,\n WType extends unknown = RType extends Minipass.BufferOrString\n ? Minipass.ContiguousData\n : RType,\n Events extends Minipass.Events<RType> = Minipass.Events<RType>\n >\n extends EventEmitter\n implements Minipass.DualIterable<RType>\n{\n [FLOWING]: boolean = false;\n [PAUSED]: boolean = false;\n [PIPES]: Pipe<RType>[] = [];\n [BUFFER]: RType[] = [];\n [OBJECTMODE]: boolean;\n [ENCODING]: BufferEncoding | null;\n [ASYNC]: boolean;\n [DECODER]: SD | null;\n [EOF]: boolean = false;\n [EMITTED_END]: boolean = false;\n [EMITTING_END]: boolean = false;\n [CLOSED]: boolean = false;\n [EMITTED_ERROR]: unknown = null;\n [BUFFERLENGTH]: number = 0;\n [DESTROYED]: boolean = false;\n [SIGNAL]?: AbortSignal;\n [ABORTED]: boolean = false;\n [DATALISTENERS]: number = 0;\n [DISCARDED]: boolean = false\n\n /**\n * true if the stream can be written\n */\n writable: boolean = true\n /**\n * true if the stream can be read\n */\n readable: boolean = true\n\n /**\n * If `RType` is Buffer, then options do not need to be provided.\n * Otherwise, an options object must be provided to specify either\n * {@link Minipass.SharedOptions.objectMode} or\n * {@link Minipass.SharedOptions.encoding}, as appropriate.\n */\n constructor(\n ...args:\n | [Minipass.ObjectModeOptions]\n | (RType extends Buffer\n ? [] | [Minipass.Options<RType>]\n : [Minipass.Options<RType>])\n ) {\n const options: Minipass.Options<RType> = (args[0] ||\n {}) as Minipass.Options<RType>\n super()\n if (options.objectMode && typeof options.encoding === 'string') {\n throw new TypeError(\n 'Encoding and objectMode may not be used together'\n )\n }\n if (isObjectModeOptions(options)) {\n this[OBJECTMODE] = true\n this[ENCODING] = null\n } else if (isEncodingOptions(options)) {\n this[ENCODING] = options.encoding\n this[OBJECTMODE] = false\n } else {\n this[OBJECTMODE] = false\n this[ENCODING] = null\n }\n this[ASYNC] = !!options.async\n this[DECODER] = this[ENCODING]\n ? (new StringDecoder(this[ENCODING]) as SD)\n : null\n\n //@ts-ignore - private option for debugging and testing\n if (options && options.debugExposeBuffer === true) {\n Object.defineProperty(this, 'buffer', { get: () => this[BUFFER] })\n }\n //@ts-ignore - private option for debugging and testing\n if (options && options.debugExposePipes === true) {\n Object.defineProperty(this, 'pipes', { get: () => this[PIPES] })\n }\n\n const { signal } = options\n if (signal) {\n this[SIGNAL] = signal\n if (signal.aborted) {\n this[ABORT]()\n } else {\n signal.addEventListener('abort', () => this[ABORT]())\n }\n }\n }\n\n /**\n * The amount of data stored in the buffer waiting to be read.\n *\n * For Buffer strings, this will be the total byte length.\n * For string encoding streams, this will be the string character length,\n * according to JavaScript's `string.length` logic.\n * For objectMode streams, this is a count of the items waiting to be\n * emitted.\n */\n get bufferLength() {\n return this[BUFFERLENGTH]\n }\n\n /**\n * The `BufferEncoding` currently in use, or `null`\n */\n get encoding() {\n return this[ENCODING]\n }\n\n /**\n * @deprecated - This is a read only property\n */\n set encoding(_enc) {\n throw new Error('Encoding must be set at instantiation time')\n }\n\n /**\n * @deprecated - Encoding may only be set at instantiation time\n */\n setEncoding(_enc: Minipass.Encoding) {\n throw new Error('Encoding must be set at instantiation time')\n }\n\n /**\n * True if this is an objectMode stream\n */\n get objectMode() {\n return this[OBJECTMODE]\n }\n\n /**\n * @deprecated - This is a read-only property\n */\n set objectMode(_om) {\n throw new Error('objectMode must be set at instantiation time')\n }\n\n /**\n * true if this is an async stream\n */\n get ['async'](): boolean {\n return this[ASYNC]\n }\n /**\n * Set to true to make this stream async.\n *\n * Once set, it cannot be unset, as this would potentially cause incorrect\n * behavior. Ie, a sync stream can be made async, but an async stream\n * cannot be safely made sync.\n */\n set ['async'](a: boolean) {\n this[ASYNC] = this[ASYNC] || !!a\n }\n\n // drop everything and get out of the flow completely\n [ABORT]() {\n this[ABORTED] = true\n this.emit('abort', this[SIGNAL]?.reason)\n this.destroy(this[SIGNAL]?.reason)\n }\n\n /**\n * True if the stream has been aborted.\n */\n get aborted() {\n return this[ABORTED]\n }\n /**\n * No-op setter. Stream aborted status is set via the AbortSignal provided\n * in the constructor options.\n */\n set aborted(_) {}\n\n /**\n * Write data into the stream\n *\n * If the chunk written is a string, and encoding is not specified, then\n * `utf8` will be assumed. If the stream encoding matches the encoding of\n * a written string, and the state of the string decoder allows it, then\n * the string will be passed through to either the output or the internal\n * buffer without any processing. Otherwise, it will be turned into a\n * Buffer object for processing into the desired encoding.\n *\n * If provided, `cb` function is called immediately before return for\n * sync streams, or on next tick for async streams, because for this\n * base class, a chunk is considered \"processed\" once it is accepted\n * and either emitted or buffered. That is, the callback does not indicate\n * that the chunk has been eventually emitted, though of course child\n * classes can override this function to do whatever processing is required\n * and call `super.write(...)` only once processing is completed.\n */\n write(chunk: WType, cb?: () => void): boolean\n write(\n chunk: WType,\n encoding?: Minipass.Encoding,\n cb?: () => void\n ): boolean\n write(\n chunk: WType,\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void\n ): boolean {\n if (this[ABORTED]) return false\n if (this[EOF]) throw new Error('write after end')\n\n if (this[DESTROYED]) {\n this.emit(\n 'error',\n Object.assign(\n new Error('Cannot call write after a stream was destroyed'),\n { code: 'ERR_STREAM_DESTROYED' }\n )\n )\n return true\n }\n\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = 'utf8'\n }\n\n if (!encoding) encoding = 'utf8'\n\n const fn = this[ASYNC] ? defer : nodefer\n\n // convert array buffers and typed array views into buffers\n // at some point in the future, we may want to do the opposite!\n // leave strings and buffers as-is\n // anything is only allowed if in object mode, so throw\n if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {\n if (isArrayBufferView(chunk)) {\n //@ts-ignore - sinful unsafe type changing\n chunk = Buffer.from(\n chunk.buffer,\n chunk.byteOffset,\n chunk.byteLength\n )\n } else if (isArrayBufferLike(chunk)) {\n //@ts-ignore - sinful unsafe type changing\n chunk = Buffer.from(chunk)\n } else if (typeof chunk !== 'string') {\n throw new Error(\n 'Non-contiguous data written to non-objectMode stream'\n )\n }\n }\n\n // handle object mode up front, since it's simpler\n // this yields better performance, fewer checks later.\n if (this[OBJECTMODE]) {\n // maybe impossible?\n /* c8 ignore start */\n if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true)\n /* c8 ignore stop */\n\n if (this[FLOWING]) this.emit('data', chunk as unknown as RType)\n else this[BUFFERPUSH](chunk as unknown as RType)\n\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n\n if (cb) fn(cb)\n\n return this[FLOWING]\n }\n\n // at this point the chunk is a buffer or string\n // don't buffer it up or send it to the decoder\n if (!(chunk as Minipass.BufferOrString).length) {\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n if (cb) fn(cb)\n return this[FLOWING]\n }\n\n // fast-path writing strings of same encoding to a stream with\n // an empty buffer, skipping the buffer/decoder dance\n if (\n typeof chunk === 'string' &&\n // unless it is a string already ready for us to use\n !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)\n ) {\n //@ts-ignore - sinful unsafe type change\n chunk = Buffer.from(chunk, encoding)\n }\n\n if (Buffer.isBuffer(chunk) && this[ENCODING]) {\n //@ts-ignore - sinful unsafe type change\n chunk = this[DECODER].write(chunk)\n }\n\n // Note: flushing CAN potentially switch us into not-flowing mode\n if (this[FLOWING] && this[BUFFERLENGTH] !== 0) this[FLUSH](true)\n\n if (this[FLOWING]) this.emit('data', chunk as unknown as RType)\n else this[BUFFERPUSH](chunk as unknown as RType)\n\n if (this[BUFFERLENGTH] !== 0) this.emit('readable')\n\n if (cb) fn(cb)\n\n return this[FLOWING]\n }\n\n /**\n * Low-level explicit read method.\n *\n * In objectMode, the argument is ignored, and one item is returned if\n * available.\n *\n * `n` is the number of bytes (or in the case of encoding streams,\n * characters) to consume. If `n` is not provided, then the entire buffer\n * is returned, or `null` is returned if no data is available.\n *\n * If `n` is greater that the amount of data in the internal buffer,\n * then `null` is returned.\n */\n read(n?: number | null): RType | null {\n if (this[DESTROYED]) return null\n this[DISCARDED] = false\n\n if (\n this[BUFFERLENGTH] === 0 ||\n n === 0 ||\n (n && n > this[BUFFERLENGTH])\n ) {\n this[MAYBE_EMIT_END]()\n return null\n }\n\n if (this[OBJECTMODE]) n = null\n\n if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {\n // not object mode, so if we have an encoding, then RType is string\n // otherwise, must be Buffer\n this[BUFFER] = [\n (this[ENCODING]\n ? this[BUFFER].join('')\n : Buffer.concat(\n this[BUFFER] as Buffer[],\n this[BUFFERLENGTH]\n )) as RType,\n ]\n }\n\n const ret = this[READ](n || null, this[BUFFER][0] as RType)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [READ](n: number | null, chunk: RType) {\n if (this[OBJECTMODE]) this[BUFFERSHIFT]()\n else {\n const c = chunk as Minipass.BufferOrString\n if (n === c.length || n === null) this[BUFFERSHIFT]()\n else if (typeof c === 'string') {\n this[BUFFER][0] = c.slice(n) as RType\n chunk = c.slice(0, n) as RType\n this[BUFFERLENGTH] -= n\n } else {\n this[BUFFER][0] = c.subarray(n) as RType\n chunk = c.subarray(0, n) as RType\n this[BUFFERLENGTH] -= n\n }\n }\n\n this.emit('data', chunk)\n\n if (!this[BUFFER].length && !this[EOF]) this.emit('drain')\n\n return chunk\n }\n\n /**\n * End the stream, optionally providing a final write.\n *\n * See {@link Minipass#write} for argument descriptions\n */\n end(cb?: () => void): this\n end(chunk: WType, cb?: () => void): this\n end(chunk: WType, encoding?: Minipass.Encoding, cb?: () => void): this\n end(\n chunk?: WType | (() => void),\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void\n ): this {\n if (typeof chunk === 'function') {\n cb = chunk as () => void\n chunk = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = 'utf8'\n }\n if (chunk !== undefined) this.write(chunk, encoding)\n if (cb) this.once('end', cb)\n this[EOF] = true\n this.writable = false\n\n // if we haven't written anything, then go ahead and emit,\n // even if we're not reading.\n // we'll re-emit if a new 'end' listener is added anyway.\n // This makes MP more suitable to write-only use cases.\n if (this[FLOWING] || !this[PAUSED]) this[MAYBE_EMIT_END]()\n return this\n }\n\n // don't let the internal resume be overwritten\n [RESUME]() {\n if (this[DESTROYED]) return\n\n if (!this[DATALISTENERS] && !this[PIPES].length) {\n this[DISCARDED] = true\n }\n this[PAUSED] = false\n this[FLOWING] = true\n this.emit('resume')\n if (this[BUFFER].length) this[FLUSH]()\n else if (this[EOF]) this[MAYBE_EMIT_END]()\n else this.emit('drain')\n }\n\n /**\n * Resume the stream if it is currently in a paused state\n *\n * If called when there are no pipe destinations or `data` event listeners,\n * this will place the stream in a \"discarded\" state, where all data will\n * be thrown away. The discarded state is removed if a pipe destination or\n * data handler is added, if pause() is called, or if any synchronous or\n * asynchronous iteration is started.\n */\n resume() {\n return this[RESUME]()\n }\n\n /**\n * Pause the stream\n */\n pause() {\n this[FLOWING] = false\n this[PAUSED] = true\n this[DISCARDED] = false\n }\n\n /**\n * true if the stream has been forcibly destroyed\n */\n get destroyed() {\n return this[DESTROYED]\n }\n\n /**\n * true if the stream is currently in a flowing state, meaning that\n * any writes will be immediately emitted.\n */\n get flowing() {\n return this[FLOWING]\n }\n\n /**\n * true if the stream is currently in a paused state\n */\n get paused() {\n return this[PAUSED]\n }\n\n [BUFFERPUSH](chunk: RType) {\n if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1\n else this[BUFFERLENGTH] += (chunk as Minipass.BufferOrString).length\n this[BUFFER].push(chunk)\n }\n\n [BUFFERSHIFT](): RType {\n if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1\n else\n this[BUFFERLENGTH] -= (\n this[BUFFER][0] as Minipass.BufferOrString\n ).length\n return this[BUFFER].shift() as RType\n }\n\n [FLUSH](noDrain: boolean = false) {\n do {} while (\n this[FLUSHCHUNK](this[BUFFERSHIFT]()) &&\n this[BUFFER].length\n )\n\n if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit('drain')\n }\n\n [FLUSHCHUNK](chunk: RType) {\n this.emit('data', chunk)\n return this[FLOWING]\n }\n\n /**\n * Pipe all data emitted by this stream into the destination provided.\n *\n * Triggers the flow of data.\n */\n pipe<W extends Minipass.Writable>(dest: W, opts?: PipeOptions): W {\n if (this[DESTROYED]) return dest\n this[DISCARDED] = false\n\n const ended = this[EMITTED_END]\n opts = opts || {}\n if (dest === proc.stdout || dest === proc.stderr) opts.end = false\n else opts.end = opts.end !== false\n opts.proxyErrors = !!opts.proxyErrors\n\n // piping an ended stream ends immediately\n if (ended) {\n if (opts.end) dest.end()\n } else {\n // \"as\" here just ignores the WType, which pipes don't care about,\n // since they're only consuming from us, and writing to the dest\n this[PIPES].push(\n !opts.proxyErrors\n ? new Pipe<RType>(this as Minipass<RType>, dest, opts)\n : new PipeProxyErrors<RType>(this as Minipass<RType>, dest, opts)\n )\n if (this[ASYNC]) defer(() => this[RESUME]())\n else this[RESUME]()\n }\n\n return dest\n }\n\n /**\n * Fully unhook a piped destination stream.\n *\n * If the destination stream was the only consumer of this stream (ie,\n * there are no other piped destinations or `'data'` event listeners)\n * then the flow of data will stop until there is another consumer or\n * {@link Minipass#resume} is explicitly called.\n */\n unpipe<W extends Minipass.Writable>(dest: W) {\n const p = this[PIPES].find(p => p.dest === dest)\n if (p) {\n if (this[PIPES].length === 1) {\n if (this[FLOWING] && this[DATALISTENERS] === 0) {\n this[FLOWING] = false\n }\n this[PIPES] = []\n } else this[PIPES].splice(this[PIPES].indexOf(p), 1)\n p.unpipe()\n }\n }\n\n /**\n * Alias for {@link Minipass#on}\n */\n addListener<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ): this {\n return this.on(ev, handler)\n }\n\n /**\n * Mostly identical to `EventEmitter.on`, with the following\n * behavior differences to prevent data loss and unnecessary hangs:\n *\n * - Adding a 'data' event handler will trigger the flow of data\n *\n * - Adding a 'readable' event handler when there is data waiting to be read\n * will cause 'readable' to be emitted immediately.\n *\n * - Adding an 'endish' event handler ('end', 'finish', etc.) which has\n * already passed will cause the event to be emitted immediately and all\n * handlers removed.\n *\n * - Adding an 'error' event handler after an error has been emitted will\n * cause the event to be re-emitted immediately with the error previously\n * raised.\n */\n on<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ): this {\n const ret = super.on(\n ev as string | symbol,\n handler as (...a: any[]) => any\n )\n if (ev === 'data') {\n this[DISCARDED] = false\n this[DATALISTENERS]++\n if (!this[PIPES].length && !this[FLOWING]) {\n this[RESUME]()\n }\n } else if (ev === 'readable' && this[BUFFERLENGTH] !== 0) {\n super.emit('readable')\n } else if (isEndish(ev) && this[EMITTED_END]) {\n super.emit(ev)\n this.removeAllListeners(ev)\n } else if (ev === 'error' && this[EMITTED_ERROR]) {\n const h = handler as (...a: Events['error']) => any\n if (this[ASYNC]) defer(() => h.call(this, this[EMITTED_ERROR]))\n else h.call(this, this[EMITTED_ERROR])\n }\n return ret\n }\n\n /**\n * Alias for {@link Minipass#off}\n */\n removeListener<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ) {\n return this.off(ev, handler)\n }\n\n /**\n * Mostly identical to `EventEmitter.off`\n *\n * If a 'data' event handler is removed, and it was the last consumer\n * (ie, there are no pipe destinations or other 'data' event listeners),\n * then the flow of data will stop until there is another consumer or\n * {@link Minipass#resume} is explicitly called.\n */\n off<Event extends keyof Events>(\n ev: Event,\n handler: (...args: Events[Event]) => any\n ) {\n const ret = super.off(\n ev as string | symbol,\n handler as (...a: any[]) => any\n )\n // if we previously had listeners, and now we don't, and we don't\n // have any pipes, then stop the flow, unless it's been explicitly\n // put in a discarded flowing state via stream.resume().\n if (ev === 'data') {\n this[DATALISTENERS] = this.listeners('data').length\n if (\n this[DATALISTENERS] === 0 &&\n !this[DISCARDED] &&\n !this[PIPES].length\n ) {\n this[FLOWING] = false\n }\n }\n return ret\n }\n\n /**\n * Mostly identical to `EventEmitter.removeAllListeners`\n *\n * If all 'data' event handlers are removed, and they were the last consumer\n * (ie, there are no pipe destinations), then the flow of data will stop\n * until there is another consumer or {@link Minipass#resume} is explicitly\n * called.\n */\n removeAllListeners<Event extends keyof Events>(ev?: Event) {\n const ret = super.removeAllListeners(ev as string | symbol | undefined)\n if (ev === 'data' || ev === undefined) {\n this[DATALISTENERS] = 0\n if (!this[DISCARDED] && !this[PIPES].length) {\n this[FLOWING] = false\n }\n }\n return ret\n }\n\n /**\n * true if the 'end' event has been emitted\n */\n get emittedEnd() {\n return this[EMITTED_END]\n }\n\n [MAYBE_EMIT_END]() {\n if (\n !this[EMITTING_END] &&\n !this[EMITTED_END] &&\n !this[DESTROYED] &&\n this[BUFFER].length === 0 &&\n this[EOF]\n ) {\n this[EMITTING_END] = true\n this.emit('end')\n this.emit('prefinish')\n this.emit('finish')\n if (this[CLOSED]) this.emit('close')\n this[EMITTING_END] = false\n }\n }\n\n /**\n * Mostly identical to `EventEmitter.emit`, with the following\n * behavior differences to prevent data loss and unnecessary hangs:\n *\n * If the stream has been destroyed, and the event is something other\n * than 'close' or 'error', then `false` is returned and no handlers\n * are called.\n *\n * If the event is 'end', and has already been emitted, then the event\n * is ignored. If the stream is in a paused or non-flowing state, then\n * the event will be deferred until data flow resumes. If the stream is\n * async, then handlers will be called on the next tick rather than\n * immediately.\n *\n * If the event is 'close', and 'end' has not yet been emitted, then\n * the event will be deferred until after 'end' is emitted.\n *\n * If the event is 'error', and an AbortSignal was provided for the stream,\n * and there are no listeners, then the event is ignored, matching the\n * behavior of node core streams in the presense of an AbortSignal.\n *\n * If the event is 'finish' or 'prefinish', then all listeners will be\n * removed after emitting the event, to prevent double-firing.\n */\n emit<Event extends keyof Events>(\n ev: Event,\n ...args: Events[Event]\n ): boolean {\n const data = args[0]\n // error and close are only events allowed after calling destroy()\n if (\n ev !== 'error' &&\n ev !== 'close' &&\n ev !== DESTROYED &&\n this[DESTROYED]\n ) {\n return false\n } else if (ev === 'data') {\n return !this[OBJECTMODE] && !data\n ? false\n : this[ASYNC]\n ? (defer(() => this[EMITDATA](data as RType)), true)\n : this[EMITDATA](data as RType)\n } else if (ev === 'end') {\n return this[EMITEND]()\n } else if (ev === 'close') {\n this[CLOSED] = true\n // don't emit close before 'end' and 'finish'\n if (!this[EMITTED_END] && !this[DESTROYED]) return false\n const ret = super.emit('close')\n this.removeAllListeners('close')\n return ret\n } else if (ev === 'error') {\n this[EMITTED_ERROR] = data\n super.emit(ERROR, data)\n const ret =\n !this[SIGNAL] || this.listeners('error').length\n ? super.emit('error', data)\n : false\n this[MAYBE_EMIT_END]()\n return ret\n } else if (ev === 'resume') {\n const ret = super.emit('resume')\n this[MAYBE_EMIT_END]()\n return ret\n } else if (ev === 'finish' || ev === 'prefinish') {\n const ret = super.emit(ev)\n this.removeAllListeners(ev)\n return ret\n }\n\n // Some other unknown event\n const ret = super.emit(ev as string, ...args)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [EMITDATA](data: RType) {\n for (const p of this[PIPES]) {\n if (p.dest.write(data as RType) === false) this.pause()\n }\n const ret = this[DISCARDED] ? false : super.emit('data', data)\n this[MAYBE_EMIT_END]()\n return ret\n }\n\n [EMITEND]() {\n if (this[EMITTED_END]) return false\n\n this[EMITTED_END] = true\n this.readable = false\n return this[ASYNC]\n ? (defer(() => this[EMITEND2]()), true)\n : this[EMITEND2]()\n }\n\n [EMITEND2]() {\n if (this[DECODER]) {\n const data = this[DECODER].end()\n if (data) {\n for (const p of this[PIPES]) {\n p.dest.write(data as RType)\n }\n if (!this[DISCARDED]) super.emit('data', data)\n }\n }\n\n for (const p of this[PIPES]) {\n p.end()\n }\n const ret = super.emit('end')\n this.removeAllListeners('end')\n return ret\n }\n\n /**\n * Return a Promise that resolves to an array of all emitted data once\n * the stream ends.\n */\n async collect(): Promise<RType[] & { dataLength: number }> {\n const buf: RType[] & { dataLength: number } = Object.assign([], {\n dataLength: 0,\n })\n if (!this[OBJECTMODE]) buf.dataLength = 0\n // set the promise first, in case an error is raised\n // by triggering the flow here.\n const p = this.promise()\n this.on('data', c => {\n buf.push(c)\n if (!this[OBJECTMODE])\n buf.dataLength += (c as Minipass.BufferOrString).length\n })\n await p\n return buf\n }\n\n /**\n * Return a Promise that resolves to the concatenation of all emitted data\n * once the stream ends.\n *\n * Not allowed on objectMode streams.\n */\n async concat(): Promise<RType> {\n if (this[OBJECTMODE]) {\n throw new Error('cannot concat in objectMode')\n }\n const buf = await this.collect()\n return (\n this[ENCODING]\n ? buf.join('')\n : Buffer.concat(buf as Buffer[], buf.dataLength)\n ) as RType\n }\n\n /**\n * Return a void Promise that resolves once the stream ends.\n */\n async promise(): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n this.on(DESTROYED, () => reject(new Error('stream destroyed')))\n this.on('error', er => reject(er))\n this.on('end', () => resolve())\n })\n }\n\n /**\n * Asynchronous `for await of` iteration.\n *\n * This will continue emitting all chunks until the stream terminates.\n */\n [Symbol.asyncIterator](): AsyncGenerator<RType, void, void> {\n // set this up front, in case the consumer doesn't call next()\n // right away.\n this[DISCARDED] = false\n let stopped = false\n const stop = async (): Promise<IteratorReturnResult<void>> => {\n this.pause()\n stopped = true\n return { value: undefined, done: true }\n }\n const next = (): Promise<IteratorResult<RType, void>> => {\n if (stopped) return stop()\n const res = this.read()\n if (res !== null) return Promise.resolve({ done: false, value: res })\n\n if (this[EOF]) return stop()\n\n let resolve!: (res: IteratorResult<RType>) => void\n let reject!: (er: unknown) => void\n const onerr = (er: unknown) => {\n this.off('data', ondata)\n this.off('end', onend)\n this.off(DESTROYED, ondestroy)\n stop()\n reject(er)\n }\n const ondata = (value: RType) => {\n this.off('error', onerr)\n this.off('end', onend)\n this.off(DESTROYED, ondestroy)\n this.pause()\n resolve({ value, done: !!this[EOF] })\n }\n const onend = () => {\n this.off('error', onerr)\n this.off('data', ondata)\n this.off(DESTROYED, ondestroy)\n stop()\n resolve({ done: true, value: undefined })\n }\n const ondestroy = () => onerr(new Error('stream destroyed'))\n return new Promise<IteratorResult<RType>>((res, rej) => {\n reject = rej\n resolve = res\n this.once(DESTROYED, ondestroy)\n this.once('error', onerr)\n this.once('end', onend)\n this.once('data', ondata)\n })\n }\n\n return {\n next,\n throw: stop,\n return: stop,\n [Symbol.asyncIterator]() {\n return this\n },\n [Symbol.asyncDispose]: async () => {},\n }\n }\n\n /**\n * Synchronous `for of` iteration.\n *\n * The iteration will terminate when the internal buffer runs out, even\n * if the stream has not yet terminated.\n */\n [Symbol.iterator](): Generator<RType, void, void> {\n // set this up front, in case the consumer doesn't call next()\n // right away.\n this[DISCARDED] = false\n let stopped = false\n const stop = (): IteratorReturnResult<void> => {\n this.pause()\n this.off(ERROR, stop)\n this.off(DESTROYED, stop)\n this.off('end', stop)\n stopped = true\n return { done: true, value: undefined }\n }\n\n const next = (): IteratorResult<RType, void> => {\n if (stopped) return stop()\n const value = this.read()\n return value === null ? stop() : { done: false, value }\n }\n\n this.once('end', stop)\n this.once(ERROR, stop)\n this.once(DESTROYED, stop)\n\n return {\n next,\n throw: stop,\n return: stop,\n [Symbol.iterator]() {\n return this\n },\n [Symbol.dispose]: () => {},\n }\n }\n\n /**\n * Destroy a stream, preventing it from being used for any further purpose.\n *\n * If the stream has a `close()` method, then it will be called on\n * destruction.\n *\n * After destruction, any attempt to write data, read data, or emit most\n * events will be ignored.\n *\n * If an error argument is provided, then it will be emitted in an\n * 'error' event.\n */\n destroy(er?: unknown) {\n if (this[DESTROYED]) {\n if (er) this.emit('error', er)\n else this.emit(DESTROYED)\n return this\n }\n\n this[DESTROYED] = true\n this[DISCARDED] = true\n\n // throw away all buffered data, it's never coming out\n this[BUFFER].length = 0\n this[BUFFERLENGTH] = 0\n\n const wc = this as Minipass<RType, WType, Events> & {\n close?: () => void\n }\n if (typeof wc.close === 'function' && !this[CLOSED]) wc.close()\n\n if (er) this.emit('error', er)\n // if no error to emit, still reject pending promises\n else this.emit(DESTROYED)\n\n return this\n }\n\n /**\n * Alias for {@link isStream}\n *\n * Former export location, maintained for backwards compatibility.\n *\n * @deprecated\n */\n static get isStream() {\n return isStream\n }\n}\n", "import { WriteStream, WriteStreamSync } from '@isaacs/fs-minipass'\nimport type { Minipass } from 'minipass'\nimport path from 'node:path'\nimport { list } from './list.js'\nimport { makeCommand } from './make-command.js'\nimport type {\n TarOptions,\n TarOptionsFile,\n TarOptionsSync,\n TarOptionsSyncFile,\n} from './options.js'\nimport { Pack, PackSync } from './pack.js'\n\nconst createFileSync = (opt: TarOptionsSyncFile, files: string[]) => {\n const p = new PackSync(opt)\n const stream = new WriteStreamSync(opt.file, {\n mode: opt.mode || 0o666,\n })\n p.pipe(stream as unknown as Minipass.Writable)\n addFilesSync(p, files)\n}\n\nconst createFile = (opt: TarOptionsFile, files: string[]) => {\n const p = new Pack(opt)\n const stream = new WriteStream(opt.file, {\n mode: opt.mode || 0o666,\n })\n p.pipe(stream as unknown as Minipass.Writable)\n\n const promise = new Promise<void>((res, rej) => {\n stream.on('error', rej)\n stream.on('close', res)\n p.on('error', rej)\n })\n\n addFilesAsync(p, files).catch(er => p.emit('error', er))\n\n return promise\n}\n\nconst addFilesSync = (p: PackSync, files: string[]) => {\n files.forEach(file => {\n if (file.charAt(0) === '@') {\n list({\n file: path.resolve(p.cwd, file.slice(1)),\n sync: true,\n noResume: true,\n onReadEntry: entry => p.add(entry),\n })\n } else {\n p.add(file)\n }\n })\n p.end()\n}\n\nconst addFilesAsync = async (p: Pack, files: string[]): Promise<void> => {\n for (const file of files) {\n if (file.charAt(0) === '@') {\n await list({\n file: path.resolve(String(p.cwd), file.slice(1)),\n noResume: true,\n onReadEntry: entry => {\n p.add(entry)\n },\n })\n } else {\n p.add(file)\n }\n }\n p.end()\n}\n\nconst createSync = (opt: TarOptionsSync, files: string[]) => {\n const p = new PackSync(opt)\n addFilesSync(p, files)\n return p\n}\n\nconst createAsync = (opt: TarOptions, files: string[]) => {\n const p = new Pack(opt)\n addFilesAsync(p, files).catch(er => p.emit('error', er))\n return p\n}\n\nexport const create = makeCommand(\n createFileSync,\n createFile,\n createSync,\n createAsync,\n (_opt, files) => {\n if (!files?.length) {\n throw new TypeError('no paths specified to add to archive')\n }\n },\n)\n", "// tar -t\nimport * as fsm from '@isaacs/fs-minipass'\nimport fs from 'node:fs'\nimport { dirname, parse } from 'path'\nimport { makeCommand } from './make-command.js'\nimport type {\n TarOptions,\n TarOptionsFile,\n TarOptionsSyncFile,\n} from './options.js'\nimport { Parser } from './parse.js'\nimport { stripTrailingSlashes } from './strip-trailing-slashes.js'\n\nconst onReadEntryFunction = (opt: TarOptions) => {\n const onReadEntry = opt.onReadEntry\n opt.onReadEntry =\n onReadEntry ?\n e => {\n onReadEntry(e)\n e.resume()\n }\n : e => e.resume()\n}\n\n// construct a filter that limits the file entries listed\n// include child entries if a dir is included\nexport const filesFilter = (opt: TarOptions, files: string[]) => {\n const map = new Map<string, boolean>(\n files.map(f => [stripTrailingSlashes(f), true]),\n )\n const filter = opt.filter\n\n const mapHas = (file: string, r: string = ''): boolean => {\n const root = r || parse(file).root || '.'\n let ret: boolean\n if (file === root) ret = false\n else {\n const m = map.get(file)\n ret = m !== undefined ? m : mapHas(dirname(file), root)\n }\n\n map.set(file, ret)\n return ret\n }\n\n opt.filter =\n filter ?\n (file, entry) =>\n filter(file, entry) && mapHas(stripTrailingSlashes(file))\n : file => mapHas(stripTrailingSlashes(file))\n}\n\nconst listFileSync = (opt: TarOptionsSyncFile) => {\n const p = new Parser(opt)\n const file = opt.file\n let fd: number | undefined\n try {\n fd = fs.openSync(file, 'r')\n const stat: fs.Stats = fs.fstatSync(fd)\n const readSize: number = opt.maxReadSize || 16 * 1024 * 1024\n if (stat.size < readSize) {\n const buf = Buffer.allocUnsafe(stat.size)\n const read = fs.readSync(fd, buf, 0, stat.size, 0)\n p.end(read === buf.byteLength ? buf : buf.subarray(0, read))\n } else {\n let pos = 0\n const buf = Buffer.allocUnsafe(readSize)\n while (pos < stat.size) {\n const bytesRead = fs.readSync(fd, buf, 0, readSize, pos)\n if (bytesRead === 0) break\n pos += bytesRead\n p.write(buf.subarray(0, bytesRead))\n }\n p.end()\n }\n } finally {\n if (typeof fd === 'number') {\n try {\n fs.closeSync(fd)\n /* c8 ignore next */\n } catch {}\n }\n }\n}\n\nconst listFile = (\n opt: TarOptionsFile,\n _files: string[],\n): Promise<void> => {\n const parse = new Parser(opt)\n const readSize = opt.maxReadSize || 16 * 1024 * 1024\n\n const file = opt.file\n const p = new Promise<void>((resolve, reject) => {\n parse.on('error', reject)\n parse.on('end', resolve)\n\n fs.stat(file, (er, stat) => {\n if (er) {\n reject(er)\n } else {\n const stream = new fsm.ReadStream(file, {\n readSize: readSize,\n size: stat.size,\n })\n stream.on('error', reject)\n stream.pipe(parse)\n }\n })\n })\n return p\n}\n\nexport const list = makeCommand(\n listFileSync,\n listFile,\n opt => new Parser(opt) as Parser & { sync: true },\n opt => new Parser(opt),\n (opt, files) => {\n if (files?.length) filesFilter(opt, files)\n if (!opt.noResume) onReadEntryFunction(opt)\n },\n)\n", "// turn tar(1) style args like `C` into the more verbose things like `cwd`\n\nimport { type GzipOptions, type ZlibOptions } from 'minizlib'\nimport { type Stats } from 'node:fs'\nimport { type ReadEntry } from './read-entry.js'\nimport { type WarnData } from './warn-method.js'\nimport type { WriteEntry } from './write-entry.js'\n\nconst argmap = new Map<keyof TarOptionsWithAliases, keyof TarOptions>([\n ['C', 'cwd'],\n ['f', 'file'],\n ['z', 'gzip'],\n ['P', 'preservePaths'],\n ['U', 'unlink'],\n ['strip-components', 'strip'],\n ['stripComponents', 'strip'],\n ['keep-newer', 'newer'],\n ['keepNewer', 'newer'],\n ['keep-newer-files', 'newer'],\n ['keepNewerFiles', 'newer'],\n ['k', 'keep'],\n ['keep-existing', 'keep'],\n ['keepExisting', 'keep'],\n ['m', 'noMtime'],\n ['no-mtime', 'noMtime'],\n ['p', 'preserveOwner'],\n ['L', 'follow'],\n ['h', 'follow'],\n ['onentry', 'onReadEntry'],\n])\n\n/**\n * The options that can be provided to tar commands.\n *\n * Note that some of these are only relevant for certain commands, since\n * they are specific to reading or writing.\n *\n * Aliases are provided in the {@link TarOptionsWithAliases} type.\n */\nexport interface TarOptions {\n //////////////////////////\n // shared options\n\n /**\n * Perform all I/O operations synchronously. If the stream is ended\n * immediately, then it will be processed entirely synchronously.\n */\n sync?: boolean\n\n /**\n * The tar file to be read and/or written. When this is set, a stream\n * is not returned. Asynchronous commands will return a promise indicating\n * when the operation is completed, and synchronous commands will return\n * immediately.\n */\n file?: string\n\n /**\n * Treat warnings as crash-worthy errors. Defaults false.\n */\n strict?: boolean\n\n /**\n * The effective current working directory for this tar command\n */\n cwd?: string\n\n /**\n * When creating a tar archive, this can be used to compress it as well.\n * Set to `true` to use the default gzip options, or customize them as\n * needed.\n *\n * When reading, if this is unset, then the compression status will be\n * inferred from the archive data. This is generally best, unless you are\n * sure of the compression settings in use to create the archive, and want to\n * fail if the archive doesn't match expectations.\n */\n gzip?: boolean | GzipOptions\n\n /**\n * When creating archives, preserve absolute and `..` paths in the archive,\n * rather than sanitizing them under the cwd.\n *\n * When extracting, allow absolute paths, paths containing `..`, and\n * extracting through symbolic links. By default, the root `/` is stripped\n * from absolute paths (eg, turning `/x/y/z` into `x/y/z`), paths containing\n * `..` are not extracted, and any file whose location would be modified by a\n * symbolic link is not extracted.\n *\n * **WARNING** This is almost always unsafe, and must NEVER be used on\n * archives from untrusted sources, such as user input, and every entry must\n * be validated to ensure it is safe to write. Even if the input is not\n * malicious, mistakes can cause a lot of damage!\n */\n preservePaths?: boolean\n\n /**\n * When extracting, do not set the `mtime` value for extracted entries to\n * match the `mtime` in the archive.\n *\n * When creating archives, do not store the `mtime` value in the entry. Note\n * that this prevents properly using other mtime-based features (such as\n * `tar.update` or the `newer` option) with the resulting archive.\n */\n noMtime?: boolean\n\n /**\n * Set to `true` or an object with settings for `zlib.BrotliCompress()` to\n * create a brotli-compressed archive\n *\n * When extracting, this will cause the archive to be treated as a\n * brotli-compressed file if set to `true` or a ZlibOptions object.\n *\n * If set `false`, then brotli options will not be used.\n *\n * If this, the `gzip`, and `zstd` options are left `undefined`, then tar\n * will attempt to infer the brotli compression status, but can only do so\n * based on the filename. If the filename ends in `.tbr` or `.tar.br`, and\n * the first 512 bytes are not a valid tar header, then brotli decompression\n * will be attempted.\n */\n brotli?: boolean | ZlibOptions\n\n /**\n * Set to `true` or an object with settings for `zstd.compress()` to\n * create a zstd-compressed archive\n *\n * When extracting, this will cause the archive to be treated as a\n * zstd-compressed file if set to `true` or a ZlibOptions object.\n *\n * If set `false`, then zstd options will not be used.\n *\n * If this, the `gzip`, and `brotli` options are left `undefined`, then tar\n * will attempt to infer the zstd compression status, but can only do so\n * based on the filename. If the filename ends in `.tzst` or `.tar.zst`, and\n * the first 512 bytes are not a valid tar header, then zstd decompression\n * will be attempted.\n */\n zstd?: boolean | ZlibOptions\n\n /**\n * A function that is called with `(path, stat)` when creating an archive, or\n * `(path, entry)` when extracting. Return true to process the file/entry, or\n * false to exclude it.\n */\n filter?: (path: string, entry: Stats | ReadEntry) => boolean\n\n /**\n * A function that gets called for any warning encountered.\n *\n * Note: if `strict` is set, then the warning will throw, and this method\n * will not be called.\n */\n onwarn?: (code: string, message: string, data: WarnData) => unknown\n\n //////////////////////////\n // extraction options\n\n /**\n * When extracting, unlink files before creating them. Without this option,\n * tar overwrites existing files, which preserves existing hardlinks. With\n * this option, existing hardlinks will be broken, as will any symlink that\n * would affect the location of an extracted file.\n */\n unlink?: boolean\n\n /**\n * When extracting, strip the specified number of path portions from the\n * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be\n * extracted to `{cwd}/c/d`.\n *\n * Any entry whose entire path is stripped will be excluded.\n */\n strip?: number\n\n /**\n * When extracting, keep the existing file on disk if it's newer than the\n * file in the archive.\n */\n newer?: boolean\n\n /**\n * When extracting, do not overwrite existing files at all.\n */\n keep?: boolean\n\n /**\n * When extracting, set the `uid` and `gid` of extracted entries to the `uid`\n * and `gid` fields in the archive. Defaults to true when run as root, and\n * false otherwise.\n *\n * If false, then files and directories will be set with the owner and group\n * of the user running the process. This is similar to `-p` in `tar(1)`, but\n * ACLs and other system-specific data is never unpacked in this\n * implementation, and modes are set by default already.\n */\n preserveOwner?: boolean\n\n /**\n * The maximum depth of subfolders to extract into. This defaults to 1024.\n * Anything deeper than the limit will raise a warning and skip the entry.\n * Set to `Infinity` to remove the limitation.\n */\n maxDepth?: number\n\n /**\n * When extracting, force all created files and directories, and all\n * implicitly created directories, to be owned by the specified user id,\n * regardless of the `uid` field in the archive.\n *\n * Cannot be used along with `preserveOwner`. Requires also setting the `gid`\n * option.\n */\n uid?: number\n\n /**\n * When extracting, force all created files and directories, and all\n * implicitly created directories, to be owned by the specified group id,\n * regardless of the `gid` field in the archive.\n *\n * Cannot be used along with `preserveOwner`. Requires also setting the `uid`\n * option.\n */\n gid?: number\n\n /**\n * When extracting, provide a function that takes an `entry` object, and\n * returns a stream, or any falsey value. If a stream is provided, then that\n * stream's data will be written instead of the contents of the archive\n * entry. If a falsey value is provided, then the entry is written to disk as\n * normal.\n *\n * To exclude items from extraction, use the `filter` option.\n *\n * Note that using an asynchronous stream type with the `transform` option\n * will cause undefined behavior in synchronous extractions.\n * [MiniPass](http://npm.im/minipass)-based streams are designed for this use\n * case.\n */\n transform?: (entry: ReadEntry) => ReadEntry\n\n /**\n * Call `chmod()` to ensure that extracted files match the entry's mode\n * field. Without this field set, all mode fields in archive entries are a\n * best effort attempt only.\n *\n * Setting this necessitates a call to the deprecated `process.umask()`\n * method to determine the default umask value, unless a `processUmask`\n * config is provided as well.\n *\n * If not set, tar will attempt to create file system entries with whatever\n * mode is provided, and let the implicit process `umask` apply normally, but\n * if a file already exists to be written to, then its existing mode will not\n * be modified.\n *\n * When setting `chmod: true`, it is highly recommend to set the\n * {@link TarOptions#processUmask} option as well, to avoid the call to the\n * deprecated (and thread-unsafe) `process.umask()` method.\n */\n chmod?: boolean\n\n /**\n * When setting the {@link TarOptions#chmod} option to `true`, you may\n * provide a value here to avoid having to call the deprecated and\n * thread-unsafe `process.umask()` method.\n *\n * This has no effect with `chmod` is not set to true, as mode values are not\n * set explicitly anyway. If `chmod` is set to `true`, and a value is not\n * provided here, then `process.umask()` must be called, which will result in\n * deprecation warnings.\n *\n * The most common values for this are `0o22` (resulting in directories\n * created with mode `0o755` and files with `0o644` by default) and `0o2`\n * (resulting in directores created with mode `0o775` and files `0o664`, so\n * they are group-writable).\n */\n processUmask?: number\n\n //////////////////////////\n // archive creation options\n\n /**\n * When parsing/listing archives, `entry` streams are by default resumed\n * (set into \"flowing\" mode) immediately after the call to `onReadEntry()`.\n * Set `noResume: true` to suppress this behavior.\n *\n * Note that when this is set, the stream will never complete until the\n * data is consumed somehow.\n *\n * Set automatically in extract operations, since the entry is piped to\n * a file system entry right away. Only relevant when parsing.\n */\n noResume?: boolean\n\n /**\n * When creating, updating, or replacing within archives, this method will\n * be called with each WriteEntry that is created.\n */\n onWriteEntry?: (entry: WriteEntry) => unknown\n\n /**\n * When extracting or listing archives, this method will be called with\n * each entry that is not excluded by a `filter`.\n *\n * Important when listing archives synchronously from a file, because there\n * is otherwise no way to interact with the data!\n */\n onReadEntry?: (entry: ReadEntry) => unknown\n\n /**\n * Pack the targets of symbolic links rather than the link itself.\n */\n follow?: boolean\n\n /**\n * When creating archives, omit any metadata that is system-specific:\n * `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and\n * `nlink`. Note that `mtime` is still included, because this is necessary\n * for other time-based operations such as `tar.update`. Additionally, `mode`\n * is set to a \"reasonable default\" for mose unix systems, based on an\n * effective `umask` of `0o22`.\n *\n * This also defaults the `portable` option in the gzip configs when creating\n * a compressed archive, in order to produce deterministic archives that are\n * not operating-system specific.\n */\n portable?: boolean\n\n /**\n * When creating archives, do not recursively archive the contents of\n * directories. By default, archiving a directory archives all of its\n * contents as well.\n */\n noDirRecurse?: boolean\n\n /**\n * Suppress Pax extended headers when creating archives. Note that this means\n * long paths and linkpaths will be truncated, and large or negative numeric\n * values may be interpreted incorrectly.\n */\n noPax?: boolean\n\n /**\n * Set to a `Date` object to force a specific `mtime` value for everything\n * written to an archive.\n *\n * This is useful when creating archives that are intended to be\n * deterministic based on their contents, irrespective of the file's last\n * modification time.\n *\n * Overridden by `noMtime`.\n */\n mtime?: Date\n\n /**\n * A path portion to prefix onto the entries added to an archive.\n */\n prefix?: string\n\n /**\n * The mode to set on any created file archive, defaults to 0o666\n * masked by the process umask, often resulting in 0o644.\n *\n * This does *not* affect the mode fields of individual entries, or the\n * mode status of extracted entries on the filesystem.\n */\n mode?: number\n\n //////////////////////////\n // internal options\n\n /**\n * A cache of mtime values, to avoid having to stat the same file repeatedly.\n *\n * @internal\n */\n mtimeCache?: Map<string, Date>\n\n /**\n * maximum buffer size for `fs.read()` operations.\n *\n * @internal\n */\n maxReadSize?: number\n\n /**\n * Filter modes of entries being unpacked, like `process.umask()`\n *\n * @internal\n */\n umask?: number\n\n /**\n * Default mode for directories. Used for all implicitly created directories,\n * and any directories in the archive that do not have a mode field.\n *\n * @internal\n */\n dmode?: number\n\n /**\n * default mode for files\n *\n * @internal\n */\n fmode?: number\n\n /**\n * Map that tracks which directories already exist, for extraction\n *\n * @internal\n */\n dirCache?: Map<string, boolean>\n /**\n * maximum supported size of meta entries. Defaults to 1MB\n *\n * @internal\n */\n maxMetaEntrySize?: number\n\n /**\n * A Map object containing the device and inode value for any file whose\n * `nlink` value is greater than 1, to identify hard links when creating\n * archives.\n *\n * @internal\n */\n linkCache?: Map<LinkCacheKey, string>\n\n /**\n * A map object containing the results of `fs.readdir()` calls.\n *\n * @internal\n */\n readdirCache?: Map<string, string[]>\n\n /**\n * A cache of all `lstat` results, for use in creating archives.\n *\n * @internal\n */\n statCache?: Map<string, Stats>\n\n /**\n * Number of concurrent jobs to run when creating archives.\n *\n * Defaults to 4.\n *\n * @internal\n */\n jobs?: number\n\n /**\n * Automatically set to true on Windows systems.\n *\n * When extracting, causes behavior where filenames containing `<|>?:`\n * characters are converted to windows-compatible escape sequences in the\n * created filesystem entries.\n *\n * When packing, causes behavior where paths replace `\\` with `/`, and\n * filenames containing the windows-compatible escaped forms of `<|>?:` are\n * converted to actual `<|>?:` characters in the archive.\n *\n * @internal\n */\n win32?: boolean\n\n /**\n * For `WriteEntry` objects, the absolute path to the entry on the\n * filesystem. By default, this is `resolve(cwd, entry.path)`, but it can be\n * overridden explicitly.\n *\n * @internal\n */\n absolute?: string\n\n /**\n * Used with Parser stream interface, to attach and take over when the\n * stream is completely parsed. If this is set, then the prefinish,\n * finish, and end events will not fire, and are the responsibility of\n * the ondone method to emit properly.\n *\n * @internal\n */\n ondone?: () => void\n\n /**\n * Mostly for testing, but potentially useful in some cases.\n * Forcibly trigger a chown on every entry, no matter what.\n */\n forceChown?: boolean\n\n /**\n * ambiguous deprecated name for {@link onReadEntry}\n *\n * @deprecated\n */\n onentry?: (entry: ReadEntry) => unknown\n}\n\nexport type TarOptionsSync = TarOptions & { sync: true }\nexport type TarOptionsAsync = TarOptions & { sync?: false }\nexport type TarOptionsFile = TarOptions & { file: string }\nexport type TarOptionsNoFile = TarOptions & { file?: undefined }\nexport type TarOptionsSyncFile = TarOptionsSync & TarOptionsFile\nexport type TarOptionsAsyncFile = TarOptionsAsync & TarOptionsFile\nexport type TarOptionsSyncNoFile = TarOptionsSync & TarOptionsNoFile\nexport type TarOptionsAsyncNoFile = TarOptionsAsync & TarOptionsNoFile\n\nexport type LinkCacheKey = `${number}:${number}`\n\nexport interface TarOptionsWithAliases extends TarOptions {\n /**\n * The effective current working directory for this tar command\n */\n C?: TarOptions['cwd']\n /**\n * The tar file to be read and/or written. When this is set, a stream\n * is not returned. Asynchronous commands will return a promise indicating\n * when the operation is completed, and synchronous commands will return\n * immediately.\n */\n f?: TarOptions['file']\n /**\n * When creating a tar archive, this can be used to compress it as well.\n * Set to `true` to use the default gzip options, or customize them as\n * needed.\n *\n * When reading, if this is unset, then the compression status will be\n * inferred from the archive data. This is generally best, unless you are\n * sure of the compression settings in use to create the archive, and want to\n * fail if the archive doesn't match expectations.\n */\n z?: TarOptions['gzip']\n /**\n * When creating archives, preserve absolute and `..` paths in the archive,\n * rather than sanitizing them under the cwd.\n *\n * When extracting, allow absolute paths, paths containing `..`, and\n * extracting through symbolic links. By default, the root `/` is stripped\n * from absolute paths (eg, turning `/x/y/z` into `x/y/z`), paths containing\n * `..` are not extracted, and any file whose location would be modified by a\n * symbolic link is not extracted.\n *\n * **WARNING** This is almost always unsafe, and must NEVER be used on\n * archives from untrusted sources, such as user input, and every entry must\n * be validated to ensure it is safe to write. Even if the input is not\n * malicious, mistakes can cause a lot of damage!\n */\n P?: TarOptions['preservePaths']\n /**\n * When extracting, unlink files before creating them. Without this option,\n * tar overwrites existing files, which preserves existing hardlinks. With\n * this option, existing hardlinks will be broken, as will any symlink that\n * would affect the location of an extracted file.\n */\n U?: TarOptions['unlink']\n /**\n * When extracting, strip the specified number of path portions from the\n * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be\n * extracted to `{cwd}/c/d`.\n */\n 'strip-components'?: TarOptions['strip']\n /**\n * When extracting, strip the specified number of path portions from the\n * entry path. For example, with `{strip: 2}`, the entry `a/b/c/d` would be\n * extracted to `{cwd}/c/d`.\n */\n stripComponents?: TarOptions['strip']\n /**\n * When extracting, keep the existing file on disk if it's newer than the\n * file in the archive.\n */\n 'keep-newer'?: TarOptions['newer']\n /**\n * When extracting, keep the existing file on disk if it's newer than the\n * file in the archive.\n */\n keepNewer?: TarOptions['newer']\n /**\n * When extracting, keep the existing file on disk if it's newer than the\n * file in the archive.\n */\n 'keep-newer-files'?: TarOptions['newer']\n /**\n * When extracting, keep the existing file on disk if it's newer than the\n * file in the archive.\n */\n keepNewerFiles?: TarOptions['newer']\n /**\n * When extracting, do not overwrite existing files at all.\n */\n k?: TarOptions['keep']\n /**\n * When extracting, do not overwrite existing files at all.\n */\n 'keep-existing'?: TarOptions['keep']\n /**\n * When extracting, do not overwrite existing files at all.\n */\n keepExisting?: TarOptions['keep']\n /**\n * When extracting, do not set the `mtime` value for extracted entries to\n * match the `mtime` in the archive.\n *\n * When creating archives, do not store the `mtime` value in the entry. Note\n * that this prevents properly using other mtime-based features (such as\n * `tar.update` or the `newer` option) with the resulting archive.\n */\n m?: TarOptions['noMtime']\n /**\n * When extracting, do not set the `mtime` value for extracted entries to\n * match the `mtime` in the archive.\n *\n * When creating archives, do not store the `mtime` value in the entry. Note\n * that this prevents properly using other mtime-based features (such as\n * `tar.update` or the `newer` option) with the resulting archive.\n */\n 'no-mtime'?: TarOptions['noMtime']\n /**\n * When extracting, set the `uid` and `gid` of extracted entries to the `uid`\n * and `gid` fields in the archive. Defaults to true when run as root, and\n * false otherwise.\n *\n * If false, then files and directories will be set with the owner and group\n * of the user running the process. This is similar to `-p` in `tar(1)`, but\n * ACLs and other system-specific data is never unpacked in this\n * implementation, and modes are set by default already.\n */\n p?: TarOptions['preserveOwner']\n /**\n * Pack the targets of symbolic links rather than the link itself.\n */\n L?: TarOptions['follow']\n /**\n * Pack the targets of symbolic links rather than the link itself.\n */\n h?: TarOptions['follow']\n\n /**\n * Deprecated option. Set explicitly false to set `chmod: true`. Ignored\n * if {@link TarOptions#chmod} is set to any boolean value.\n *\n * @deprecated\n */\n noChmod?: boolean\n}\n\nexport type TarOptionsWithAliasesSync = TarOptionsWithAliases & {\n sync: true\n}\nexport type TarOptionsWithAliasesAsync = TarOptionsWithAliases & {\n sync?: false\n}\nexport type TarOptionsWithAliasesFile =\n | (TarOptionsWithAliases & {\n file: string\n })\n | (TarOptionsWithAliases & { f: string })\nexport type TarOptionsWithAliasesSyncFile = TarOptionsWithAliasesSync &\n TarOptionsWithAliasesFile\nexport type TarOptionsWithAliasesAsyncFile = TarOptionsWithAliasesAsync &\n TarOptionsWithAliasesFile\n\nexport type TarOptionsWithAliasesNoFile = TarOptionsWithAliases & {\n f?: undefined\n file?: undefined\n}\n\nexport type TarOptionsWithAliasesSyncNoFile = TarOptionsWithAliasesSync &\n TarOptionsWithAliasesNoFile\nexport type TarOptionsWithAliasesAsyncNoFile = TarOptionsWithAliasesAsync &\n TarOptionsWithAliasesNoFile\n\nexport const isSyncFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsSyncFile => !!o.sync && !!o.file\nexport const isAsyncFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsAsyncFile => !o.sync && !!o.file\nexport const isSyncNoFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsSyncNoFile => !!o.sync && !o.file\nexport const isAsyncNoFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsAsyncNoFile => !o.sync && !o.file\nexport const isSync = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsSync => !!o.sync\nexport const isAsync = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsAsync => !o.sync\nexport const isFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsFile => !!o.file\nexport const isNoFile = <O extends TarOptions>(\n o: O,\n): o is O & TarOptionsNoFile => !o.file\n\nconst dealiasKey = (k: keyof TarOptionsWithAliases): keyof TarOptions => {\n const d = argmap.get(k)\n if (d) return d\n return k as keyof TarOptions\n}\n\nexport const dealias = (opt: TarOptionsWithAliases = {}): TarOptions => {\n if (!opt) return {}\n const result: Record<string, unknown> = {}\n for (const [key, v] of Object.entries(opt) as [\n keyof TarOptionsWithAliases,\n unknown,\n ][]) {\n // TS doesn't know that aliases are going to always be the same type\n const k = dealiasKey(key)\n result[k] = v\n }\n // affordance for deprecated noChmod -> chmod\n if (result.chmod === undefined && result.noChmod === false) {\n result.chmod = true\n }\n delete result.noChmod\n return result as TarOptions\n}\n", "import type {\n TarOptions,\n TarOptionsAsyncFile,\n TarOptionsAsyncNoFile,\n TarOptionsSyncFile,\n TarOptionsSyncNoFile,\n TarOptionsWithAliases,\n TarOptionsWithAliasesAsync,\n TarOptionsWithAliasesAsyncFile,\n TarOptionsWithAliasesAsyncNoFile,\n TarOptionsWithAliasesFile,\n TarOptionsWithAliasesNoFile,\n TarOptionsWithAliasesSync,\n TarOptionsWithAliasesSyncFile,\n TarOptionsWithAliasesSyncNoFile,\n} from './options.js'\nimport {\n dealias,\n isAsyncFile,\n isAsyncNoFile,\n isSyncFile,\n isSyncNoFile,\n} from './options.js'\n\nexport type CB = (er?: Error) => unknown\n\nexport type TarCommand<AsyncClass, SyncClass extends { sync: true }> = {\n // async and no file specified\n (): AsyncClass\n (opt: TarOptionsWithAliasesAsyncNoFile): AsyncClass\n (entries: string[]): AsyncClass\n (opt: TarOptionsWithAliasesAsyncNoFile, entries: string[]): AsyncClass\n} & {\n // sync and no file\n (opt: TarOptionsWithAliasesSyncNoFile): SyncClass\n (opt: TarOptionsWithAliasesSyncNoFile, entries: string[]): SyncClass\n} & {\n // async and file\n (opt: TarOptionsWithAliasesAsyncFile): Promise<void>\n (opt: TarOptionsWithAliasesAsyncFile, entries: string[]): Promise<void>\n (opt: TarOptionsWithAliasesAsyncFile, cb: CB): Promise<void>\n (\n opt: TarOptionsWithAliasesAsyncFile,\n entries: string[],\n cb: CB,\n ): Promise<void>\n} & {\n // sync and file\n (opt: TarOptionsWithAliasesSyncFile): void\n (opt: TarOptionsWithAliasesSyncFile, entries: string[]): void\n} & {\n // sync, maybe file\n (opt: TarOptionsWithAliasesSync): typeof opt extends (\n TarOptionsWithAliasesFile\n ) ?\n void\n : typeof opt extends TarOptionsWithAliasesNoFile ? SyncClass\n : void | SyncClass\n (\n opt: TarOptionsWithAliasesSync,\n entries: string[],\n ): typeof opt extends TarOptionsWithAliasesFile ? void\n : typeof opt extends TarOptionsWithAliasesNoFile ? SyncClass\n : void | SyncClass\n} & {\n // async, maybe file\n (opt: TarOptionsWithAliasesAsync): typeof opt extends (\n TarOptionsWithAliasesFile\n ) ?\n Promise<void>\n : typeof opt extends TarOptionsWithAliasesNoFile ? AsyncClass\n : Promise<void> | AsyncClass\n (\n opt: TarOptionsWithAliasesAsync,\n entries: string[],\n ): typeof opt extends TarOptionsWithAliasesFile ? Promise<void>\n : typeof opt extends TarOptionsWithAliasesNoFile ? AsyncClass\n : Promise<void> | AsyncClass\n (opt: TarOptionsWithAliasesAsync, cb: CB): Promise<void>\n (\n opt: TarOptionsWithAliasesAsync,\n entries: string[],\n cb: CB,\n ): typeof opt extends TarOptionsWithAliasesFile ? Promise<void>\n : typeof opt extends TarOptionsWithAliasesNoFile ? never\n : Promise<void>\n} & {\n // maybe sync, file\n (opt: TarOptionsWithAliasesFile): Promise<void> | void\n (\n opt: TarOptionsWithAliasesFile,\n entries: string[],\n ): typeof opt extends TarOptionsWithAliasesSync ? void\n : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void>\n : Promise<void> | void\n (opt: TarOptionsWithAliasesFile, cb: CB): Promise<void>\n (\n opt: TarOptionsWithAliasesFile,\n entries: string[],\n cb: CB,\n ): typeof opt extends TarOptionsWithAliasesSync ? never\n : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void>\n : Promise<void>\n} & {\n // maybe sync, no file\n (opt: TarOptionsWithAliasesNoFile): typeof opt extends (\n TarOptionsWithAliasesSync\n ) ?\n SyncClass\n : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass\n : SyncClass | AsyncClass\n (\n opt: TarOptionsWithAliasesNoFile,\n entries: string[],\n ): typeof opt extends TarOptionsWithAliasesSync ? SyncClass\n : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass\n : SyncClass | AsyncClass\n} & {\n // maybe sync, maybe file\n (opt: TarOptionsWithAliases): typeof opt extends (\n TarOptionsWithAliasesFile\n ) ?\n typeof opt extends TarOptionsWithAliasesSync ? void\n : typeof opt extends TarOptionsWithAliasesAsync ? Promise<void>\n : void | Promise<void>\n : typeof opt extends TarOptionsWithAliasesNoFile ?\n typeof opt extends TarOptionsWithAliasesSync ? SyncClass\n : typeof opt extends TarOptionsWithAliasesAsync ? AsyncClass\n : SyncClass | AsyncClass\n : typeof opt extends TarOptionsWithAliasesSync ? SyncClass | void\n : typeof opt extends TarOptionsWithAliasesAsync ?\n AsyncClass | Promise<void>\n : SyncClass | void | AsyncClass | Promise<void>\n} & {\n // extras\n syncFile: (opt: TarOptionsSyncFile, entries: string[]) => void\n asyncFile: (\n opt: TarOptionsAsyncFile,\n entries: string[],\n cb?: CB,\n ) => Promise<void>\n syncNoFile: (opt: TarOptionsSyncNoFile, entries: string[]) => SyncClass\n asyncNoFile: (\n opt: TarOptionsAsyncNoFile,\n entries: string[],\n ) => AsyncClass\n validate?: (opt: TarOptions, entries?: string[]) => void\n}\n\nexport const makeCommand = <AsyncClass, SyncClass extends { sync: true }>(\n syncFile: (opt: TarOptionsSyncFile, entries: string[]) => void,\n asyncFile: (\n opt: TarOptionsAsyncFile,\n entries: string[],\n cb?: CB,\n ) => Promise<void>,\n syncNoFile: (opt: TarOptionsSyncNoFile, entries: string[]) => SyncClass,\n asyncNoFile: (\n opt: TarOptionsAsyncNoFile,\n entries: string[],\n ) => AsyncClass,\n validate?: (opt: TarOptions, entries?: string[]) => void,\n): TarCommand<AsyncClass, SyncClass> => {\n return Object.assign(\n (\n opt_: TarOptionsWithAliases | string[] = [],\n entries?: string[] | CB,\n cb?: CB,\n ) => {\n if (Array.isArray(opt_)) {\n entries = opt_\n opt_ = {}\n }\n\n if (typeof entries === 'function') {\n cb = entries\n entries = undefined\n }\n\n entries = !entries ? [] : Array.from(entries)\n\n const opt = dealias(opt_)\n\n validate?.(opt, entries)\n\n if (isSyncFile(opt)) {\n if (typeof cb === 'function') {\n throw new TypeError(\n 'callback not supported for sync tar functions',\n )\n }\n return syncFile(opt, entries)\n } else if (isAsyncFile(opt)) {\n const p = asyncFile(opt, entries)\n return cb ? p.then(() => cb(), cb) : p\n } else if (isSyncNoFile(opt)) {\n if (typeof cb === 'function') {\n throw new TypeError(\n 'callback not supported for sync tar functions',\n )\n }\n return syncNoFile(opt, entries)\n } else if (isAsyncNoFile(opt)) {\n if (typeof cb === 'function') {\n throw new TypeError('callback only supported with file option')\n }\n return asyncNoFile(opt, entries)\n /* c8 ignore start */\n }\n throw new Error('impossible options??')\n\n /* c8 ignore stop */\n },\n {\n syncFile,\n asyncFile,\n syncNoFile,\n asyncNoFile,\n validate,\n },\n ) as TarCommand<AsyncClass, SyncClass>\n}\n", "// this[BUFFER] is the remainder of a chunk if we're waiting for\n// the full 512 bytes of a header to come in. We will Buffer.concat()\n// it to the next write(), which is a mem copy, but a small one.\n//\n// this[QUEUE] is a list of entries that haven't been emitted\n// yet this can only get filled up if the user keeps write()ing after\n// a write() returns false, or does a write() with more than one entry\n//\n// We don't buffer chunks, we always parse them and either create an\n// entry, or push it into the active entry. The ReadEntry class knows\n// to throw data away if .ignore=true\n//\n// Shift entry off the buffer when it emits 'end', and emit 'entry' for\n// the next one in the list.\n//\n// At any time, we're pushing body chunks into the entry at WRITEENTRY,\n// and waiting for 'end' on the entry at READENTRY\n//\n// ignored entries get .resume() called on them straight away\n\nimport { EventEmitter as EE } from 'events'\nimport { BrotliDecompress, Unzip, ZstdDecompress } from 'minizlib'\nimport { Header } from './header.js'\nimport type { TarOptions } from './options.js'\nimport { Pax } from './pax.js'\nimport { ReadEntry } from './read-entry.js'\nimport { warnMethod, type WarnData, type Warner } from './warn-method.js'\n\nconst maxMetaEntrySize = 1024 * 1024\nconst gzipHeader = Buffer.from([0x1f, 0x8b])\nconst zstdHeader = Buffer.from([0x28, 0xb5, 0x2f, 0xfd])\nconst ZIP_HEADER_LEN = Math.max(gzipHeader.length, zstdHeader.length)\n\nconst STATE = Symbol('state')\nconst WRITEENTRY = Symbol('writeEntry')\nconst READENTRY = Symbol('readEntry')\nconst NEXTENTRY = Symbol('nextEntry')\nconst PROCESSENTRY = Symbol('processEntry')\nconst EX = Symbol('extendedHeader')\nconst GEX = Symbol('globalExtendedHeader')\nconst META = Symbol('meta')\nconst EMITMETA = Symbol('emitMeta')\nconst BUFFER = Symbol('buffer')\nconst QUEUE = Symbol('queue')\nconst ENDED = Symbol('ended')\nconst EMITTEDEND = Symbol('emittedEnd')\nconst EMIT = Symbol('emit')\nconst UNZIP = Symbol('unzip')\nconst CONSUMECHUNK = Symbol('consumeChunk')\nconst CONSUMECHUNKSUB = Symbol('consumeChunkSub')\nconst CONSUMEBODY = Symbol('consumeBody')\nconst CONSUMEMETA = Symbol('consumeMeta')\nconst CONSUMEHEADER = Symbol('consumeHeader')\nconst CONSUMING = Symbol('consuming')\nconst BUFFERCONCAT = Symbol('bufferConcat')\nconst MAYBEEND = Symbol('maybeEnd')\nconst WRITING = Symbol('writing')\nconst ABORTED = Symbol('aborted')\nconst DONE = Symbol('onDone')\nconst SAW_VALID_ENTRY = Symbol('sawValidEntry')\nconst SAW_NULL_BLOCK = Symbol('sawNullBlock')\nconst SAW_EOF = Symbol('sawEOF')\nconst CLOSESTREAM = Symbol('closeStream')\n\nconst noop = () => true\n\nexport type State = 'begin' | 'header' | 'ignore' | 'meta' | 'body'\n\nexport class Parser extends EE implements Warner {\n file: string\n strict: boolean\n maxMetaEntrySize: number\n filter: Exclude<TarOptions['filter'], undefined>\n brotli?: TarOptions['brotli']\n zstd?: TarOptions['zstd']\n\n writable: true = true\n readable: false = false;\n\n [QUEUE]: (ReadEntry | [string | symbol, unknown, unknown])[] = [];\n [BUFFER]?: Buffer;\n [READENTRY]?: ReadEntry;\n [WRITEENTRY]?: ReadEntry;\n [STATE]: State = 'begin';\n [META]: string = '';\n [EX]?: Pax;\n [GEX]?: Pax;\n [ENDED]: boolean = false;\n [UNZIP]?: false | Unzip | BrotliDecompress | ZstdDecompress;\n [ABORTED]: boolean = false;\n [SAW_VALID_ENTRY]?: boolean;\n [SAW_NULL_BLOCK]: boolean = false;\n [SAW_EOF]: boolean = false;\n [WRITING]: boolean = false;\n [CONSUMING]: boolean = false;\n [EMITTEDEND]: boolean = false\n\n constructor(opt: TarOptions = {}) {\n super()\n\n this.file = opt.file || ''\n\n // these BADARCHIVE errors can't be detected early. listen on DONE.\n this.on(DONE, () => {\n if (this[STATE] === 'begin' || this[SAW_VALID_ENTRY] === false) {\n // either less than 1 block of data, or all entries were invalid.\n // Either way, probably not even a tarball.\n this.warn('TAR_BAD_ARCHIVE', 'Unrecognized archive format')\n }\n })\n\n if (opt.ondone) {\n this.on(DONE, opt.ondone)\n } else {\n this.on(DONE, () => {\n this.emit('prefinish')\n this.emit('finish')\n this.emit('end')\n })\n }\n\n this.strict = !!opt.strict\n this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize\n this.filter = typeof opt.filter === 'function' ? opt.filter : noop\n // Unlike gzip, brotli doesn't have any magic bytes to identify it\n // Users need to explicitly tell us they're extracting a brotli file\n // Or we infer from the file extension\n const isTBR =\n opt.file &&\n (opt.file.endsWith('.tar.br') || opt.file.endsWith('.tbr'))\n // if it's a tbr file it MIGHT be brotli, but we don't know until\n // we look at it and verify it's not a valid tar file.\n this.brotli =\n !(opt.gzip || opt.zstd) && opt.brotli !== undefined ? opt.brotli\n : isTBR ? undefined\n : false\n\n // zstd has magic bytes to identify it, but we also support explicit options\n // and file extension detection\n const isTZST =\n opt.file &&\n (opt.file.endsWith('.tar.zst') || opt.file.endsWith('.tzst'))\n this.zstd =\n !(opt.gzip || opt.brotli) && opt.zstd !== undefined ? opt.zstd\n : isTZST ? true\n : undefined\n\n // have to set this so that streams are ok piping into it\n this.on('end', () => this[CLOSESTREAM]())\n\n if (typeof opt.onwarn === 'function') {\n this.on('warn', opt.onwarn)\n }\n if (typeof opt.onReadEntry === 'function') {\n this.on('entry', opt.onReadEntry)\n }\n }\n\n warn(code: string, message: string | Error, data: WarnData = {}): void {\n warnMethod(this, code, message, data)\n }\n\n [CONSUMEHEADER](chunk: Buffer, position: number) {\n if (this[SAW_VALID_ENTRY] === undefined) {\n this[SAW_VALID_ENTRY] = false\n }\n let header\n try {\n header = new Header(chunk, position, this[EX], this[GEX])\n } catch (er) {\n return this.warn('TAR_ENTRY_INVALID', er as Error)\n }\n\n if (header.nullBlock) {\n if (this[SAW_NULL_BLOCK]) {\n this[SAW_EOF] = true\n // ending an archive with no entries. pointless, but legal.\n if (this[STATE] === 'begin') {\n this[STATE] = 'header'\n }\n this[EMIT]('eof')\n } else {\n this[SAW_NULL_BLOCK] = true\n this[EMIT]('nullBlock')\n }\n } else {\n this[SAW_NULL_BLOCK] = false\n if (!header.cksumValid) {\n this.warn('TAR_ENTRY_INVALID', 'checksum failure', { header })\n } else if (!header.path) {\n this.warn('TAR_ENTRY_INVALID', 'path is required', { header })\n } else {\n const type = header.type\n if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) {\n this.warn('TAR_ENTRY_INVALID', 'linkpath required', {\n header,\n })\n } else if (\n !/^(Symbolic)?Link$/.test(type) &&\n !/^(Global)?ExtendedHeader$/.test(type) &&\n header.linkpath\n ) {\n this.warn('TAR_ENTRY_INVALID', 'linkpath forbidden', {\n header,\n })\n } else {\n const entry = (this[WRITEENTRY] = new ReadEntry(\n header,\n this[EX],\n this[GEX],\n ))\n\n // we do this for meta & ignored entries as well, because they\n // are still valid tar, or else we wouldn't know to ignore them\n if (!this[SAW_VALID_ENTRY]) {\n if (entry.remain) {\n // this might be the one!\n const onend = () => {\n if (!entry.invalid) {\n this[SAW_VALID_ENTRY] = true\n }\n }\n entry.on('end', onend)\n } else {\n this[SAW_VALID_ENTRY] = true\n }\n }\n\n if (entry.meta) {\n if (entry.size > this.maxMetaEntrySize) {\n entry.ignore = true\n this[EMIT]('ignoredEntry', entry)\n this[STATE] = 'ignore'\n entry.resume()\n } else if (entry.size > 0) {\n this[META] = ''\n entry.on('data', c => (this[META] += c))\n this[STATE] = 'meta'\n }\n } else {\n this[EX] = undefined\n entry.ignore = entry.ignore || !this.filter(entry.path, entry)\n\n if (entry.ignore) {\n // probably valid, just not something we care about\n this[EMIT]('ignoredEntry', entry)\n this[STATE] = entry.remain ? 'ignore' : 'header'\n entry.resume()\n } else {\n if (entry.remain) {\n this[STATE] = 'body'\n } else {\n this[STATE] = 'header'\n entry.end()\n }\n\n if (!this[READENTRY]) {\n this[QUEUE].push(entry)\n this[NEXTENTRY]()\n } else {\n this[QUEUE].push(entry)\n }\n }\n }\n }\n }\n }\n }\n\n [CLOSESTREAM]() {\n queueMicrotask(() => this.emit('close'))\n }\n\n [PROCESSENTRY](entry?: ReadEntry | [string | symbol, unknown, unknown]) {\n let go = true\n\n if (!entry) {\n this[READENTRY] = undefined\n go = false\n } else if (Array.isArray(entry)) {\n const [ev, ...args]: [string | symbol, unknown, unknown] = entry\n this.emit(ev, ...args)\n } else {\n this[READENTRY] = entry\n this.emit('entry', entry)\n if (!entry.emittedEnd) {\n entry.on('end', () => this[NEXTENTRY]())\n go = false\n }\n }\n\n return go\n }\n\n [NEXTENTRY]() {\n do {} while (this[PROCESSENTRY](this[QUEUE].shift()))\n\n if (this[QUEUE].length === 0) {\n // At this point, there's nothing in the queue, but we may have an\n // entry which is being consumed (readEntry).\n // If we don't, then we definitely can handle more data.\n // If we do, and either it's flowing, or it has never had any data\n // written to it, then it needs more.\n // The only other possibility is that it has returned false from a\n // write() call, so we wait for the next drain to continue.\n const re = this[READENTRY]\n const drainNow = !re || re.flowing || re.size === re.remain\n if (drainNow) {\n if (!this[WRITING]) {\n this.emit('drain')\n }\n } else {\n re.once('drain', () => this.emit('drain'))\n }\n }\n }\n\n [CONSUMEBODY](chunk: Buffer, position: number) {\n // write up to but no more than writeEntry.blockRemain\n const entry = this[WRITEENTRY]\n /* c8 ignore start */\n if (!entry) {\n throw new Error('attempt to consume body without entry??')\n }\n const br = entry.blockRemain ?? 0\n /* c8 ignore stop */\n const c =\n br >= chunk.length && position === 0 ?\n chunk\n : chunk.subarray(position, position + br)\n\n entry.write(c)\n\n if (!entry.blockRemain) {\n this[STATE] = 'header'\n this[WRITEENTRY] = undefined\n entry.end()\n }\n\n return c.length\n }\n\n [CONSUMEMETA](chunk: Buffer, position: number) {\n const entry = this[WRITEENTRY]\n const ret = this[CONSUMEBODY](chunk, position)\n\n // if we finished, then the entry is reset\n if (!this[WRITEENTRY] && entry) {\n this[EMITMETA](entry)\n }\n\n return ret\n }\n\n [EMIT](ev: string | symbol, data?: unknown, extra?: unknown) {\n if (this[QUEUE].length === 0 && !this[READENTRY]) {\n this.emit(ev, data, extra)\n } else {\n this[QUEUE].push([ev, data, extra])\n }\n }\n\n [EMITMETA](entry: ReadEntry) {\n this[EMIT]('meta', this[META])\n switch (entry.type) {\n case 'ExtendedHeader':\n case 'OldExtendedHeader':\n this[EX] = Pax.parse(this[META], this[EX], false)\n break\n\n case 'GlobalExtendedHeader':\n this[GEX] = Pax.parse(this[META], this[GEX], true)\n break\n\n case 'NextFileHasLongPath':\n case 'OldGnuLongPath': {\n const ex = this[EX] ?? Object.create(null)\n this[EX] = ex\n ex.path = this[META].replace(/\\0.*/, '')\n break\n }\n\n case 'NextFileHasLongLinkpath': {\n const ex = this[EX] || Object.create(null)\n this[EX] = ex\n ex.linkpath = this[META].replace(/\\0.*/, '')\n break\n }\n\n /* c8 ignore start */\n default:\n throw new Error('unknown meta: ' + entry.type)\n /* c8 ignore stop */\n }\n }\n\n abort(error: Error) {\n this[ABORTED] = true\n this.emit('abort', error)\n // always throws, even in non-strict mode\n this.warn('TAR_ABORT', error, { recoverable: false })\n }\n\n write(\n buffer: Uint8Array | string,\n cb?: (err?: Error | null) => void,\n ): boolean\n write(\n str: string,\n encoding?: BufferEncoding,\n cb?: (err?: Error | null) => void,\n ): boolean\n write(\n chunk: Buffer | string,\n encoding?: BufferEncoding | (() => unknown),\n cb?: () => unknown,\n ): boolean {\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n if (typeof chunk === 'string') {\n chunk = Buffer.from(\n chunk,\n /* c8 ignore next */\n typeof encoding === 'string' ? encoding : 'utf8',\n )\n }\n if (this[ABORTED]) {\n /* c8 ignore next */\n cb?.()\n return false\n }\n\n // first write, might be gzipped, zstd, or brotli compressed\n const needSniff =\n this[UNZIP] === undefined ||\n (this.brotli === undefined && this[UNZIP] === false)\n if (needSniff && chunk) {\n if (this[BUFFER]) {\n chunk = Buffer.concat([this[BUFFER], chunk])\n this[BUFFER] = undefined\n }\n if (chunk.length < ZIP_HEADER_LEN) {\n this[BUFFER] = chunk\n /* c8 ignore next */\n cb?.()\n return true\n }\n\n // look for gzip header\n for (\n let i = 0;\n this[UNZIP] === undefined && i < gzipHeader.length;\n i++\n ) {\n if (chunk[i] !== gzipHeader[i]) {\n this[UNZIP] = false\n }\n }\n\n // look for zstd header if gzip header not found\n let isZstd = false\n if (this[UNZIP] === false && this.zstd !== false) {\n isZstd = true\n for (let i = 0; i < zstdHeader.length; i++) {\n if (chunk[i] !== zstdHeader[i]) {\n isZstd = false\n break\n }\n }\n }\n\n const maybeBrotli = this.brotli === undefined && !isZstd\n if (this[UNZIP] === false && maybeBrotli) {\n // read the first header to see if it's a valid tar file. If so,\n // we can safely assume that it's not actually brotli, despite the\n // .tbr or .tar.br file extension.\n // if we ended before getting a full chunk, yes, def brotli\n if (chunk.length < 512) {\n if (this[ENDED]) {\n this.brotli = true\n } else {\n this[BUFFER] = chunk\n /* c8 ignore next */\n cb?.()\n return true\n }\n } else {\n // if it's tar, it's pretty reliably not brotli, chances of\n // that happening are astronomical.\n try {\n new Header(chunk.subarray(0, 512))\n this.brotli = false\n } catch (_) {\n this.brotli = true\n }\n }\n }\n\n if (\n this[UNZIP] === undefined ||\n (this[UNZIP] === false && (this.brotli || isZstd))\n ) {\n const ended = this[ENDED]\n this[ENDED] = false\n this[UNZIP] =\n this[UNZIP] === undefined ? new Unzip({})\n : isZstd ? new ZstdDecompress({})\n : new BrotliDecompress({})\n this[UNZIP].on('data', chunk => this[CONSUMECHUNK](chunk))\n this[UNZIP].on('error', er => this.abort(er as Error))\n this[UNZIP].on('end', () => {\n this[ENDED] = true\n this[CONSUMECHUNK]()\n })\n this[WRITING] = true\n const ret = !!this[UNZIP][ended ? 'end' : 'write'](chunk)\n this[WRITING] = false\n cb?.()\n return ret\n }\n }\n\n this[WRITING] = true\n if (this[UNZIP]) {\n this[UNZIP].write(chunk)\n } else {\n this[CONSUMECHUNK](chunk)\n }\n this[WRITING] = false\n\n // return false if there's a queue, or if the current entry isn't flowing\n const ret =\n this[QUEUE].length > 0 ? false\n : this[READENTRY] ? this[READENTRY].flowing\n : true\n\n // if we have no queue, then that means a clogged READENTRY\n if (!ret && this[QUEUE].length === 0) {\n this[READENTRY]?.once('drain', () => this.emit('drain'))\n }\n\n /* c8 ignore next */\n cb?.()\n return ret\n }\n\n [BUFFERCONCAT](c: Buffer) {\n if (c && !this[ABORTED]) {\n this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c\n }\n }\n\n [MAYBEEND]() {\n if (\n this[ENDED] &&\n !this[EMITTEDEND] &&\n !this[ABORTED] &&\n !this[CONSUMING]\n ) {\n this[EMITTEDEND] = true\n const entry = this[WRITEENTRY]\n if (entry && entry.blockRemain) {\n // truncated, likely a damaged file\n const have = this[BUFFER] ? this[BUFFER].length : 0\n this.warn(\n 'TAR_BAD_ARCHIVE',\n `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`,\n { entry },\n )\n if (this[BUFFER]) {\n entry.write(this[BUFFER])\n }\n entry.end()\n }\n this[EMIT](DONE)\n }\n }\n\n [CONSUMECHUNK](chunk?: Buffer) {\n if (this[CONSUMING] && chunk) {\n this[BUFFERCONCAT](chunk)\n } else if (!chunk && !this[BUFFER]) {\n this[MAYBEEND]()\n } else if (chunk) {\n this[CONSUMING] = true\n if (this[BUFFER]) {\n this[BUFFERCONCAT](chunk)\n const c = this[BUFFER]\n this[BUFFER] = undefined\n this[CONSUMECHUNKSUB](c)\n } else {\n this[CONSUMECHUNKSUB](chunk)\n }\n\n while (\n this[BUFFER] &&\n (this[BUFFER] as Buffer)?.length >= 512 &&\n !this[ABORTED] &&\n !this[SAW_EOF]\n ) {\n const c = this[BUFFER]\n this[BUFFER] = undefined\n this[CONSUMECHUNKSUB](c)\n }\n this[CONSUMING] = false\n }\n\n if (!this[BUFFER] || this[ENDED]) {\n this[MAYBEEND]()\n }\n }\n\n [CONSUMECHUNKSUB](chunk: Buffer) {\n // we know that we are in CONSUMING mode, so anything written goes into\n // the buffer. Advance the position and put any remainder in the buffer.\n let position = 0\n const length = chunk.length\n while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) {\n switch (this[STATE]) {\n case 'begin':\n case 'header':\n this[CONSUMEHEADER](chunk, position)\n position += 512\n break\n\n case 'ignore':\n case 'body':\n position += this[CONSUMEBODY](chunk, position)\n break\n\n case 'meta':\n position += this[CONSUMEMETA](chunk, position)\n break\n\n /* c8 ignore start */\n default:\n throw new Error('invalid state: ' + this[STATE])\n /* c8 ignore stop */\n }\n }\n\n if (position < length) {\n this[BUFFER] =\n this[BUFFER] ?\n Buffer.concat([chunk.subarray(position), this[BUFFER]])\n : chunk.subarray(position)\n }\n }\n\n end(cb?: () => void): this\n end(data: string | Buffer, cb?: () => void): this\n end(str: string, encoding?: BufferEncoding, cb?: () => void): this\n end(\n chunk?: string | Buffer | (() => void),\n encoding?: BufferEncoding | (() => void),\n cb?: () => void,\n ) {\n if (typeof chunk === 'function') {\n cb = chunk\n encoding = undefined\n chunk = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding)\n }\n if (cb) this.once('finish', cb)\n if (!this[ABORTED]) {\n if (this[UNZIP]) {\n /* c8 ignore start */\n if (chunk) this[UNZIP].write(chunk)\n /* c8 ignore stop */\n this[UNZIP].end()\n } else {\n this[ENDED] = true\n if (this.brotli === undefined || this.zstd === undefined)\n chunk = chunk || Buffer.alloc(0)\n if (chunk) this.write(chunk)\n this[MAYBEEND]()\n }\n }\n return this\n }\n}\n", "import assert from 'assert'\nimport { Buffer } from 'buffer'\nimport { Minipass } from 'minipass'\nimport * as realZlib from 'zlib'\nimport { constants } from './constants.js'\nexport { constants } from './constants.js'\n\nconst OriginalBufferConcat = Buffer.concat\nconst desc = Object.getOwnPropertyDescriptor(Buffer, 'concat')\nconst noop = (args: Buffer[]) => args as unknown as Buffer\nconst passthroughBufferConcat =\n desc?.writable === true || desc?.set !== undefined\n ? (makeNoOp: boolean) => {\n Buffer.concat = makeNoOp ? noop : OriginalBufferConcat\n }\n : (_: boolean) => {}\n\nconst _superWrite = Symbol('_superWrite')\n\nexport class ZlibError extends Error {\n code?: string\n errno?: number\n constructor(err: NodeJS.ErrnoException | Error, origin?: Function) {\n super('zlib: ' + err.message, { cause: err })\n this.code = (err as NodeJS.ErrnoException).code\n this.errno = (err as NodeJS.ErrnoException).errno\n /* c8 ignore next */\n if (!this.code) this.code = 'ZLIB_ERROR'\n\n this.message = 'zlib: ' + err.message\n Error.captureStackTrace(this, origin ?? this.constructor)\n }\n\n get name() {\n return 'ZlibError'\n }\n}\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\nconst _flushFlag = Symbol('flushFlag')\n\nexport type ChunkWithFlushFlag = Minipass.ContiguousData & {\n [_flushFlag]?: number\n}\n\nexport type ZlibBaseOptions = Minipass.Options<Minipass.ContiguousData> & {\n flush?: number\n finishFlush?: number\n fullFlushFlag?: number\n}\n\nexport type ZlibHandle =\n | realZlib.Gzip\n | realZlib.Gunzip\n | realZlib.Deflate\n | realZlib.Inflate\n | realZlib.DeflateRaw\n | realZlib.InflateRaw\n | realZlib.BrotliCompress\n | realZlib.BrotliDecompress\n | realZlib.ZstdCompress\n | realZlib.ZstdDecompress\nexport type ZlibMode =\n | 'Gzip'\n | 'Gunzip'\n | 'Deflate'\n | 'Inflate'\n | 'DeflateRaw'\n | 'InflateRaw'\n | 'Unzip'\nexport type BrotliMode = 'BrotliCompress' | 'BrotliDecompress'\nexport type ZstdMode = 'ZstdCompress' | 'ZstdDecompress'\n\nabstract class ZlibBase extends Minipass<Buffer, ChunkWithFlushFlag> {\n #sawError: boolean = false\n #ended: boolean = false\n #flushFlag: number\n #finishFlushFlag: number\n #fullFlushFlag: number\n #handle?: ZlibHandle\n #onError: (err: ZlibError) => any\n\n get sawError() {\n return this.#sawError\n }\n get handle() {\n return this.#handle\n }\n /* c8 ignore start */\n get flushFlag() {\n return this.#flushFlag\n }\n /* c8 ignore stop */\n\n constructor(opts: ZlibBaseOptions, mode: ZlibMode | BrotliMode | ZstdMode) {\n if (!opts || typeof opts !== 'object')\n throw new TypeError('invalid options for ZlibBase constructor')\n\n //@ts-ignore\n super(opts)\n\n /* c8 ignore start */\n this.#flushFlag = opts.flush ?? 0\n this.#finishFlushFlag = opts.finishFlush ?? 0\n this.#fullFlushFlag = opts.fullFlushFlag ?? 0\n /* c8 ignore stop */\n\n //@ts-ignore\n if (typeof realZlib[mode] !== 'function') {\n throw new TypeError('Compression method not supported: ' + mode)\n }\n\n // this will throw if any options are invalid for the class selected\n try {\n // @types/node doesn't know that it exports the classes, but they're there\n //@ts-ignore\n this.#handle = new realZlib[mode](opts)\n } catch (er) {\n // make sure that all errors get decorated properly\n throw new ZlibError(er as NodeJS.ErrnoException, this.constructor)\n }\n\n this.#onError = err => {\n // no sense raising multiple errors, since we abort on the first one.\n if (this.#sawError) return\n\n this.#sawError = true\n\n // there is no way to cleanly recover.\n // continuing only obscures problems.\n this.close()\n this.emit('error', err)\n }\n\n this.#handle?.on('error', er => this.#onError(new ZlibError(er)))\n this.once('end', () => this.close)\n }\n\n close() {\n if (this.#handle) {\n this.#handle.close()\n this.#handle = undefined\n this.emit('close')\n }\n }\n\n reset() {\n if (!this.#sawError) {\n assert(this.#handle, 'zlib binding closed')\n //@ts-ignore\n return this.#handle.reset?.()\n }\n }\n\n flush(flushFlag?: number) {\n if (this.ended) return\n\n if (typeof flushFlag !== 'number') flushFlag = this.#fullFlushFlag\n\n this.write(Object.assign(Buffer.alloc(0), { [_flushFlag]: flushFlag }))\n }\n\n end(cb?: () => void): this\n end(chunk: ChunkWithFlushFlag, cb?: () => void): this\n end(\n chunk: ChunkWithFlushFlag,\n encoding?: Minipass.Encoding,\n cb?: () => void,\n ): this\n end(\n chunk?: ChunkWithFlushFlag | (() => void),\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void,\n ) {\n /* c8 ignore start */\n if (typeof chunk === 'function') {\n cb = chunk\n encoding = undefined\n chunk = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n /* c8 ignore stop */\n if (chunk) {\n if (encoding) this.write(chunk, encoding)\n else this.write(chunk)\n }\n this.flush(this.#finishFlushFlag)\n this.#ended = true\n return super.end(cb)\n }\n\n get ended() {\n return this.#ended\n }\n\n // overridden in the gzip classes to do portable writes\n [_superWrite](data: Buffer & { [_flushFlag]?: number }) {\n return super.write(data)\n }\n\n write(chunk: ChunkWithFlushFlag, cb?: () => void): boolean\n write(\n chunk: ChunkWithFlushFlag,\n encoding?: Minipass.Encoding,\n cb?: () => void,\n ): boolean\n write(\n chunk: ChunkWithFlushFlag,\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void,\n ) {\n // process the chunk using the sync process\n // then super.write() all the outputted chunks\n if (typeof encoding === 'function')\n (cb = encoding), (encoding = 'utf8')\n\n if (typeof chunk === 'string')\n chunk = Buffer.from(chunk as string, encoding as BufferEncoding)\n\n if (this.#sawError) return\n assert(this.#handle, 'zlib binding closed')\n\n // _processChunk tries to .close() the native handle after it's done, so we\n // intercept that by temporarily making it a no-op.\n // diving into the node:zlib internals a bit here\n const nativeHandle = (this.#handle as unknown as { _handle: any })\n ._handle\n const originalNativeClose = nativeHandle.close\n nativeHandle.close = () => {}\n const originalClose = this.#handle.close\n this.#handle.close = () => {}\n // It also calls `Buffer.concat()` at the end, which may be convenient\n // for some, but which we are not interested in as it slows us down.\n passthroughBufferConcat(true)\n let result: undefined | Buffer | Buffer[] = undefined\n try {\n const flushFlag =\n typeof chunk[_flushFlag] === 'number'\n ? chunk[_flushFlag]\n : this.#flushFlag\n result = (\n this.#handle as unknown as {\n _processChunk: (chunk: Buffer, flushFlag: number) => Buffer[]\n }\n )._processChunk(chunk as Buffer, flushFlag)\n // if we don't throw, reset it back how it was\n passthroughBufferConcat(false)\n } catch (err) {\n // or if we do, put Buffer.concat() back before we emit error\n // Error events call into user code, which may call Buffer.concat()\n passthroughBufferConcat(false)\n this.#onError(new ZlibError(err as NodeJS.ErrnoException, this.write))\n } finally {\n if (this.#handle) {\n // Core zlib resets `_handle` to null after attempting to close the\n // native handle. Our no-op handler prevented actual closure, but we\n // need to restore the `._handle` property.\n ;(this.#handle as unknown as { _handle: any })._handle =\n nativeHandle\n nativeHandle.close = originalNativeClose\n this.#handle.close = originalClose\n // `_processChunk()` adds an 'error' listener. If we don't remove it\n // after each call, these handlers start piling up.\n this.#handle.removeAllListeners('error')\n // make sure OUR error listener is still attached tho\n }\n }\n\n if (this.#handle)\n this.#handle.on('error', er => this.#onError(new ZlibError(er, this.write)))\n\n let writeReturn\n if (result) {\n if (Array.isArray(result) && result.length > 0) {\n const r = result[0]\n // The first buffer is always `handle._outBuffer`, which would be\n // re-used for later invocations; so, we always have to copy that one.\n writeReturn = this[_superWrite](Buffer.from(r as Buffer))\n for (let i = 1; i < result.length; i++) {\n writeReturn = this[_superWrite](result[i] as Buffer)\n }\n } else {\n // either a single Buffer or an empty array\n writeReturn = this[_superWrite](Buffer.from(result as Buffer | []))\n }\n }\n\n if (cb) cb()\n return writeReturn\n }\n}\n\nexport type ZlibOptions = ZlibBaseOptions & {\n level?: number\n strategy?: number\n}\n\nexport class Zlib extends ZlibBase {\n #level?: number\n #strategy?: number\n\n constructor(opts: ZlibOptions, mode: ZlibMode) {\n opts = opts || {}\n\n opts.flush = opts.flush || constants.Z_NO_FLUSH\n opts.finishFlush = opts.finishFlush || constants.Z_FINISH\n opts.fullFlushFlag = constants.Z_FULL_FLUSH\n super(opts, mode)\n\n this.#level = opts.level\n this.#strategy = opts.strategy\n }\n\n params(level: number, strategy: number) {\n if (this.sawError) return\n\n if (!this.handle)\n throw new Error('cannot switch params when binding is closed')\n\n // no way to test this without also not supporting params at all\n /* c8 ignore start */\n if (!(this.handle as { params?: any }).params)\n throw new Error('not supported in this implementation')\n /* c8 ignore stop */\n\n if (this.#level !== level || this.#strategy !== strategy) {\n this.flush(constants.Z_SYNC_FLUSH)\n assert(this.handle, 'zlib binding closed')\n // .params() calls .flush(), but the latter is always async in the\n // core zlib. We override .flush() temporarily to intercept that and\n // flush synchronously.\n const origFlush = this.handle.flush\n this.handle.flush = (\n flushFlag?: (() => void) | number,\n cb?: () => void,\n ) => {\n /* c8 ignore start */\n if (typeof flushFlag === 'function') {\n cb = flushFlag\n flushFlag = this.flushFlag\n }\n /* c8 ignore stop */\n this.flush(flushFlag)\n cb?.()\n }\n try {\n ;(\n this.handle as unknown as {\n params: (level?: number, strategy?: number) => void\n }\n ).params(level, strategy)\n } finally {\n this.handle.flush = origFlush\n }\n /* c8 ignore start */\n if (this.handle) {\n this.#level = level\n this.#strategy = strategy\n }\n /* c8 ignore stop */\n }\n }\n}\n\n// minimal 2-byte header\nexport class Deflate extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'Deflate')\n }\n}\n\nexport class Inflate extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'Inflate')\n }\n}\n\n// gzip - bigger header, same deflate compression\nexport type GzipOptions = ZlibOptions & { portable?: boolean }\nexport class Gzip extends Zlib {\n #portable: boolean\n constructor(opts: GzipOptions) {\n super(opts, 'Gzip')\n this.#portable = opts && !!opts.portable\n }\n\n [_superWrite](data: Buffer & { [_flushFlag]?: number }) {\n if (!this.#portable) return super[_superWrite](data)\n\n // we'll always get the header emitted in one first chunk\n // overwrite the OS indicator byte with 0xFF\n this.#portable = false\n data[9] = 255\n return super[_superWrite](data)\n }\n}\n\nexport class Gunzip extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'Gunzip')\n }\n}\n\n// raw - no header\nexport class DeflateRaw extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'DeflateRaw')\n }\n}\n\nexport class InflateRaw extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'InflateRaw')\n }\n}\n\n// auto-detect header.\nexport class Unzip extends Zlib {\n constructor(opts: ZlibOptions) {\n super(opts, 'Unzip')\n }\n}\n\nclass Brotli extends ZlibBase {\n constructor(opts: ZlibOptions, mode: BrotliMode) {\n opts = opts || {}\n\n opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS\n opts.finishFlush =\n opts.finishFlush || constants.BROTLI_OPERATION_FINISH\n opts.fullFlushFlag = constants.BROTLI_OPERATION_FLUSH\n super(opts, mode)\n }\n}\n\nexport class BrotliCompress extends Brotli {\n constructor(opts: ZlibOptions) {\n super(opts, 'BrotliCompress')\n }\n}\n\nexport class BrotliDecompress extends Brotli {\n constructor(opts: ZlibOptions) {\n super(opts, 'BrotliDecompress')\n }\n}\n\nclass Zstd extends ZlibBase {\n constructor(opts: ZlibOptions, mode: ZstdMode) {\n opts = opts || {}\n\n opts.flush = opts.flush || constants.ZSTD_e_continue\n opts.finishFlush = opts.finishFlush || constants.ZSTD_e_end\n opts.fullFlushFlag = constants.ZSTD_e_flush\n super(opts, mode)\n }\n}\n\nexport class ZstdCompress extends Zstd {\n constructor(opts: ZlibOptions) {\n super(opts, 'ZstdCompress')\n }\n}\n\nexport class ZstdDecompress extends Zstd {\n constructor(opts: ZlibOptions) {\n super(opts, 'ZstdDecompress')\n }\n}\n", "// Update with any zlib constants that are added or changed in the future.\n// Node v6 didn't export this, so we just hard code the version and rely\n// on all the other hard-coded values from zlib v4736. When node v6\n// support drops, we can just export the realZlibConstants object.\nimport realZlib from 'zlib'\n/* c8 ignore start */\nconst realZlibConstants = realZlib.constants || { ZLIB_VERNUM: 4736 }\n/* c8 ignore stop */\n\nexport const constants = Object.freeze(\n Object.assign(\n Object.create(null),\n {\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n Z_VERSION_ERROR: -6,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n DEFLATE: 1,\n INFLATE: 2,\n GZIP: 3,\n GUNZIP: 4,\n DEFLATERAW: 5,\n INFLATERAW: 6,\n UNZIP: 7,\n BROTLI_DECODE: 8,\n BROTLI_ENCODE: 9,\n Z_MIN_WINDOWBITS: 8,\n Z_MAX_WINDOWBITS: 15,\n Z_DEFAULT_WINDOWBITS: 15,\n Z_MIN_CHUNK: 64,\n Z_MAX_CHUNK: Infinity,\n Z_DEFAULT_CHUNK: 16384,\n Z_MIN_MEMLEVEL: 1,\n Z_MAX_MEMLEVEL: 9,\n Z_DEFAULT_MEMLEVEL: 8,\n Z_MIN_LEVEL: -1,\n Z_MAX_LEVEL: 9,\n Z_DEFAULT_LEVEL: -1,\n BROTLI_OPERATION_PROCESS: 0,\n BROTLI_OPERATION_FLUSH: 1,\n BROTLI_OPERATION_FINISH: 2,\n BROTLI_OPERATION_EMIT_METADATA: 3,\n BROTLI_MODE_GENERIC: 0,\n BROTLI_MODE_TEXT: 1,\n BROTLI_MODE_FONT: 2,\n BROTLI_DEFAULT_MODE: 0,\n BROTLI_MIN_QUALITY: 0,\n BROTLI_MAX_QUALITY: 11,\n BROTLI_DEFAULT_QUALITY: 11,\n BROTLI_MIN_WINDOW_BITS: 10,\n BROTLI_MAX_WINDOW_BITS: 24,\n BROTLI_LARGE_MAX_WINDOW_BITS: 30,\n BROTLI_DEFAULT_WINDOW: 22,\n BROTLI_MIN_INPUT_BLOCK_BITS: 16,\n BROTLI_MAX_INPUT_BLOCK_BITS: 24,\n BROTLI_PARAM_MODE: 0,\n BROTLI_PARAM_QUALITY: 1,\n BROTLI_PARAM_LGWIN: 2,\n BROTLI_PARAM_LGBLOCK: 3,\n BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,\n BROTLI_PARAM_SIZE_HINT: 5,\n BROTLI_PARAM_LARGE_WINDOW: 6,\n BROTLI_PARAM_NPOSTFIX: 7,\n BROTLI_PARAM_NDIRECT: 8,\n BROTLI_DECODER_RESULT_ERROR: 0,\n BROTLI_DECODER_RESULT_SUCCESS: 1,\n BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,\n BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,\n BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,\n BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,\n BROTLI_DECODER_NO_ERROR: 0,\n BROTLI_DECODER_SUCCESS: 1,\n BROTLI_DECODER_NEEDS_MORE_INPUT: 2,\n BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,\n BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,\n BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,\n BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,\n BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,\n BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,\n BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,\n BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,\n BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,\n BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,\n BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,\n BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,\n BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,\n BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,\n BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,\n BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,\n BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,\n BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,\n BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,\n BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,\n BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,\n BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,\n BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,\n BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,\n BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,\n BROTLI_DECODER_ERROR_UNREACHABLE: -31,\n },\n realZlibConstants,\n ),\n)\n", "// parse a 512-byte header block to a data object, or vice-versa\n// encode returns `true` if a pax extended header is needed, because\n// the data could not be faithfully encoded in a simple header.\n// (Also, check header.needPax to see if it needs a pax header.)\n\nimport { posix as pathModule } from 'node:path'\nimport * as large from './large-numbers.js'\nimport type { EntryTypeCode, EntryTypeName } from './types.js'\nimport * as types from './types.js'\n\nexport type HeaderData = {\n path?: string\n mode?: number\n uid?: number\n gid?: number\n size?: number\n cksum?: number\n type?: EntryTypeName | 'Unsupported'\n linkpath?: string\n uname?: string\n gname?: string\n devmaj?: number\n devmin?: number\n atime?: Date\n ctime?: Date\n mtime?: Date\n\n // fields that are common in extended PAX headers, but not in the\n // \"standard\" tar header block\n charset?: string\n comment?: string\n dev?: number\n ino?: number\n nlink?: number\n}\n\nexport class Header implements HeaderData {\n cksumValid: boolean = false\n needPax: boolean = false\n nullBlock: boolean = false\n\n block?: Buffer\n path?: string\n mode?: number\n uid?: number\n gid?: number\n size?: number\n cksum?: number\n #type: EntryTypeCode | 'Unsupported' = 'Unsupported'\n linkpath?: string\n uname?: string\n gname?: string\n devmaj: number = 0\n devmin: number = 0\n atime?: Date\n ctime?: Date\n mtime?: Date\n\n charset?: string\n comment?: string\n\n constructor(\n data?: Buffer | HeaderData,\n off: number = 0,\n ex?: HeaderData,\n gex?: HeaderData,\n ) {\n if (Buffer.isBuffer(data)) {\n this.decode(data, off || 0, ex, gex)\n } else if (data) {\n this.#slurp(data)\n }\n }\n\n decode(buf: Buffer, off: number, ex?: HeaderData, gex?: HeaderData) {\n if (!off) {\n off = 0\n }\n\n if (!buf || !(buf.length >= off + 512)) {\n throw new Error('need 512 bytes for header')\n }\n\n // Decode the typeflag (independent of any pending PAX/GNU extended header)\n // up front so we can tell whether THIS block is itself an intermediary\n // extension header (PAX `x`/`g`, GNU long-name `L`, GNU long-link `K`).\n // Per POSIX pax, a PAX extended header describes the *next file entry*, not\n // the extension headers that may sit between it and that file. Applying the\n // pending PAX overrides (notably `size`) to an intervening `L`/`K`/`x`/`g`\n // header desynchronizes the stream relative to other tar implementations\n // and enables tar interpretation-conflict / file-smuggling attacks.\n const t = decString(buf, off + 156, 1)\n const isNormalFS = types.normalFsTypes.has(t as EntryTypeCode)\n const exForFields = isNormalFS ? ex : undefined\n const gexForFields = isNormalFS ? gex : undefined\n\n this.path = exForFields?.path ?? decString(buf, off, 100)\n this.mode =\n exForFields?.mode ??\n gexForFields?.mode ??\n decNumber(buf, off + 100, 8)\n this.uid =\n exForFields?.uid ?? gexForFields?.uid ?? decNumber(buf, off + 108, 8)\n this.gid =\n exForFields?.gid ?? gexForFields?.gid ?? decNumber(buf, off + 116, 8)\n this.size =\n exForFields?.size ??\n gexForFields?.size ??\n decNumber(buf, off + 124, 12)\n this.mtime =\n exForFields?.mtime ??\n gexForFields?.mtime ??\n decDate(buf, off + 136, 12)\n this.cksum = decNumber(buf, off + 148, 12)\n\n // if we have extended or global extended headers, apply them now\n // See https://github.com/npm/node-tar/pull/187\n // Apply global before local, so it overrides. Never slurp the pending\n // extended-header fields onto an intermediary extension header.\n if (gexForFields) this.#slurp(gexForFields, true)\n if (exForFields) this.#slurp(exForFields)\n\n // old tar versions marked dirs as a file with a trailing /\n if (types.isCode(t)) {\n this.#type = t || '0'\n }\n if (this.#type === '0' && this.path.slice(-1) === '/') {\n this.#type = '5'\n }\n\n // tar implementations sometimes incorrectly put the stat(dir).size\n // as the size in the tarball, even though Directory entries are\n // not able to have any body at all. In the very rare chance that\n // it actually DOES have a body, we weren't going to do anything with\n // it anyway, and it'll just be a warning about an invalid header.\n if (this.#type === '5') {\n this.size = 0\n }\n\n this.linkpath = decString(buf, off + 157, 100)\n if (\n buf.subarray(off + 257, off + 265).toString() === 'ustar\\u000000'\n ) {\n /* c8 ignore start */\n this.uname =\n exForFields?.uname ??\n gexForFields?.uname ??\n decString(buf, off + 265, 32)\n this.gname =\n exForFields?.gname ??\n gexForFields?.gname ??\n decString(buf, off + 297, 32)\n this.devmaj =\n exForFields?.devmaj ??\n gexForFields?.devmaj ??\n decNumber(buf, off + 329, 8) ??\n 0\n this.devmin =\n exForFields?.devmin ??\n gexForFields?.devmin ??\n decNumber(buf, off + 337, 8) ??\n 0\n /* c8 ignore stop */\n if (buf[off + 475] !== 0) {\n // definitely a prefix, definitely >130 chars.\n const prefix = decString(buf, off + 345, 155)\n this.path = prefix + '/' + this.path\n } else {\n const prefix = decString(buf, off + 345, 130)\n if (prefix) {\n this.path = prefix + '/' + this.path\n }\n /* c8 ignore start */\n this.atime = ex?.atime ?? gex?.atime ?? decDate(buf, off + 476, 12)\n this.ctime = ex?.ctime ?? gex?.ctime ?? decDate(buf, off + 488, 12)\n /* c8 ignore stop */\n }\n }\n\n let sum = 8 * 0x20\n for (let i = off; i < off + 148; i++) {\n sum += buf[i] as number\n }\n\n for (let i = off + 156; i < off + 512; i++) {\n sum += buf[i] as number\n }\n\n this.cksumValid = sum === this.cksum\n if (this.cksum === undefined && sum === 8 * 0x20) {\n this.nullBlock = true\n }\n }\n\n #slurp(ex: HeaderData, gex: boolean = false) {\n Object.assign(\n this,\n Object.fromEntries(\n Object.entries(ex).filter(([k, v]) => {\n // we slurp in everything except for the path attribute in\n // a global extended header, because that's weird. Also, any\n // null/undefined values are ignored.\n return !(\n v === null ||\n v === undefined ||\n (k === 'path' && gex) ||\n (k === 'linkpath' && gex) ||\n k === 'global'\n )\n }),\n ),\n )\n }\n\n encode(buf?: Buffer, off: number = 0) {\n if (!buf) {\n buf = this.block = Buffer.alloc(512)\n }\n\n if (this.#type === 'Unsupported') {\n this.#type = '0'\n }\n\n if (!(buf.length >= off + 512)) {\n throw new Error('need 512 bytes for header')\n }\n\n const prefixSize = this.ctime || this.atime ? 130 : 155\n const split = splitPrefix(this.path || '', prefixSize)\n const path = split[0]\n const prefix = split[1]\n this.needPax = !!split[2]\n\n this.needPax = encString(buf, off, 100, path) || this.needPax\n this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax\n this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax\n this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax\n this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax\n this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax\n buf[off + 156] = Number(this.#type.codePointAt(0))\n this.needPax =\n encString(buf, off + 157, 100, this.linkpath) || this.needPax\n buf.write('ustar\\u000000', off + 257, 8)\n this.needPax =\n encString(buf, off + 265, 32, this.uname) || this.needPax\n this.needPax =\n encString(buf, off + 297, 32, this.gname) || this.needPax\n this.needPax =\n encNumber(buf, off + 329, 8, this.devmaj) || this.needPax\n this.needPax =\n encNumber(buf, off + 337, 8, this.devmin) || this.needPax\n this.needPax =\n encString(buf, off + 345, prefixSize, prefix) || this.needPax\n if (buf[off + 475] !== 0) {\n this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax\n } else {\n this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax\n this.needPax =\n encDate(buf, off + 476, 12, this.atime) || this.needPax\n this.needPax =\n encDate(buf, off + 488, 12, this.ctime) || this.needPax\n }\n\n let sum = 8 * 0x20\n for (let i = off; i < off + 148; i++) {\n sum += buf[i] as number\n }\n\n for (let i = off + 156; i < off + 512; i++) {\n sum += buf[i] as number\n }\n\n this.cksum = sum\n encNumber(buf, off + 148, 8, this.cksum)\n this.cksumValid = true\n\n return this.needPax\n }\n\n get type(): EntryTypeName {\n return (\n this.#type === 'Unsupported' ?\n this.#type\n : types.name.get(this.#type)) as EntryTypeName\n }\n\n get typeKey(): EntryTypeCode | 'Unsupported' {\n return this.#type\n }\n\n set type(type: EntryTypeCode | EntryTypeName | 'Unsupported') {\n const c = String(types.code.get(type as EntryTypeName))\n if (types.isCode(c) || c === 'Unsupported') {\n this.#type = c\n } else if (types.isCode(type)) {\n this.#type = type\n } else {\n throw new TypeError('invalid entry type: ' + type)\n }\n }\n}\n\nconst splitPrefix = (\n p: string,\n prefixSize: number,\n): [string, string, boolean] => {\n const pathSize = 100\n let pp = p\n let prefix = ''\n let ret: undefined | [string, string, boolean] = undefined\n const root = pathModule.parse(p).root || '.'\n\n if (Buffer.byteLength(pp) < pathSize) {\n ret = [pp, prefix, false]\n } else {\n // first set prefix to the dir, and path to the base\n prefix = pathModule.dirname(pp)\n pp = pathModule.basename(pp)\n\n do {\n if (\n Buffer.byteLength(pp) <= pathSize &&\n Buffer.byteLength(prefix) <= prefixSize\n ) {\n // both fit!\n ret = [pp, prefix, false]\n } else if (\n Buffer.byteLength(pp) > pathSize &&\n Buffer.byteLength(prefix) <= prefixSize\n ) {\n // prefix fits in prefix, but path doesn't fit in path\n ret = [pp.slice(0, pathSize - 1), prefix, true]\n } else {\n // make path take a bit from prefix\n pp = pathModule.join(pathModule.basename(prefix), pp)\n prefix = pathModule.dirname(prefix)\n }\n } while (prefix !== root && ret === undefined)\n\n // at this point, found no resolution, just truncate\n if (!ret) {\n ret = [p.slice(0, pathSize - 1), '', true]\n }\n }\n return ret\n}\n\nconst decString = (buf: Buffer, off: number, size: number) =>\n buf\n .subarray(off, off + size)\n .toString('utf8')\n .replace(/\\0.*/, '')\n\nconst decDate = (buf: Buffer, off: number, size: number) =>\n numToDate(decNumber(buf, off, size))\n\nconst numToDate = (num?: number) =>\n num === undefined ? undefined : new Date(num * 1000)\n\nconst decNumber = (buf: Buffer, off: number, size: number) =>\n Number(buf[off]) & 0x80 ?\n large.parse(buf.subarray(off, off + size))\n : decSmallNumber(buf, off, size)\n\nconst nanUndef = (value: number) => (isNaN(value) ? undefined : value)\n\nconst decSmallNumber = (buf: Buffer, off: number, size: number) =>\n nanUndef(\n parseInt(\n buf\n .subarray(off, off + size)\n .toString('utf8')\n .replace(/\\0.*$/, '')\n .trim(),\n 8,\n ),\n )\n\n// the maximum encodable as a null-terminated octal, by field size\nconst MAXNUM = {\n 12: 0o77777777777,\n 8: 0o7777777,\n}\n\nconst encNumber = (\n buf: Buffer,\n off: number,\n size: 12 | 8,\n num?: number,\n) =>\n num === undefined ? false\n : num > MAXNUM[size] || num < 0 ?\n (large.encode(num, buf.subarray(off, off + size)), true)\n : (encSmallNumber(buf, off, size, num), false)\n\nconst encSmallNumber = (\n buf: Buffer,\n off: number,\n size: number,\n num: number,\n) => buf.write(octalString(num, size), off, size, 'ascii')\n\nconst octalString = (num: number, size: number) =>\n padOctal(Math.floor(num).toString(8), size)\n\nconst padOctal = (str: string, size: number) =>\n (str.length === size - 1 ?\n str\n : new Array(size - str.length - 1).join('0') + str + ' ') + '\\0'\n\nconst encDate = (buf: Buffer, off: number, size: 8 | 12, date?: Date) =>\n date === undefined ? false : (\n encNumber(buf, off, size, date.getTime() / 1000)\n )\n\n// enough to fill the longest string we've got\nconst NULLS = new Array(156).join('\\0')\n// pad with nulls, return true if it's longer or non-ascii\nconst encString = (\n buf: Buffer,\n off: number,\n size: number,\n str?: string,\n) =>\n str === undefined ? false : (\n (buf.write(str + NULLS, off, size, 'utf8'),\n str.length !== Buffer.byteLength(str) || str.length > size)\n )\n", "// Tar can encode large and negative numbers using a leading byte of\n// 0xff for negative, and 0x80 for positive.\n\nexport const encode = (num: number, buf: Buffer) => {\n if (!Number.isSafeInteger(num)) {\n // The number is so large that javascript cannot represent it with integer\n // precision.\n throw Error(\n 'cannot encode number outside of javascript safe integer range',\n )\n } else if (num < 0) {\n encodeNegative(num, buf)\n } else {\n encodePositive(num, buf)\n }\n return buf\n}\n\nconst encodePositive = (num: number, buf: Buffer) => {\n buf[0] = 0x80\n\n for (var i = buf.length; i > 1; i--) {\n buf[i - 1] = num & 0xff\n num = Math.floor(num / 0x100)\n }\n}\n\nconst encodeNegative = (num: number, buf: Buffer) => {\n buf[0] = 0xff\n var flipped = false\n num = num * -1\n for (var i = buf.length; i > 1; i--) {\n var byte = num & 0xff\n num = Math.floor(num / 0x100)\n if (flipped) {\n buf[i - 1] = onesComp(byte)\n } else if (byte === 0) {\n buf[i - 1] = 0\n } else {\n flipped = true\n buf[i - 1] = twosComp(byte)\n }\n }\n}\n\nexport const parse = (buf: Buffer) => {\n const pre = buf[0]\n const value =\n pre === 0x80 ? pos(buf.subarray(1, buf.length))\n : pre === 0xff ? twos(buf)\n : null\n if (value === null) {\n throw Error('invalid base256 encoding')\n }\n\n if (!Number.isSafeInteger(value)) {\n // The number is so large that javascript cannot represent it with integer\n // precision.\n throw Error('parsed number outside of javascript safe integer range')\n }\n\n return value\n}\n\nconst twos = (buf: Buffer) => {\n var len = buf.length\n var sum = 0\n var flipped = false\n for (var i = len - 1; i > -1; i--) {\n var byte = Number(buf[i])\n var f\n if (flipped) {\n f = onesComp(byte)\n } else if (byte === 0) {\n f = byte\n } else {\n flipped = true\n f = twosComp(byte)\n }\n if (f !== 0) {\n sum -= f * Math.pow(256, len - i - 1)\n }\n }\n return sum\n}\n\nconst pos = (buf: Buffer) => {\n var len = buf.length\n var sum = 0\n for (var i = len - 1; i > -1; i--) {\n var byte = Number(buf[i])\n if (byte !== 0) {\n sum += byte * Math.pow(256, len - i - 1)\n }\n }\n return sum\n}\n\nconst onesComp = (byte: number) => (0xff ^ byte) & 0xff\n\nconst twosComp = (byte: number) => ((0xff ^ byte) + 1) & 0xff\n", "export const isCode = (c: string): c is EntryTypeCode =>\n name.has(c as EntryTypeCode)\n\nexport const isName = (c: string): c is EntryTypeName =>\n code.has(c as EntryTypeName)\n\nexport type EntryTypeCode =\n | '0'\n | ''\n | '1'\n | '2'\n | '3'\n | '4'\n | '5'\n | '6'\n | '7'\n | 'g'\n | 'x'\n | 'A'\n | 'D'\n | 'I'\n | 'K'\n | 'L'\n | 'M'\n | 'N'\n | 'S'\n | 'V'\n | 'X'\n\nexport type EntryTypeName =\n | 'File'\n | 'OldFile'\n | 'Link'\n | 'SymbolicLink'\n | 'CharacterDevice'\n | 'BlockDevice'\n | 'Directory'\n | 'FIFO'\n | 'ContiguousFile'\n | 'GlobalExtendedHeader'\n | 'ExtendedHeader'\n | 'SolarisACL'\n | 'GNUDumpDir'\n | 'Inode'\n | 'NextFileHasLongLinkpath'\n | 'NextFileHasLongPath'\n | 'ContinuationFile'\n | 'OldGnuLongPath'\n | 'SparseFile'\n | 'TapeVolumeHeader'\n | 'OldExtendedHeader'\n | 'Unsupported'\n\n/**\n * types that are a normal file system entry, not metadata.\n *\n * These can be the subject of extended/globalExtended headers, long path\n * names, long linkpath names, etc.\n *\n * Any other types are meta, and cannot be targetted by extended PAX headers.\n */\nexport const normalFsTypes = new Set<EntryTypeCode>([\n '0',\n '',\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n 'D',\n])\n\n// map types from key to human-friendly name\nexport const name = new Map<EntryTypeCode, EntryTypeName>([\n ['0', 'File'],\n // same as File\n ['', 'OldFile'],\n ['1', 'Link'],\n ['2', 'SymbolicLink'],\n // Devices and FIFOs aren't fully supported\n // they are parsed, but skipped when unpacking\n ['3', 'CharacterDevice'],\n ['4', 'BlockDevice'],\n ['5', 'Directory'],\n ['6', 'FIFO'],\n // same as File\n ['7', 'ContiguousFile'],\n // pax headers\n ['g', 'GlobalExtendedHeader'],\n ['x', 'ExtendedHeader'],\n // vendor-specific stuff\n // skip\n ['A', 'SolarisACL'],\n // like 5, but with data, which should be skipped\n ['D', 'GNUDumpDir'],\n // metadata only, skip\n ['I', 'Inode'],\n // data = link path of next file\n ['K', 'NextFileHasLongLinkpath'],\n // data = path of next file\n ['L', 'NextFileHasLongPath'],\n // skip\n ['M', 'ContinuationFile'],\n // like L\n ['N', 'OldGnuLongPath'],\n // skip\n ['S', 'SparseFile'],\n // skip\n ['V', 'TapeVolumeHeader'],\n // like x\n ['X', 'OldExtendedHeader'],\n])\n\n// map the other direction\nexport const code = new Map<EntryTypeName, EntryTypeCode>(\n Array.from(name).map(kv => [kv[1], kv[0]]),\n)\n", "import { basename } from 'node:path'\nimport type { HeaderData } from './header.js'\nimport { Header } from './header.js'\n\nexport class Pax implements HeaderData {\n atime?: Date\n mtime?: Date\n ctime?: Date\n\n charset?: string\n comment?: string\n\n gid?: number\n uid?: number\n\n gname?: string\n uname?: string\n linkpath?: string\n dev?: number\n ino?: number\n nlink?: number\n path?: string\n size?: number\n mode?: number\n\n global: boolean\n\n constructor(obj: HeaderData, global: boolean = false) {\n this.atime = obj.atime\n this.charset = obj.charset\n this.comment = obj.comment\n this.ctime = obj.ctime\n this.dev = obj.dev\n this.gid = obj.gid\n this.global = global\n this.gname = obj.gname\n this.ino = obj.ino\n this.linkpath = obj.linkpath\n this.mtime = obj.mtime\n this.nlink = obj.nlink\n this.path = obj.path\n this.size = obj.size\n this.uid = obj.uid\n this.uname = obj.uname\n }\n\n encode() {\n const body = this.encodeBody()\n if (body === '') {\n return Buffer.allocUnsafe(0)\n }\n\n const bodyLen = Buffer.byteLength(body)\n // round up to 512 bytes\n // add 512 for header\n const bufLen = 512 * Math.ceil(1 + bodyLen / 512)\n const buf = Buffer.allocUnsafe(bufLen)\n\n // 0-fill the header section, it might not hit every field\n for (let i = 0; i < 512; i++) {\n buf[i] = 0\n }\n\n new Header({\n // XXX split the path\n // then the path should be PaxHeader + basename, but less than 99,\n // prepend with the dirname\n /* c8 ignore start */\n path: ('PaxHeader/' + basename(this.path ?? '')).slice(0, 99),\n /* c8 ignore stop */\n mode: this.mode || 0o644,\n uid: this.uid,\n gid: this.gid,\n size: bodyLen,\n mtime: this.mtime,\n type: this.global ? 'GlobalExtendedHeader' : 'ExtendedHeader',\n linkpath: '',\n uname: this.uname || '',\n gname: this.gname || '',\n devmaj: 0,\n devmin: 0,\n atime: this.atime,\n ctime: this.ctime,\n }).encode(buf)\n\n buf.write(body, 512, bodyLen, 'utf8')\n\n // null pad after the body\n for (let i = bodyLen + 512; i < buf.length; i++) {\n buf[i] = 0\n }\n\n return buf\n }\n\n encodeBody() {\n return (\n this.encodeField('path') +\n this.encodeField('ctime') +\n this.encodeField('atime') +\n this.encodeField('dev') +\n this.encodeField('ino') +\n this.encodeField('nlink') +\n this.encodeField('charset') +\n this.encodeField('comment') +\n this.encodeField('gid') +\n this.encodeField('gname') +\n this.encodeField('linkpath') +\n this.encodeField('mtime') +\n this.encodeField('size') +\n this.encodeField('uid') +\n this.encodeField('uname')\n )\n }\n\n encodeField(field: keyof Pax): string {\n if (this[field] === undefined) {\n return ''\n }\n const r = this[field]\n const v = r instanceof Date ? r.getTime() / 1000 : r\n const s =\n ' ' +\n (field === 'dev' || field === 'ino' || field === 'nlink' ?\n 'SCHILY.'\n : '') +\n field +\n '=' +\n v +\n '\\n'\n const byteLen = Buffer.byteLength(s)\n // the digits includes the length of the digits in ascii base-10\n // so if it's 9 characters, then adding 1 for the 9 makes it 10\n // which makes it 11 chars.\n let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1\n if (byteLen + digits >= Math.pow(10, digits)) {\n digits += 1\n }\n const len = digits + byteLen\n return len + s\n }\n\n static parse(str: string, ex?: HeaderData, g: boolean = false) {\n return new Pax(merge(parseKV(str), ex), g)\n }\n}\n\nconst merge = (a: HeaderData, b?: HeaderData) =>\n b ? Object.assign({}, b, a) : a\n\nconst parseKV = (str: string) =>\n str\n .replace(/\\n$/, '')\n .split('\\n')\n .reduce(parseKVLine, Object.create(null))\n\nconst parseKVLine = (set: Record<string, unknown>, line: string) => {\n const n = parseInt(line, 10)\n\n // XXX Values with \\n in them will fail this.\n // Refactor to not be a naive line-by-line parse.\n if (n !== Buffer.byteLength(line) + 1) {\n return set\n }\n\n line = line.slice((n + ' ').length)\n const kv = line.split('=')\n const r = kv.shift()\n\n if (!r) {\n return set\n }\n\n const k = r.replace(/^SCHILY\\.(dev|ino|nlink)/, '$1')\n\n const v = kv.join('=')\n set[k] =\n /^([A-Z]+\\.)?([mac]|birth|creation)time$/.test(k) ?\n new Date(Number(v) * 1000)\n : /^[0-9]+$/.test(v) ? +v\n : v\n return set\n}\n", "// on windows, either \\ or / are valid directory separators.\n// on unix, \\ is a valid character in filenames.\n// so, on windows, and only on windows, we replace all \\ chars with /,\n// so that we can use / as our one and only directory separator char.\n\nconst platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform\n\nexport const normalizeWindowsPath =\n platform !== 'win32' ?\n (p: string) => p\n : (p: string) => p && p.replaceAll(/\\\\/g, '/')\n", "import { Minipass } from 'minipass'\nimport type { Header } from './header.js'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport type { Pax } from './pax.js'\nimport type { EntryTypeName } from './types.js'\n\nexport class ReadEntry extends Minipass<Buffer, Buffer> {\n extended?: Pax\n globalExtended?: Pax\n header: Header\n startBlockSize: number\n blockRemain: number\n remain: number\n type: EntryTypeName\n meta: boolean = false\n ignore: boolean = false\n path: string\n mode?: number\n uid?: number\n gid?: number\n uname?: string\n gname?: string\n size: number = 0\n mtime?: Date\n atime?: Date\n ctime?: Date\n linkpath?: string\n\n dev?: number\n ino?: number\n nlink?: number\n invalid: boolean = false\n absolute?: string\n unsupported: boolean = false\n\n constructor(header: Header, ex?: Pax, gex?: Pax) {\n super({})\n // read entries always start life paused. this is to avoid the\n // situation where Minipass's auto-ending empty streams results\n // in an entry ending before we're ready for it.\n this.pause()\n this.extended = ex\n this.globalExtended = gex\n this.header = header\n /* c8 ignore start */\n this.remain = header.size ?? 0\n /* c8 ignore stop */\n this.startBlockSize = 512 * Math.ceil(this.remain / 512)\n this.blockRemain = this.startBlockSize\n this.type = header.type\n switch (this.type) {\n case 'File':\n case 'OldFile':\n case 'Link':\n case 'SymbolicLink':\n case 'CharacterDevice':\n case 'BlockDevice':\n case 'Directory':\n case 'FIFO':\n case 'ContiguousFile':\n case 'GNUDumpDir':\n break\n\n case 'NextFileHasLongLinkpath':\n case 'NextFileHasLongPath':\n case 'OldGnuLongPath':\n case 'GlobalExtendedHeader':\n case 'ExtendedHeader':\n case 'OldExtendedHeader':\n this.meta = true\n break\n\n // NOTE: gnutar and bsdtar treat unrecognized types as 'File'\n // it may be worth doing the same, but with a warning.\n default:\n this.ignore = true\n }\n\n /* c8 ignore start */\n if (!header.path) {\n throw new Error('no path provided for tar.ReadEntry')\n }\n /* c8 ignore stop */\n\n this.path = normalizeWindowsPath(header.path) as string\n this.mode = header.mode\n if (this.mode) {\n this.mode = this.mode & 0o7777\n }\n this.uid = header.uid\n this.gid = header.gid\n this.uname = header.uname\n this.gname = header.gname\n this.size = this.remain\n this.mtime = header.mtime\n this.atime = header.atime\n this.ctime = header.ctime\n /* c8 ignore start */\n this.linkpath =\n header.linkpath ? normalizeWindowsPath(header.linkpath) : undefined\n /* c8 ignore stop */\n this.uname = header.uname\n this.gname = header.gname\n\n if (ex) {\n this.#slurp(ex)\n }\n if (gex) {\n this.#slurp(gex, true)\n }\n }\n\n write(data: Buffer) {\n const writeLen = data.length\n if (writeLen > this.blockRemain) {\n throw new Error('writing more to entry than is appropriate')\n }\n\n const r = this.remain\n const br = this.blockRemain\n this.remain = Math.max(0, r - writeLen)\n this.blockRemain = Math.max(0, br - writeLen)\n if (this.ignore) {\n return true\n }\n\n if (r >= writeLen) {\n return super.write(data)\n }\n\n // r < writeLen\n return super.write(data.subarray(0, r))\n }\n\n #slurp(ex: Pax, gex: boolean = false) {\n if (ex.path) ex.path = normalizeWindowsPath(ex.path)\n if (ex.linkpath) ex.linkpath = normalizeWindowsPath(ex.linkpath)\n Object.assign(\n this,\n Object.fromEntries(\n Object.entries(ex).filter(([k, v]) => {\n // we slurp in everything except for the path attribute in\n // a global extended header, because that's weird. Also, any\n // null/undefined values are ignored.\n return !(v === null || v === undefined || (k === 'path' && gex))\n }),\n ),\n )\n }\n}\n", "import { type Minipass } from 'minipass'\n\n/** has a warn method */\nexport type Warner = {\n warn(code: string, message: string | Error, data: unknown): void\n file?: string\n cwd?: string\n strict?: boolean\n\n emit(event: 'warn', code: string, message: string, data?: WarnData): void\n emit(event: 'error', error: TarError): void\n}\n\nexport type WarnEvent<T = Buffer> = Minipass.Events<T> & {\n warn: [code: string, message: string, data: WarnData]\n}\n\nexport type WarnData = {\n file?: string\n cwd?: string\n code?: string\n tarCode?: string\n recoverable?: boolean\n [k: string]: unknown\n}\n\nexport type TarError = Error & WarnData\n\nexport const warnMethod = (\n self: Warner,\n code: string,\n message: string | Error,\n data: WarnData = {},\n) => {\n if (self.file) {\n data.file = self.file\n }\n if (self.cwd) {\n data.cwd = self.cwd\n }\n data.code =\n (message instanceof Error &&\n (message as NodeJS.ErrnoException).code) ||\n code\n data.tarCode = code\n if (!self.strict && data.recoverable !== false) {\n if (message instanceof Error) {\n data = Object.assign(message, data)\n message = message.message\n }\n self.emit('warn', code, message, data)\n } else if (message instanceof Error) {\n self.emit('error', Object.assign(message, data))\n } else {\n self.emit(\n 'error',\n Object.assign(new Error(`${code}: ${message}`), data),\n )\n }\n}\n", "// warning: extremely hot code path.\n// This has been meticulously optimized for use\n// within npm install on large package trees.\n// Do not edit without careful benchmarking.\nexport const stripTrailingSlashes = (str: string) => {\n let i = str.length - 1\n let slashesStart = -1\n while (i > -1 && str.charAt(i) === '/') {\n slashesStart = i\n i--\n }\n return slashesStart === -1 ? str : str.slice(0, slashesStart)\n}\n", "// A readable tar stream creator\n// Technically, this is a transform stream that you write paths into,\n// and tar format comes out of.\n// The `add()` method is like `write()` but returns this,\n// and end() return `this` as well, so you can\n// do `new Pack(opt).add('files').add('dir').end().pipe(output)\n// You could also do something like:\n// streamOfPaths().pipe(new Pack()).pipe(new fs.WriteStream('out.tar'))\n\nimport fs, { type Stats } from 'fs'\nimport {\n WriteEntry,\n WriteEntrySync,\n WriteEntryTar,\n} from './write-entry.js'\n\nexport class PackJob {\n path: string\n absolute: string\n entry?: WriteEntry | WriteEntryTar\n stat?: Stats\n readdir?: string[]\n pending: boolean = false\n pendingLink: boolean = false\n ignore: boolean = false\n piped: boolean = false\n constructor(path: string, absolute: string) {\n this.path = path || './'\n this.absolute = absolute\n }\n}\n\nimport { Minipass } from 'minipass'\nimport * as zlib from 'minizlib'\nimport { Yallist } from 'yallist'\nimport type { ReadEntry } from './read-entry.js'\nimport type { WarnEvent } from './warn-method.js'\nimport { warnMethod, type WarnData, type Warner } from './warn-method.js'\n\nconst EOF = Buffer.alloc(1024)\nconst ONSTAT = Symbol('onStat')\nconst ENDED = Symbol('ended')\nconst QUEUE = Symbol('queue')\nconst PENDINGLINKS = Symbol('pendingLinks')\nconst CURRENT = Symbol('current')\nconst PROCESS = Symbol('process')\nconst PROCESSING = Symbol('processing')\nconst PROCESSJOB = Symbol('processJob')\nconst JOBS = Symbol('jobs')\nconst JOBDONE = Symbol('jobDone')\nconst ADDFSENTRY = Symbol('addFSEntry')\nconst ADDTARENTRY = Symbol('addTarEntry')\nconst STAT = Symbol('stat')\nconst READDIR = Symbol('readdir')\nconst ONREADDIR = Symbol('onreaddir')\nconst PIPE = Symbol('pipe')\nconst ENTRY = Symbol('entry')\nconst ENTRYOPT = Symbol('entryOpt')\nconst WRITEENTRYCLASS = Symbol('writeEntryClass')\nconst WRITE = Symbol('write')\nconst ONDRAIN = Symbol('ondrain')\n\nimport path from 'path'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport type { LinkCacheKey, TarOptions } from './options.js'\n\nexport class Pack\n extends Minipass<Buffer, ReadEntry | string, WarnEvent<Buffer>>\n implements Warner\n{\n sync: boolean = false\n opt: TarOptions\n cwd: string\n maxReadSize?: number\n preservePaths: boolean\n strict: boolean\n noPax: boolean\n prefix: string\n linkCache: Exclude<TarOptions['linkCache'], undefined>\n statCache: Exclude<TarOptions['statCache'], undefined>\n file: string\n portable: boolean\n zip?: zlib.BrotliCompress | zlib.Gzip | zlib.ZstdCompress\n readdirCache: Exclude<TarOptions['readdirCache'], undefined>\n noDirRecurse: boolean\n follow: boolean\n noMtime: boolean\n mtime?: Date\n filter: Exclude<TarOptions['filter'], undefined>\n jobs: number;\n\n [WRITEENTRYCLASS]: typeof WriteEntry | typeof WriteEntrySync\n onWriteEntry?: (entry: WriteEntry) => void;\n // Note: we actually DO need a linked list here, because we\n // shift() to update the head of the list where we start, but still\n // while that happens, need to know what the next item in the queue\n // will be. Since we do multiple jobs in parallel, it's not as simple\n // as just an Array.shift(), since that would lose the information about\n // the next job in the list. We could add a .next field on the PackJob\n // class, but then we'd have to be tracking the tail of the queue the\n // whole time, and Yallist just does that for us anyway.\n [QUEUE]: Yallist<PackJob>;\n [PENDINGLINKS] = new Map<LinkCacheKey, PackJob[]>();\n [JOBS]: number = 0;\n [PROCESSING]: boolean = false;\n [ENDED]: boolean = false\n\n constructor(opt: TarOptions = {}) {\n super()\n this.opt = opt\n this.file = opt.file || ''\n this.cwd = opt.cwd || process.cwd()\n this.maxReadSize = opt.maxReadSize\n this.preservePaths = !!opt.preservePaths\n this.strict = !!opt.strict\n this.noPax = !!opt.noPax\n this.prefix = normalizeWindowsPath(opt.prefix || '')\n this.linkCache = opt.linkCache || new Map()\n this.statCache = opt.statCache || new Map()\n this.readdirCache = opt.readdirCache || new Map()\n this.onWriteEntry = opt.onWriteEntry\n\n this[WRITEENTRYCLASS] = WriteEntry\n if (typeof opt.onwarn === 'function') {\n this.on('warn', opt.onwarn)\n }\n\n this.portable = !!opt.portable\n\n if (opt.gzip || opt.brotli || opt.zstd) {\n if (\n (opt.gzip ? 1 : 0) + (opt.brotli ? 1 : 0) + (opt.zstd ? 1 : 0) >\n 1\n ) {\n throw new TypeError('gzip, brotli, zstd are mutually exclusive')\n }\n if (opt.gzip) {\n if (typeof opt.gzip !== 'object') {\n opt.gzip = {}\n }\n if (this.portable) {\n opt.gzip.portable = true\n }\n this.zip = new zlib.Gzip(opt.gzip)\n }\n if (opt.brotli) {\n if (typeof opt.brotli !== 'object') {\n opt.brotli = {}\n }\n this.zip = new zlib.BrotliCompress(opt.brotli)\n }\n if (opt.zstd) {\n if (typeof opt.zstd !== 'object') {\n opt.zstd = {}\n }\n this.zip = new zlib.ZstdCompress(opt.zstd)\n }\n /* c8 ignore next */\n if (!this.zip) throw new Error('impossible')\n const zip = this.zip\n zip.on('data', chunk => super.write(chunk as unknown as string))\n zip.on('end', () => super.end())\n zip.on('drain', () => this[ONDRAIN]())\n this.on('resume', () => zip.resume())\n } else {\n this.on('drain', this[ONDRAIN])\n }\n\n this.noDirRecurse = !!opt.noDirRecurse\n this.follow = !!opt.follow\n this.noMtime = !!opt.noMtime\n if (opt.mtime) this.mtime = opt.mtime\n\n this.filter =\n typeof opt.filter === 'function' ? opt.filter : () => true\n\n this[QUEUE] = new Yallist<PackJob>()\n this[JOBS] = 0\n this.jobs = Number(opt.jobs) || 4\n this[PROCESSING] = false\n this[ENDED] = false\n }\n\n [WRITE](chunk: Buffer) {\n return super.write(chunk as unknown as string)\n }\n\n add(path: string | ReadEntry) {\n this.write(path)\n return this\n }\n\n end(cb?: () => void): this\n end(path: string | ReadEntry, cb?: () => void): this\n end(\n path: string | ReadEntry,\n encoding?: Minipass.Encoding,\n cb?: () => void,\n ): this\n end(\n path?: string | ReadEntry | (() => void),\n encoding?: Minipass.Encoding | (() => void),\n cb?: () => void,\n ) {\n /* c8 ignore start */\n if (typeof path === 'function') {\n cb = path\n path = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n /* c8 ignore stop */\n if (path) {\n this.add(path)\n }\n this[ENDED] = true\n this[PROCESS]()\n /* c8 ignore next */\n if (cb) cb()\n return this\n }\n\n write(path: string | ReadEntry) {\n if (this[ENDED]) {\n throw new Error('write after end')\n }\n\n if (typeof path === 'string') {\n this[ADDFSENTRY](path)\n } else {\n this[ADDTARENTRY](path)\n }\n return this.flowing\n }\n\n [ADDTARENTRY](p: ReadEntry) {\n const absolute = normalizeWindowsPath(path.resolve(this.cwd, p.path))\n // in this case, we don't have to wait for the stat\n if (!this.filter(p.path, p)) {\n p.resume()\n } else {\n const job = new PackJob(p.path, absolute)\n job.entry = new WriteEntryTar(p, this[ENTRYOPT](job))\n job.entry.on('end', () => this[JOBDONE](job))\n this[JOBS] += 1\n this[QUEUE].push(job)\n }\n\n this[PROCESS]()\n }\n\n [ADDFSENTRY](p: string) {\n const absolute = normalizeWindowsPath(path.resolve(this.cwd, p))\n this[QUEUE].push(new PackJob(p, absolute))\n this[PROCESS]()\n }\n\n [STAT](job: PackJob) {\n job.pending = true\n this[JOBS] += 1\n const stat = this.follow ? 'stat' : 'lstat'\n fs[stat](job.absolute, (er, stat) => {\n job.pending = false\n this[JOBS] -= 1\n if (er) {\n this.emit('error', er)\n } else {\n this[ONSTAT](job, stat)\n }\n })\n }\n\n [ONSTAT](job: PackJob, stat: Stats) {\n this.statCache.set(job.absolute, stat)\n job.stat = stat\n\n // now we have the stat, we can filter it.\n if (!this.filter(job.path, stat)) {\n job.ignore = true\n } else if (\n stat.isFile() &&\n stat.nlink > 1 &&\n !this.linkCache.get(`${stat.dev}:${stat.ino}`) &&\n !this.sync\n ) {\n // if it's not filtered, and it's a new File entry, and next anyway\n // process right away in case any pending Link entries are about\n // to try to link to it.\n if (job === this[CURRENT]) {\n this[PROCESSJOB](job)\n } else {\n // if it's NOT the current entry, it needs to be deferred,\n // so that the link target can be built first.\n const key: LinkCacheKey = `${stat.dev}:${stat.ino}`\n const pending = this[PENDINGLINKS].get(key)\n if (pending) pending.push(job)\n else this[PENDINGLINKS].set(key, [job])\n job.pendingLink = true\n job.pending = true\n }\n }\n\n this[PROCESS]()\n }\n\n [READDIR](job: PackJob) {\n job.pending = true\n this[JOBS] += 1\n fs.readdir(job.absolute, (er, entries) => {\n job.pending = false\n this[JOBS] -= 1\n if (er) {\n return this.emit('error', er)\n }\n this[ONREADDIR](job, entries)\n })\n }\n\n [ONREADDIR](job: PackJob, entries: string[]) {\n this.readdirCache.set(job.absolute, entries)\n job.readdir = entries\n this[PROCESS]()\n }\n\n [PROCESS]() {\n if (this[PROCESSING]) {\n return\n }\n\n this[PROCESSING] = true\n for (\n let w = this[QUEUE].head;\n !!w && this[JOBS] < this.jobs;\n w = w.next\n ) {\n this[PROCESSJOB](w.value)\n if (w.value.ignore) {\n const p = w.next\n this[QUEUE].removeNode(w)\n w.next = p\n }\n }\n\n this[PROCESSING] = false\n\n if (this[ENDED] && this[QUEUE].length === 0 && this[JOBS] === 0) {\n if (this.zip) {\n this.zip.end(EOF)\n } else {\n super.write(EOF as unknown as string)\n super.end()\n }\n }\n }\n\n get [CURRENT]() {\n return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value\n }\n\n [JOBDONE](job: PackJob) {\n this[QUEUE].shift()\n this[JOBS] -= 1\n const { stat } = job\n if (stat && stat.isFile() && stat.nlink > 1) {\n // might be a file with pending links\n const key: LinkCacheKey = `${stat.dev}:${stat.ino}`\n const pending = this[PENDINGLINKS].get(key)\n if (pending) {\n this[PENDINGLINKS].delete(key)\n for (const job of pending) {\n job.pending = false\n this[PROCESSJOB](job)\n }\n }\n }\n this[PROCESS]()\n }\n\n [PROCESSJOB](job: PackJob) {\n if (job.pending && job.pendingLink && job === this[CURRENT]) {\n // At least one of the links to this file are not being included\n // in the tarball, so we need to just proceed.\n job.pending = false\n job.pendingLink = false\n }\n if (job.pending) {\n return\n }\n\n if (job.entry) {\n if (job === this[CURRENT] && !job.piped) {\n this[PIPE](job)\n }\n return\n }\n\n if (!job.stat) {\n const sc = this.statCache.get(job.absolute)\n if (sc) {\n this[ONSTAT](job, sc)\n } else {\n this[STAT](job)\n }\n }\n if (!job.stat) {\n return\n }\n\n // filtered out!\n if (job.ignore) {\n return\n }\n\n if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) {\n const rc = this.readdirCache.get(job.absolute)\n if (rc) {\n this[ONREADDIR](job, rc)\n } else {\n this[READDIR](job)\n }\n if (!job.readdir) {\n return\n }\n }\n\n // we know it doesn't have an entry, because that got checked above\n job.entry = this[ENTRY](job)\n if (!job.entry) {\n job.ignore = true\n return\n }\n\n if (job === this[CURRENT] && !job.piped) {\n this[PIPE](job)\n }\n }\n\n [ENTRYOPT](job: PackJob): TarOptions {\n return {\n onwarn: (code, msg, data) => this.warn(code, msg, data),\n noPax: this.noPax,\n cwd: this.cwd,\n absolute: job.absolute,\n preservePaths: this.preservePaths,\n maxReadSize: this.maxReadSize,\n strict: this.strict,\n portable: this.portable,\n linkCache: this.linkCache,\n statCache: this.statCache,\n noMtime: this.noMtime,\n mtime: this.mtime,\n prefix: this.prefix,\n onWriteEntry: this.onWriteEntry,\n }\n }\n\n [ENTRY](job: PackJob) {\n this[JOBS] += 1\n try {\n const e = new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job))\n return e\n .on('end', () => this[JOBDONE](job))\n .on('error', er => this.emit('error', er))\n } catch (er) {\n this.emit('error', er)\n }\n }\n\n [ONDRAIN]() {\n if (this[CURRENT] && this[CURRENT].entry) {\n this[CURRENT].entry.resume()\n }\n }\n\n // like .pipe() but using super, because our write() is special\n [PIPE](job: PackJob) {\n job.piped = true\n\n if (job.readdir) {\n job.readdir.forEach(entry => {\n const p = job.path\n const base = p === './' ? '' : p.replace(/\\/*$/, '/')\n this[ADDFSENTRY](base + entry)\n })\n }\n\n const source = job.entry\n const zip = this.zip\n /* c8 ignore start */\n if (!source) throw new Error('cannot pipe without source')\n /* c8 ignore stop */\n\n if (zip) {\n source.on('data', chunk => {\n if (!zip.write(chunk)) {\n source.pause()\n }\n })\n } else {\n source.on('data', chunk => {\n if (!super.write(chunk as unknown as string)) {\n source.pause()\n }\n })\n }\n }\n\n pause() {\n if (this.zip) {\n this.zip.pause()\n }\n return super.pause()\n }\n warn(code: string, message: string | Error, data: WarnData = {}): void {\n warnMethod(this, code, message, data)\n }\n}\n\nexport class PackSync extends Pack {\n sync: true = true\n constructor(opt: TarOptions) {\n super(opt)\n this[WRITEENTRYCLASS] = WriteEntrySync\n }\n\n // pause/resume are no-ops in sync streams.\n pause() {}\n resume() {}\n\n [STAT](job: PackJob) {\n const stat = this.follow ? 'statSync' : 'lstatSync'\n this[ONSTAT](job, fs[stat](job.absolute))\n }\n\n [READDIR](job: PackJob) {\n this[ONREADDIR](job, fs.readdirSync(job.absolute))\n }\n\n // gotta get it all in this tick\n [PIPE](job: PackJob) {\n const source = job.entry\n const zip = this.zip\n\n if (job.readdir) {\n job.readdir.forEach(entry => {\n const p = job.path\n const base = p === './' ? '' : p.replace(/\\/*$/, '/')\n this[ADDFSENTRY](base + entry)\n })\n }\n\n /* c8 ignore start */\n if (!source) throw new Error('Cannot pipe without source')\n /* c8 ignore stop */\n\n if (zip) {\n source.on('data', chunk => {\n zip.write(chunk)\n })\n } else {\n source.on('data', chunk => {\n super[WRITE](chunk)\n })\n }\n }\n}\n", "import fs, { type Stats } from 'fs'\nimport { Minipass } from 'minipass'\nimport path from 'path'\nimport { Header } from './header.js'\nimport { modeFix } from './mode-fix.js'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport type {\n LinkCacheKey,\n TarOptions,\n TarOptionsWithAliases,\n} from './options.js'\nimport { dealias } from './options.js'\nimport { Pax } from './pax.js'\nimport type { ReadEntry } from './read-entry.js'\nimport { stripAbsolutePath } from './strip-absolute-path.js'\nimport { stripTrailingSlashes } from './strip-trailing-slashes.js'\nimport type { EntryTypeName } from './types.js'\nimport type { WarnData, Warner, WarnEvent } from './warn-method.js'\nimport { warnMethod } from './warn-method.js'\nimport * as winchars from './winchars.js'\n\nconst prefixPath = (path: string, prefix?: string) => {\n if (!prefix) {\n return normalizeWindowsPath(path)\n }\n path = normalizeWindowsPath(path).replace(/^\\.(\\/|$)/, '')\n return stripTrailingSlashes(prefix) + '/' + path\n}\n\nconst maxReadSize = 16 * 1024 * 1024\n\nconst PROCESS = Symbol('process')\nconst FILE = Symbol('file')\nconst DIRECTORY = Symbol('directory')\nconst SYMLINK = Symbol('symlink')\nconst HARDLINK = Symbol('hardlink')\nconst HEADER = Symbol('header')\nconst READ = Symbol('read')\nconst LSTAT = Symbol('lstat')\nconst ONLSTAT = Symbol('onlstat')\nconst ONREAD = Symbol('onread')\nconst ONREADLINK = Symbol('onreadlink')\nconst OPENFILE = Symbol('openfile')\nconst ONOPENFILE = Symbol('onopenfile')\nconst CLOSE = Symbol('close')\nconst MODE = Symbol('mode')\nconst AWAITDRAIN = Symbol('awaitDrain')\nconst ONDRAIN = Symbol('ondrain')\nconst PREFIX = Symbol('prefix')\n\nexport class WriteEntry\n extends Minipass<Buffer, Minipass.ContiguousData, WarnEvent>\n implements Warner\n{\n path: string\n portable: boolean\n myuid: number = (process.getuid && process.getuid()) || 0\n // until node has builtin pwnam functions, this'll have to do\n myuser: string = process.env.USER || ''\n maxReadSize: number\n linkCache: Exclude<TarOptions['linkCache'], undefined>\n statCache: Exclude<TarOptions['statCache'], undefined>\n preservePaths: boolean\n cwd: string\n strict: boolean\n mtime?: Date\n noPax: boolean\n noMtime: boolean\n prefix?: string\n fd?: number\n\n blockLen: number = 0\n blockRemain: number = 0\n buf?: Buffer\n pos: number = 0\n remain: number = 0\n length: number = 0\n offset: number = 0\n\n win32: boolean\n absolute: string\n\n header?: Header\n type?: EntryTypeName | 'Unsupported'\n linkpath?: string\n stat?: Stats\n onWriteEntry?: (entry: WriteEntry) => unknown\n\n #hadError: boolean = false\n\n constructor(p: string, opt_: TarOptionsWithAliases = {}) {\n const opt = dealias(opt_)\n super()\n this.path = normalizeWindowsPath(p)\n // suppress atime, ctime, uid, gid, uname, gname\n this.portable = !!opt.portable\n this.maxReadSize = opt.maxReadSize || maxReadSize\n this.linkCache = opt.linkCache || new Map()\n this.statCache = opt.statCache || new Map()\n this.preservePaths = !!opt.preservePaths\n this.cwd = normalizeWindowsPath(opt.cwd || process.cwd())\n this.strict = !!opt.strict\n this.noPax = !!opt.noPax\n this.noMtime = !!opt.noMtime\n this.mtime = opt.mtime\n this.prefix = opt.prefix ? normalizeWindowsPath(opt.prefix) : undefined\n this.onWriteEntry = opt.onWriteEntry\n\n if (typeof opt.onwarn === 'function') {\n this.on('warn', opt.onwarn)\n }\n\n let pathWarn: string | boolean = false\n if (!this.preservePaths) {\n const [root, stripped] = stripAbsolutePath(this.path)\n if (root && typeof stripped === 'string') {\n this.path = stripped\n pathWarn = root\n }\n }\n\n this.win32 = !!opt.win32 || process.platform === 'win32'\n if (this.win32) {\n // force the \\ to / normalization, since we might not *actually*\n // be on windows, but want \\ to be considered a path separator.\n this.path = winchars.decode(this.path.replaceAll(/\\\\/g, '/'))\n p = p.replaceAll(/\\\\/g, '/')\n }\n\n this.absolute = normalizeWindowsPath(\n opt.absolute || path.resolve(this.cwd, p),\n )\n\n if (this.path === '') {\n this.path = './'\n }\n\n if (pathWarn) {\n this.warn(\n 'TAR_ENTRY_INFO',\n `stripping ${pathWarn} from absolute path`,\n {\n entry: this,\n path: pathWarn + this.path,\n },\n )\n }\n\n const cs = this.statCache.get(this.absolute)\n if (cs) {\n this[ONLSTAT](cs)\n } else {\n this[LSTAT]()\n }\n }\n\n warn(code: string, message: string | Error, data: WarnData = {}) {\n return warnMethod(this, code, message, data)\n }\n\n emit(ev: keyof WarnEvent, ...data: unknown[]) {\n if (ev === 'error') {\n this.#hadError = true\n }\n return super.emit(ev, ...data)\n }\n\n [LSTAT]() {\n fs.lstat(this.absolute, (er, stat) => {\n if (er) {\n return this.emit('error', er)\n }\n this[ONLSTAT](stat)\n })\n }\n\n [ONLSTAT](stat: Stats) {\n this.statCache.set(this.absolute, stat)\n this.stat = stat\n if (!stat.isFile()) {\n stat.size = 0\n }\n this.type = getType(stat)\n this.emit('stat', stat)\n this[PROCESS]()\n }\n\n [PROCESS]() {\n switch (this.type) {\n case 'File':\n return this[FILE]()\n case 'Directory':\n return this[DIRECTORY]()\n case 'SymbolicLink':\n return this[SYMLINK]()\n // unsupported types are ignored.\n default:\n return this.end()\n }\n }\n\n [MODE](mode: number) {\n return modeFix(mode, this.type === 'Directory', this.portable)\n }\n\n [PREFIX](path: string) {\n return prefixPath(path, this.prefix)\n }\n\n [HEADER]() {\n /* c8 ignore start */\n if (!this.stat) {\n throw new Error('cannot write header before stat')\n }\n /* c8 ignore stop */\n\n if (this.type === 'Directory' && this.portable) {\n this.noMtime = true\n }\n\n this.onWriteEntry?.(this)\n this.header = new Header({\n path: this[PREFIX](this.path),\n // only apply the prefix to hard links.\n linkpath:\n this.type === 'Link' && this.linkpath !== undefined ?\n this[PREFIX](this.linkpath)\n : this.linkpath,\n // only the permissions and setuid/setgid/sticky bitflags\n // not the higher-order bits that specify file type\n mode: this[MODE](this.stat.mode),\n uid: this.portable ? undefined : this.stat.uid,\n gid: this.portable ? undefined : this.stat.gid,\n size: this.stat.size,\n mtime: this.noMtime ? undefined : this.mtime || this.stat.mtime,\n /* c8 ignore next */\n type: this.type === 'Unsupported' ? undefined : this.type,\n uname:\n this.portable ? undefined\n : this.stat.uid === this.myuid ? this.myuser\n : '',\n atime: this.portable ? undefined : this.stat.atime,\n ctime: this.portable ? undefined : this.stat.ctime,\n })\n\n if (this.header.encode() && !this.noPax) {\n super.write(\n new Pax({\n atime: this.portable ? undefined : this.header.atime,\n ctime: this.portable ? undefined : this.header.ctime,\n gid: this.portable ? undefined : this.header.gid,\n mtime:\n this.noMtime ? undefined : this.mtime || this.header.mtime,\n path: this[PREFIX](this.path),\n linkpath:\n this.type === 'Link' && this.linkpath !== undefined ?\n this[PREFIX](this.linkpath)\n : this.linkpath,\n size: this.header.size,\n uid: this.portable ? undefined : this.header.uid,\n uname: this.portable ? undefined : this.header.uname,\n dev: this.portable ? undefined : this.stat.dev,\n ino: this.portable ? undefined : this.stat.ino,\n nlink: this.portable ? undefined : this.stat.nlink,\n }).encode(),\n )\n }\n const block = this.header?.block\n /* c8 ignore start */\n if (!block) {\n throw new Error('failed to encode header')\n }\n /* c8 ignore stop */\n super.write(block)\n }\n\n [DIRECTORY]() {\n /* c8 ignore start */\n if (!this.stat) {\n throw new Error('cannot create directory entry without stat')\n }\n /* c8 ignore stop */\n if (this.path.slice(-1) !== '/') {\n this.path += '/'\n }\n this.stat.size = 0\n this[HEADER]()\n this.end()\n }\n\n [SYMLINK]() {\n fs.readlink(this.absolute, (er, linkpath) => {\n if (er) {\n return this.emit('error', er)\n }\n this[ONREADLINK](linkpath)\n })\n }\n\n [ONREADLINK](linkpath: string) {\n this.linkpath = normalizeWindowsPath(linkpath)\n this[HEADER]()\n this.end()\n }\n\n [HARDLINK](linkpath: string) {\n /* c8 ignore start */\n if (!this.stat) {\n throw new Error('cannot create link entry without stat')\n }\n /* c8 ignore stop */\n this.type = 'Link'\n this.linkpath = normalizeWindowsPath(path.relative(this.cwd, linkpath))\n this.stat.size = 0\n this[HEADER]()\n this.end()\n }\n\n [FILE]() {\n /* c8 ignore start */\n if (!this.stat) {\n throw new Error('cannot create file entry without stat')\n }\n /* c8 ignore stop */\n if (this.stat.nlink > 1) {\n const linkKey = `${this.stat.dev}:${this.stat.ino}` as LinkCacheKey\n const linkpath = this.linkCache.get(linkKey)\n if (linkpath?.indexOf(this.cwd) === 0) {\n return this[HARDLINK](linkpath)\n }\n this.linkCache.set(linkKey, this.absolute)\n }\n\n this[HEADER]()\n if (this.stat.size === 0) {\n return this.end()\n }\n\n this[OPENFILE]()\n }\n\n [OPENFILE]() {\n fs.open(this.absolute, 'r', (er, fd) => {\n if (er) {\n return this.emit('error', er)\n }\n this[ONOPENFILE](fd)\n })\n }\n\n [ONOPENFILE](fd: number) {\n this.fd = fd\n if (this.#hadError) {\n return this[CLOSE]()\n }\n /* c8 ignore start */\n if (!this.stat) {\n throw new Error('should stat before calling onopenfile')\n }\n /* c8 ignore start */\n\n this.blockLen = 512 * Math.ceil(this.stat.size / 512)\n this.blockRemain = this.blockLen\n const bufLen = Math.min(this.blockLen, this.maxReadSize)\n this.buf = Buffer.allocUnsafe(bufLen)\n this.offset = 0\n this.pos = 0\n this.remain = this.stat.size\n this.length = this.buf.length\n this[READ]()\n }\n\n [READ]() {\n const { fd, buf, offset, length, pos } = this\n if (fd === undefined || buf === undefined) {\n throw new Error('cannot read file without first opening')\n }\n fs.read(fd, buf, offset, length, pos, (er, bytesRead) => {\n if (er) {\n // ignoring the error from close(2) is a bad practice, but at\n // this point we already have an error, don't need another one\n return this[CLOSE](() => this.emit('error', er))\n }\n this[ONREAD](bytesRead)\n })\n }\n\n /* c8 ignore start */\n [CLOSE](\n cb: (er?: null | Error | NodeJS.ErrnoException) => unknown = () => {},\n ) {\n /* c8 ignore stop */\n if (this.fd !== undefined) fs.close(this.fd, cb)\n }\n\n [ONREAD](bytesRead: number) {\n if (bytesRead <= 0 && this.remain > 0) {\n const er = Object.assign(new Error('encountered unexpected EOF'), {\n path: this.absolute,\n syscall: 'read',\n code: 'EOF',\n })\n return this[CLOSE](() => this.emit('error', er))\n }\n\n if (bytesRead > this.remain) {\n const er = Object.assign(\n new Error('did not encounter expected EOF'),\n {\n path: this.absolute,\n syscall: 'read',\n code: 'EOF',\n },\n )\n return this[CLOSE](() => this.emit('error', er))\n }\n\n /* c8 ignore start */\n if (!this.buf) {\n throw new Error('should have created buffer prior to reading')\n }\n /* c8 ignore stop */\n\n // null out the rest of the buffer, if we could fit the block padding\n // at the end of this loop, we've incremented bytesRead and this.remain\n // to be incremented up to the blockRemain level, as if we had expected\n // to get a null-padded file, and read it until the end. then we will\n // decrement both remain and blockRemain by bytesRead, and know that we\n // reached the expected EOF, without any null buffer to append.\n if (bytesRead === this.remain) {\n for (\n let i = bytesRead;\n i < this.length && bytesRead < this.blockRemain;\n i++\n ) {\n this.buf[i + this.offset] = 0\n bytesRead++\n this.remain++\n }\n }\n\n const chunk =\n this.offset === 0 && bytesRead === this.buf.length ?\n this.buf\n : this.buf.subarray(this.offset, this.offset + bytesRead)\n\n const flushed = this.write(chunk)\n if (!flushed) {\n this[AWAITDRAIN](() => this[ONDRAIN]())\n } else {\n this[ONDRAIN]()\n }\n }\n\n [AWAITDRAIN](cb: () => unknown) {\n this.once('drain', cb)\n }\n\n write(buffer: Buffer | string, cb?: () => void): boolean\n write(\n str: Buffer | string,\n encoding?: BufferEncoding | null,\n cb?: () => void,\n ): boolean\n write(\n chunk: Buffer | string,\n encoding?: BufferEncoding | (() => unknown) | null,\n cb?: () => unknown,\n ): boolean {\n /* c8 ignore start - just junk to comply with NodeJS.WritableStream */\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n if (typeof chunk === 'string') {\n chunk = Buffer.from(\n chunk,\n typeof encoding === 'string' ? encoding : 'utf8',\n )\n }\n /* c8 ignore stop */\n\n if (this.blockRemain < chunk.length) {\n const er = Object.assign(\n new Error('writing more data than expected'),\n {\n path: this.absolute,\n },\n )\n return this.emit('error', er)\n }\n this.remain -= chunk.length\n this.blockRemain -= chunk.length\n this.pos += chunk.length\n this.offset += chunk.length\n return super.write(chunk, null, cb)\n }\n\n [ONDRAIN]() {\n if (!this.remain) {\n if (this.blockRemain) {\n super.write(Buffer.alloc(this.blockRemain))\n }\n return this[CLOSE](er => (er ? this.emit('error', er) : this.end()))\n }\n\n /* c8 ignore start */\n if (!this.buf) {\n throw new Error('buffer lost somehow in ONDRAIN')\n }\n /* c8 ignore stop */\n\n if (this.offset >= this.length) {\n // if we only have a smaller bit left to read, alloc a smaller buffer\n // otherwise, keep it the same length it was before.\n this.buf = Buffer.allocUnsafe(\n Math.min(this.blockRemain, this.buf.length),\n )\n this.offset = 0\n }\n this.length = this.buf.length - this.offset\n this[READ]()\n }\n}\n\nexport class WriteEntrySync extends WriteEntry implements Warner {\n sync: true = true;\n\n [LSTAT]() {\n this[ONLSTAT](fs.lstatSync(this.absolute))\n }\n\n [SYMLINK]() {\n this[ONREADLINK](fs.readlinkSync(this.absolute))\n }\n\n [OPENFILE]() {\n this[ONOPENFILE](fs.openSync(this.absolute, 'r'))\n }\n\n [READ]() {\n let threw = true\n try {\n const { fd, buf, offset, length, pos } = this\n /* c8 ignore start */\n if (fd === undefined || buf === undefined) {\n throw new Error('fd and buf must be set in READ method')\n }\n /* c8 ignore stop */\n const bytesRead = fs.readSync(fd, buf, offset, length, pos)\n this[ONREAD](bytesRead)\n threw = false\n } finally {\n // ignoring the error from close(2) is a bad practice, but at\n // this point we already have an error, don't need another one\n if (threw) {\n try {\n this[CLOSE](() => {})\n } catch {}\n }\n }\n }\n\n [AWAITDRAIN](cb: () => unknown) {\n cb()\n }\n\n /* c8 ignore start */\n [CLOSE](\n cb: (er?: null | Error | NodeJS.ErrnoException) => unknown = () => {},\n ) {\n /* c8 ignore stop */\n if (this.fd !== undefined) fs.closeSync(this.fd)\n cb()\n }\n}\n\nexport class WriteEntryTar\n extends Minipass<Buffer, Buffer | string, WarnEvent>\n implements Warner\n{\n blockLen: number = 0\n blockRemain: number = 0\n buf: number = 0\n pos: number = 0\n remain: number = 0\n length: number = 0\n preservePaths: boolean\n portable: boolean\n strict: boolean\n noPax: boolean\n noMtime: boolean\n readEntry: ReadEntry\n type: EntryTypeName\n prefix?: string\n path: string\n mode?: number\n uid?: number\n gid?: number\n uname?: string\n gname?: string\n header?: Header\n mtime?: Date\n atime?: Date\n ctime?: Date\n linkpath?: string\n size: number\n onWriteEntry?: (entry: WriteEntry) => unknown\n\n warn(code: string, message: string | Error, data: WarnData = {}) {\n return warnMethod(this, code, message, data)\n }\n\n constructor(readEntry: ReadEntry, opt_: TarOptionsWithAliases = {}) {\n const opt = dealias(opt_)\n super()\n this.preservePaths = !!opt.preservePaths\n this.portable = !!opt.portable\n this.strict = !!opt.strict\n this.noPax = !!opt.noPax\n this.noMtime = !!opt.noMtime\n this.onWriteEntry = opt.onWriteEntry\n\n this.readEntry = readEntry\n const { type } = readEntry\n /* c8 ignore start */\n if (type === 'Unsupported') {\n throw new Error('writing entry that should be ignored')\n }\n /* c8 ignore stop */\n this.type = type\n if (this.type === 'Directory' && this.portable) {\n this.noMtime = true\n }\n\n this.prefix = opt.prefix\n\n this.path = normalizeWindowsPath(readEntry.path)\n this.mode =\n readEntry.mode !== undefined ? this[MODE](readEntry.mode) : undefined\n this.uid = this.portable ? undefined : readEntry.uid\n this.gid = this.portable ? undefined : readEntry.gid\n this.uname = this.portable ? undefined : readEntry.uname\n this.gname = this.portable ? undefined : readEntry.gname\n this.size = readEntry.size\n this.mtime = this.noMtime ? undefined : opt.mtime || readEntry.mtime\n this.atime = this.portable ? undefined : readEntry.atime\n this.ctime = this.portable ? undefined : readEntry.ctime\n this.linkpath =\n readEntry.linkpath !== undefined ?\n normalizeWindowsPath(readEntry.linkpath)\n : undefined\n\n if (typeof opt.onwarn === 'function') {\n this.on('warn', opt.onwarn)\n }\n\n let pathWarn: false | string = false\n if (!this.preservePaths) {\n const [root, stripped] = stripAbsolutePath(this.path)\n if (root && typeof stripped === 'string') {\n this.path = stripped\n pathWarn = root\n }\n }\n\n this.remain = readEntry.size\n this.blockRemain = readEntry.startBlockSize\n\n this.onWriteEntry?.(this as unknown as WriteEntry)\n this.header = new Header({\n path: this[PREFIX](this.path),\n linkpath:\n this.type === 'Link' && this.linkpath !== undefined ?\n this[PREFIX](this.linkpath)\n : this.linkpath,\n // only the permissions and setuid/setgid/sticky bitflags\n // not the higher-order bits that specify file type\n mode: this.mode,\n uid: this.portable ? undefined : this.uid,\n gid: this.portable ? undefined : this.gid,\n size: this.size,\n mtime: this.noMtime ? undefined : this.mtime,\n type: this.type,\n uname: this.portable ? undefined : this.uname,\n atime: this.portable ? undefined : this.atime,\n ctime: this.portable ? undefined : this.ctime,\n })\n\n if (pathWarn) {\n this.warn(\n 'TAR_ENTRY_INFO',\n `stripping ${pathWarn} from absolute path`,\n {\n entry: this,\n path: pathWarn + this.path,\n },\n )\n }\n\n if (this.header.encode() && !this.noPax) {\n super.write(\n new Pax({\n atime: this.portable ? undefined : this.atime,\n ctime: this.portable ? undefined : this.ctime,\n gid: this.portable ? undefined : this.gid,\n mtime: this.noMtime ? undefined : this.mtime,\n path: this[PREFIX](this.path),\n linkpath:\n this.type === 'Link' && this.linkpath !== undefined ?\n this[PREFIX](this.linkpath)\n : this.linkpath,\n size: this.size,\n uid: this.portable ? undefined : this.uid,\n uname: this.portable ? undefined : this.uname,\n dev: this.portable ? undefined : this.readEntry.dev,\n ino: this.portable ? undefined : this.readEntry.ino,\n nlink: this.portable ? undefined : this.readEntry.nlink,\n }).encode(),\n )\n }\n\n const b = this.header?.block\n /* c8 ignore start */\n if (!b) throw new Error('failed to encode header')\n /* c8 ignore stop */\n super.write(b)\n readEntry.pipe(this)\n }\n\n [PREFIX](path: string) {\n return prefixPath(path, this.prefix)\n }\n\n [MODE](mode: number) {\n return modeFix(mode, this.type === 'Directory', this.portable)\n }\n\n write(buffer: Buffer | string, cb?: () => void): boolean\n write(\n str: Buffer | string,\n encoding?: BufferEncoding | null,\n cb?: () => void,\n ): boolean\n write(\n chunk: Buffer | string,\n encoding?: BufferEncoding | (() => unknown) | null,\n cb?: () => unknown,\n ): boolean {\n /* c8 ignore start - just junk to comply with NodeJS.WritableStream */\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n if (typeof chunk === 'string') {\n chunk = Buffer.from(\n chunk,\n typeof encoding === 'string' ? encoding : 'utf8',\n )\n }\n /* c8 ignore stop */\n const writeLen = chunk.length\n if (writeLen > this.blockRemain) {\n throw new Error('writing more to entry than is appropriate')\n }\n this.blockRemain -= writeLen\n return super.write(chunk, cb)\n }\n\n end(cb?: () => void): this\n end(chunk: Buffer | string, cb?: () => void): this\n end(\n chunk: Buffer | string,\n encoding?: BufferEncoding,\n cb?: () => void,\n ): this\n end(\n chunk?: Buffer | string | (() => void),\n encoding?: BufferEncoding | (() => void),\n cb?: () => void,\n ): this {\n if (this.blockRemain) {\n super.write(Buffer.alloc(this.blockRemain))\n }\n /* c8 ignore start - just junk to comply with NodeJS.WritableStream */\n if (typeof chunk === 'function') {\n cb = chunk\n encoding = undefined\n chunk = undefined\n }\n if (typeof encoding === 'function') {\n cb = encoding\n encoding = undefined\n }\n if (typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding ?? 'utf8')\n }\n if (cb) this.once('finish', cb)\n if (chunk) super.end(chunk, cb)\n else super.end(cb)\n /* c8 ignore stop */\n return this\n }\n}\n\nconst getType = (stat: Stats): EntryTypeName | 'Unsupported' =>\n stat.isFile() ? 'File'\n : stat.isDirectory() ? 'Directory'\n : stat.isSymbolicLink() ? 'SymbolicLink'\n : 'Unsupported'\n", "export const modeFix = (\n mode: number,\n isDir: boolean,\n portable: boolean,\n) => {\n mode &= 0o7777\n\n // in portable mode, use the minimum reasonable umask\n // if this system creates files with 0o664 by default\n // (as some linux distros do), then we'll write the\n // archive with 0o644 instead. Also, don't ever create\n // a file that is not readable/writable by the owner.\n if (portable) {\n mode = (mode | 0o600) & ~0o22\n }\n\n // if dirs are readable, then they should be listable\n if (isDir) {\n if (mode & 0o400) {\n mode |= 0o100\n }\n if (mode & 0o40) {\n mode |= 0o10\n }\n if (mode & 0o4) {\n mode |= 0o1\n }\n }\n return mode\n}\n", "// unix absolute paths are also absolute on win32, so we use this for both\nimport { win32 } from 'node:path'\nconst { isAbsolute, parse } = win32\n\n// returns [root, stripped]\n// Note that windows will think that //x/y/z/a has a \"root\" of //x/y, and in\n// those cases, we want to sanitize it to x/y/z/a, not z/a, so we strip /\n// explicitly if it's the first character.\n// drive-specific relative paths on Windows get their root stripped off even\n// though they are not absolute, so `c:../foo` becomes ['c:', '../foo']\nexport const stripAbsolutePath = (path: string): [string, string] => {\n let r = ''\n\n let parsed = parse(path)\n while (isAbsolute(path) || parsed.root) {\n // windows will think that //x/y/z has a \"root\" of //x/y/\n // but strip the //?/C:/ off of //?/C:/path\n const root =\n path.charAt(0) === '/' && path.slice(0, 4) !== '//?/' ?\n '/'\n : parsed.root\n path = path.slice(root.length)\n r += root\n parsed = parse(path)\n }\n return [r, path]\n}\n", "// When writing files on Windows, translate the characters to their\n// 0xf000 higher-encoded versions.\n\nconst raw = ['|', '<', '>', '?', ':']\n\nconst win = raw.map(char =>\n String.fromCodePoint(0xf000 + Number(char.codePointAt(0))),\n)\n\nconst toWin = new Map(raw.map((char, i) => [char, win[i]]))\nconst toRaw = new Map(win.map((char, i) => [char, raw[i]]))\n\nexport const encode = (s: string) =>\n raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s)\nexport const decode = (s: string) =>\n win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s)\n", "export class Yallist<T = unknown> {\n tail?: Node<T>\n head?: Node<T>\n length: number = 0\n\n static create<T = unknown>(list: Iterable<T> = []) {\n return new Yallist(list)\n }\n\n constructor(list: Iterable<T> = []) {\n for (const item of list) {\n this.push(item)\n }\n }\n\n *[Symbol.iterator]() {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n\n removeNode(node: Node<T>) {\n if (node.list !== this) {\n throw new Error(\n 'removing node which does not belong to this list',\n )\n }\n\n const next = node.next\n const prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n this.length--\n node.next = undefined\n node.prev = undefined\n node.list = undefined\n\n return next\n }\n\n unshiftNode(node: Node<T>) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n const head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n }\n\n pushNode(node: Node<T>) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n const tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n }\n\n push(...args: T[]) {\n for (let i = 0, l = args.length; i < l; i++) {\n push(this, args[i])\n }\n return this.length\n }\n\n unshift(...args: T[]) {\n for (var i = 0, l = args.length; i < l; i++) {\n unshift(this, args[i])\n }\n return this.length\n }\n\n pop() {\n if (!this.tail) {\n return undefined\n }\n\n const res = this.tail.value\n const t = this.tail\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = undefined\n } else {\n this.head = undefined\n }\n t.list = undefined\n this.length--\n return res\n }\n\n shift() {\n if (!this.head) {\n return undefined\n }\n\n const res = this.head.value\n const h = this.head\n this.head = this.head.next\n if (this.head) {\n this.head.prev = undefined\n } else {\n this.tail = undefined\n }\n h.list = undefined\n this.length--\n return res\n }\n\n forEach(\n fn: (value: T, i: number, list: Yallist<T>) => any,\n thisp?: any,\n ) {\n thisp = thisp || this\n for (let walker = this.head, i = 0; !!walker; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n }\n\n forEachReverse(\n fn: (value: T, i: number, list: Yallist<T>) => any,\n thisp?: any,\n ) {\n thisp = thisp || this\n for (let walker = this.tail, i = this.length - 1; !!walker; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n }\n\n get(n: number) {\n let i = 0\n let walker = this.head\n for (; !!walker && i < n; i++) {\n walker = walker.next\n }\n if (i === n && !!walker) {\n return walker.value\n }\n }\n\n getReverse(n: number) {\n let i = 0\n let walker = this.tail\n for (; !!walker && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && !!walker) {\n return walker.value\n }\n }\n\n map<R = any>(\n fn: (value: T, list: Yallist<T>) => R,\n thisp?: any,\n ): Yallist<R> {\n thisp = thisp || this\n const res = new Yallist<R>()\n for (let walker = this.head; !!walker; ) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n }\n\n mapReverse<R = any>(\n fn: (value: T, list: Yallist<T>) => R,\n thisp?: any,\n ): Yallist<R> {\n thisp = thisp || this\n var res = new Yallist<R>()\n for (let walker = this.tail; !!walker; ) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n }\n\n reduce(fn: (left: T, right: T, i: number) => T): T\n reduce<R = any>(\n fn: (acc: R, next: T, i: number) => R,\n initial: R,\n ): R\n reduce<R = any>(\n fn: (acc: R, next: T, i: number) => R,\n initial?: R,\n ): R {\n let acc: R | T\n let walker = this.head\n if (arguments.length > 1) {\n acc = initial as R\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError(\n 'Reduce of empty list with no initial value',\n )\n }\n\n for (var i = 0; !!walker; i++) {\n acc = fn(acc as R, walker.value, i)\n walker = walker.next\n }\n\n return acc as R\n }\n\n reduceReverse(fn: (left: T, right: T, i: number) => T): T\n reduceReverse<R = any>(\n fn: (acc: R, next: T, i: number) => R,\n initial: R,\n ): R\n reduceReverse<R = any>(\n fn: (acc: R, next: T, i: number) => R,\n initial?: R,\n ): R {\n let acc: R | T\n let walker = this.tail\n if (arguments.length > 1) {\n acc = initial as R\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError(\n 'Reduce of empty list with no initial value',\n )\n }\n\n for (let i = this.length - 1; !!walker; i--) {\n acc = fn(acc as R, walker.value, i)\n walker = walker.prev\n }\n\n return acc as R\n }\n\n toArray() {\n const arr = new Array(this.length)\n for (let i = 0, walker = this.head; !!walker; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n }\n\n toArrayReverse() {\n const arr = new Array(this.length)\n for (let i = 0, walker = this.tail; !!walker; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n }\n\n slice(from: number = 0, to: number = this.length) {\n if (to < 0) {\n to += this.length\n }\n if (from < 0) {\n from += this.length\n }\n const ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n let walker = this.head\n let i = 0\n for (i = 0; !!walker && i < from; i++) {\n walker = walker.next\n }\n for (; !!walker && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n }\n\n sliceReverse(from: number = 0, to: number = this.length) {\n if (to < 0) {\n to += this.length\n }\n if (from < 0) {\n from += this.length\n }\n const ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n let i = this.length\n let walker = this.tail\n for (; !!walker && i > to; i--) {\n walker = walker.prev\n }\n for (; !!walker && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n }\n\n splice(start: number, deleteCount: number = 0, ...nodes: T[]) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start\n }\n\n let walker = this.head\n\n for (let i = 0; !!walker && i < start; i++) {\n walker = walker.next\n }\n\n const ret: T[] = []\n for (let i = 0; !!walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (!walker) {\n walker = this.tail\n } else if (walker !== this.tail) {\n walker = walker.prev\n }\n\n for (const v of nodes) {\n walker = insertAfter<T>(this, walker, v)\n }\n\n return ret\n }\n\n reverse() {\n const head = this.head\n const tail = this.tail\n for (let walker = head; !!walker; walker = walker.prev) {\n const p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n }\n}\n\n// insertAfter undefined means \"make the node the new head of list\"\nfunction insertAfter<T>(\n self: Yallist<T>,\n node: Node<T> | undefined,\n value: T,\n) {\n const prev = node\n const next = node ? node.next : self.head\n const inserted = new Node<T>(value, prev, next, self)\n\n if (inserted.next === undefined) {\n self.tail = inserted\n }\n if (inserted.prev === undefined) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push<T>(self: Yallist<T>, item: T) {\n self.tail = new Node<T>(item, self.tail, undefined, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift<T>(self: Yallist<T>, item: T) {\n self.head = new Node<T>(item, undefined, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nexport class Node<T = unknown> {\n list?: Yallist<T>\n next?: Node<T>\n prev?: Node<T>\n value: T\n\n constructor(\n value: T,\n prev?: Node<T> | undefined,\n next?: Node<T> | undefined,\n list?: Yallist<T> | undefined,\n ) {\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = undefined\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = undefined\n }\n }\n}\n", "// tar -x\nimport * as fsm from '@isaacs/fs-minipass'\nimport fs from 'node:fs'\nimport { filesFilter } from './list.js'\nimport { makeCommand } from './make-command.js'\nimport type { TarOptionsFile, TarOptionsSyncFile } from './options.js'\nimport { Unpack, UnpackSync } from './unpack.js'\n\nconst extractFileSync = (opt: TarOptionsSyncFile) => {\n const u = new UnpackSync(opt)\n const file = opt.file\n const stat = fs.statSync(file)\n // This trades a zero-byte read() syscall for a stat\n // However, it will usually result in less memory allocation\n const readSize = opt.maxReadSize || 16 * 1024 * 1024\n const stream = new fsm.ReadStreamSync(file, {\n readSize: readSize,\n size: stat.size,\n })\n stream.pipe(u)\n}\n\nconst extractFile = (opt: TarOptionsFile, _?: string[]) => {\n const u = new Unpack(opt)\n const readSize = opt.maxReadSize || 16 * 1024 * 1024\n\n const file = opt.file\n const p = new Promise<void>((resolve, reject) => {\n u.on('error', reject)\n u.on('close', resolve)\n\n // This trades a zero-byte read() syscall for a stat\n // However, it will usually result in less memory allocation\n fs.stat(file, (er, stat) => {\n if (er) {\n reject(er)\n } else {\n const stream = new fsm.ReadStream(file, {\n readSize: readSize,\n size: stat.size,\n })\n stream.on('error', reject)\n stream.pipe(u)\n }\n })\n })\n return p\n}\n\nexport const extract = makeCommand<Unpack, UnpackSync>(\n extractFileSync,\n extractFile,\n opt => new UnpackSync(opt),\n opt => new Unpack(opt),\n (opt, files) => {\n if (files?.length) filesFilter(opt, files)\n },\n)\n", "// the PEND/UNPEND stuff tracks whether we're ready to emit end/close yet.\n// but the path reservations are required to avoid race conditions where\n// parallelized unpack ops may mess with one another, due to dependencies\n// (like a Link depending on its target) or destructive operations (like\n// clobbering an fs object to create one of a different type.)\n\nimport * as fsm from '@isaacs/fs-minipass'\nimport assert from 'node:assert'\nimport { randomBytes } from 'node:crypto'\nimport fs, { type Stats } from 'node:fs'\nimport path from 'node:path'\nimport { getWriteFlag } from './get-write-flag.js'\nimport type { MkdirError } from './mkdir.js'\nimport { mkdir, mkdirSync } from './mkdir.js'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport { Parser } from './parse.js'\nimport { stripAbsolutePath } from './strip-absolute-path.js'\nimport * as wc from './winchars.js'\n\nimport type { TarOptions } from './options.js'\nimport { PathReservations } from './path-reservations.js'\nimport type { ReadEntry } from './read-entry.js'\nimport type { WarnData } from './warn-method.js'\nimport { SymlinkError } from './symlink-error.js'\nimport { umask } from './process-umask.js'\n\nconst ONENTRY = Symbol('onEntry')\nconst CHECKFS = Symbol('checkFs')\nconst CHECKFS2 = Symbol('checkFs2')\nconst ISREUSABLE = Symbol('isReusable')\nconst MAKEFS = Symbol('makeFs')\nconst FILE = Symbol('file')\nconst DIRECTORY = Symbol('directory')\nconst LINK = Symbol('link')\nconst SYMLINK = Symbol('symlink')\nconst HARDLINK = Symbol('hardlink')\nconst ENSURE_NO_SYMLINK = Symbol('ensureNoSymlink')\nconst UNSUPPORTED = Symbol('unsupported')\nconst CHECKPATH = Symbol('checkPath')\nconst STRIPABSOLUTEPATH = Symbol('stripAbsolutePath')\nconst MKDIR = Symbol('mkdir')\nconst ONERROR = Symbol('onError')\nconst PENDING = Symbol('pending')\nconst PEND = Symbol('pend')\nconst UNPEND = Symbol('unpend')\nconst ENDED = Symbol('ended')\nconst MAYBECLOSE = Symbol('maybeClose')\nconst SKIP = Symbol('skip')\nconst DOCHOWN = Symbol('doChown')\nconst UID = Symbol('uid')\nconst GID = Symbol('gid')\nconst CHECKED_CWD = Symbol('checkedCwd')\nconst platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform\nconst isWindows = platform === 'win32'\nconst DEFAULT_MAX_DEPTH = 1024\n\n// Unlinks on Windows are not atomic.\n//\n// This means that if you have a file entry, followed by another\n// file entry with an identical name, and you cannot re-use the file\n// (because it's a hardlink, or because unlink:true is set, or it's\n// Windows, which does not have useful nlink values), then the unlink\n// will be committed to the disk AFTER the new file has been written\n// over the old one, deleting the new file.\n//\n// To work around this, on Windows systems, we rename the file and then\n// delete the renamed file. It's a sloppy kludge, but frankly, I do not\n// know of a better way to do this, given windows' non-atomic unlink\n// semantics.\n//\n// See: https://github.com/npm/node-tar/issues/183\n/* c8 ignore start */\nconst unlinkFile = (path: string, cb: (er?: Error | null) => void) => {\n if (!isWindows) {\n return fs.unlink(path, cb)\n }\n\n const name = path + '.DELETE.' + randomBytes(16).toString('hex')\n fs.rename(path, name, er => {\n if (er) {\n return cb(er)\n }\n fs.unlink(name, cb)\n })\n}\n/* c8 ignore stop */\n\n/* c8 ignore start */\nconst unlinkFileSync = (path: string) => {\n if (!isWindows) {\n return fs.unlinkSync(path)\n }\n\n const name = path + '.DELETE.' + randomBytes(16).toString('hex')\n fs.renameSync(path, name)\n fs.unlinkSync(name)\n}\n/* c8 ignore stop */\n\n// this.gid, entry.gid, this.processUid\nconst uint32 = (\n a: number | undefined,\n b: number | undefined,\n c: number | undefined,\n) =>\n a !== undefined && a === a >>> 0 ? a\n : b !== undefined && b === b >>> 0 ? b\n : c\n\nexport class Unpack extends Parser {\n [ENDED]: boolean = false;\n [CHECKED_CWD]: boolean = false;\n [PENDING]: number = 0\n\n reservations: PathReservations = new PathReservations()\n transform?: TarOptions['transform']\n writable: true = true\n readable: false = false\n uid?: number\n gid?: number\n setOwner: boolean\n preserveOwner: boolean\n processGid?: number\n processUid?: number\n maxDepth: number\n forceChown: boolean\n win32: boolean\n newer: boolean\n keep: boolean\n noMtime: boolean\n preservePaths: boolean\n unlink: boolean\n cwd: string\n strip: number\n processUmask: number\n umask: number\n dmode: number\n fmode: number\n chmod: boolean\n\n constructor(opt: TarOptions = {}) {\n opt.ondone = () => {\n this[ENDED] = true\n this[MAYBECLOSE]()\n }\n\n super(opt)\n\n this.transform = opt.transform\n\n this.chmod = !!opt.chmod\n\n if (typeof opt.uid === 'number' || typeof opt.gid === 'number') {\n // need both or neither\n if (typeof opt.uid !== 'number' || typeof opt.gid !== 'number') {\n throw new TypeError('cannot set owner without number uid and gid')\n }\n if (opt.preserveOwner) {\n throw new TypeError(\n 'cannot preserve owner in archive and also set owner explicitly',\n )\n }\n this.uid = opt.uid\n this.gid = opt.gid\n this.setOwner = true\n } else {\n this.uid = undefined\n this.gid = undefined\n this.setOwner = false\n }\n\n // default true for root\n this.preserveOwner =\n opt.preserveOwner === undefined && typeof opt.uid !== 'number' ?\n !!(process.getuid && process.getuid() === 0)\n : !!opt.preserveOwner\n\n this.processUid =\n (this.preserveOwner || this.setOwner) && process.getuid ?\n process.getuid()\n : undefined\n this.processGid =\n (this.preserveOwner || this.setOwner) && process.getgid ?\n process.getgid()\n : undefined\n\n // prevent excessively deep nesting of subfolders\n // set to `Infinity` to remove this restriction\n this.maxDepth =\n typeof opt.maxDepth === 'number' ? opt.maxDepth : DEFAULT_MAX_DEPTH\n\n // mostly just for testing, but useful in some cases.\n // Forcibly trigger a chown on every entry, no matter what\n this.forceChown = opt.forceChown === true\n\n // turn ><?| in filenames into 0xf000-higher encoded forms\n this.win32 = !!opt.win32 || isWindows\n\n // do not unpack over files that are newer than what's in the archive\n this.newer = !!opt.newer\n\n // do not unpack over ANY files\n this.keep = !!opt.keep\n\n // do not set mtime/atime of extracted entries\n this.noMtime = !!opt.noMtime\n\n // allow .., absolute path entries, and unpacking through symlinks\n // without this, warn and skip .., relativize absolutes, and error\n // on symlinks in extraction path\n this.preservePaths = !!opt.preservePaths\n\n // unlink files and links before writing. This breaks existing hard\n // links, and removes symlink directories rather than erroring\n this.unlink = !!opt.unlink\n\n this.cwd = normalizeWindowsPath(path.resolve(opt.cwd || process.cwd()))\n this.strip = Number(opt.strip) || 0\n // if we're not chmodding, then we don't need the process umask\n this.processUmask =\n !this.chmod ? 0\n : typeof opt.processUmask === 'number' ? opt.processUmask\n : umask()\n this.umask =\n typeof opt.umask === 'number' ? opt.umask : this.processUmask\n\n // default mode for dirs created as parents\n this.dmode = opt.dmode || 0o0777 & ~this.umask\n this.fmode = opt.fmode || 0o0666 & ~this.umask\n\n this.on('entry', entry => this[ONENTRY](entry))\n }\n\n // a bad or damaged archive is a warning for Parser, but an error\n // when extracting. Mark those errors as unrecoverable, because\n // the Unpack contract cannot be met.\n warn(code: string, msg: string | Error, data: WarnData = {}) {\n if (code === 'TAR_BAD_ARCHIVE' || code === 'TAR_ABORT') {\n data.recoverable = false\n }\n return super.warn(code, msg, data)\n }\n\n [MAYBECLOSE]() {\n if (this[ENDED] && this[PENDING] === 0) {\n this.emit('prefinish')\n this.emit('finish')\n this.emit('end')\n }\n }\n\n // return false if we need to skip this file\n // return true if the field was successfully sanitized\n [STRIPABSOLUTEPATH](\n entry: ReadEntry,\n field: 'path' | 'linkpath',\n ): boolean {\n const p = entry[field]\n const { type } = entry\n if (!p || this.preservePaths) return true\n\n // strip off the root\n const [root, stripped] = stripAbsolutePath(p)\n const parts = stripped.replaceAll(/\\\\/g, '/').split('/')\n\n if (\n parts.includes('..') ||\n /* c8 ignore next */\n (isWindows && /^[a-z]:\\.\\.$/i.test(parts[0] ?? ''))\n ) {\n // For linkpath, check if the resolved path escapes cwd rather than\n // just rejecting any path with '..' - relative symlinks like\n // '../sibling/file' are valid if they resolve within the cwd.\n // For paths, they just simply may not ever use .. at all.\n if (field === 'path' || type === 'Link') {\n this.warn('TAR_ENTRY_ERROR', `${field} contains '..'`, {\n entry,\n [field]: p,\n })\n // not ok!\n return false\n }\n // Resolve linkpath relative to the entry's directory.\n // `path.posix` is safe to use because we're operating on\n // tar paths, not a filesystem.\n const entryDir = path.posix.dirname(entry.path)\n const resolved = path.posix.normalize(\n path.posix.join(entryDir, parts.join('/')),\n )\n // If the resolved path escapes (starts with ..), reject it\n if (resolved.startsWith('../') || resolved === '..') {\n this.warn(\n 'TAR_ENTRY_ERROR',\n `${field} escapes extraction directory`,\n {\n entry,\n [field]: p,\n },\n )\n return false\n }\n }\n\n if (root) {\n // ok, but triggers warning about stripping root\n entry[field] = String(stripped)\n this.warn(\n 'TAR_ENTRY_INFO',\n `stripping ${root} from absolute ${field}`,\n {\n entry,\n [field]: p,\n },\n )\n }\n return true\n }\n\n // no IO, just string checking for absolute indicators\n [CHECKPATH](entry: ReadEntry) {\n const p = normalizeWindowsPath(entry.path)\n const parts = p.split('/')\n\n if (this.strip) {\n if (parts.length < this.strip) {\n return false\n }\n if (entry.type === 'Link') {\n const linkparts = normalizeWindowsPath(\n String(entry.linkpath),\n ).split('/')\n if (linkparts.length >= this.strip) {\n entry.linkpath = linkparts.slice(this.strip).join('/')\n } else {\n return false\n }\n }\n parts.splice(0, this.strip)\n entry.path = parts.join('/')\n }\n\n if (isFinite(this.maxDepth) && parts.length > this.maxDepth) {\n this.warn('TAR_ENTRY_ERROR', 'path excessively deep', {\n entry,\n path: p,\n depth: parts.length,\n maxDepth: this.maxDepth,\n })\n return false\n }\n\n if (\n !this[STRIPABSOLUTEPATH](entry, 'path') ||\n !this[STRIPABSOLUTEPATH](entry, 'linkpath')\n ) {\n return false\n }\n\n entry.absolute =\n path.isAbsolute(entry.path) ?\n normalizeWindowsPath(path.resolve(entry.path))\n : normalizeWindowsPath(path.resolve(this.cwd, entry.path))\n\n // if we somehow ended up with a path that escapes the cwd, and we are\n // not in preservePaths mode, then something is fishy! This should have\n // been prevented above, so ignore this for coverage.\n /* c8 ignore start - defense in depth */\n if (\n !this.preservePaths &&\n typeof entry.absolute === 'string' &&\n entry.absolute.indexOf(this.cwd + '/') !== 0 &&\n entry.absolute !== this.cwd\n ) {\n this.warn('TAR_ENTRY_ERROR', 'path escaped extraction target', {\n entry,\n path: normalizeWindowsPath(entry.path),\n resolvedPath: entry.absolute,\n cwd: this.cwd,\n })\n return false\n }\n /* c8 ignore stop */\n\n // an archive can set properties on the extraction directory, but it\n // may not replace the cwd with a different kind of thing entirely.\n if (\n entry.absolute === this.cwd &&\n entry.type !== 'Directory' &&\n entry.type !== 'GNUDumpDir'\n ) {\n return false\n }\n\n // only encode : chars that aren't drive letter indicators\n if (this.win32) {\n const { root: aRoot } = path.win32.parse(String(entry.absolute))\n entry.absolute =\n aRoot + wc.encode(String(entry.absolute).slice(aRoot.length))\n const { root: pRoot } = path.win32.parse(entry.path)\n entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length))\n }\n\n return true\n }\n\n [ONENTRY](entry: ReadEntry) {\n if (!this[CHECKPATH](entry)) {\n return entry.resume()\n }\n\n assert.equal(typeof entry.absolute, 'string')\n\n switch (entry.type) {\n case 'Directory':\n case 'GNUDumpDir':\n if (entry.mode) {\n entry.mode = entry.mode | 0o700\n }\n\n // eslint-disable-next-line no-fallthrough\n case 'File':\n case 'OldFile':\n case 'ContiguousFile':\n case 'Link':\n case 'SymbolicLink':\n return this[CHECKFS](entry)\n\n case 'CharacterDevice':\n case 'BlockDevice':\n case 'FIFO':\n default:\n return this[UNSUPPORTED](entry)\n }\n }\n\n [ONERROR](er: Error, entry: ReadEntry) {\n // Cwd has to exist, or else nothing works. That's serious.\n // Other errors are warnings, which raise the error in strict\n // mode, but otherwise continue on.\n if (er.name === 'CwdError') {\n this.emit('error', er)\n } else {\n this.warn('TAR_ENTRY_ERROR', er, { entry })\n this[UNPEND]()\n entry.resume()\n }\n }\n\n [MKDIR](\n dir: string,\n mode: number,\n cb: (er?: null | MkdirError, made?: string) => void,\n ) {\n mkdir(\n normalizeWindowsPath(dir),\n {\n uid: this.uid,\n gid: this.gid,\n processUid: this.processUid,\n processGid: this.processGid,\n umask: this.processUmask,\n preserve: this.preservePaths,\n unlink: this.unlink,\n cwd: this.cwd,\n mode: mode,\n },\n cb,\n )\n }\n\n [DOCHOWN](entry: ReadEntry) {\n // in preserve owner mode, chown if the entry doesn't match process\n // in set owner mode, chown if setting doesn't match process\n return (\n this.forceChown ||\n (this.preserveOwner &&\n ((typeof entry.uid === 'number' &&\n entry.uid !== this.processUid) ||\n (typeof entry.gid === 'number' &&\n entry.gid !== this.processGid))) ||\n (typeof this.uid === 'number' && this.uid !== this.processUid) ||\n (typeof this.gid === 'number' && this.gid !== this.processGid)\n )\n }\n\n [UID](entry: ReadEntry) {\n return uint32(this.uid, entry.uid, this.processUid)\n }\n\n [GID](entry: ReadEntry) {\n return uint32(this.gid, entry.gid, this.processGid)\n }\n\n [FILE](entry: ReadEntry, fullyDone: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.fmode\n const stream = new fsm.WriteStream(String(entry.absolute), {\n // slight lie, but it can be numeric flags\n flags: getWriteFlag(entry.size) as string,\n mode: mode,\n autoClose: false,\n })\n stream.on('error', (er: Error) => {\n if (stream.fd) {\n fs.close(stream.fd, () => {})\n }\n\n // flush all the data out so that we aren't left hanging\n // if the error wasn't actually fatal. otherwise the parse\n // is blocked, and we never proceed.\n stream.write = () => true\n this[ONERROR](er, entry)\n fullyDone()\n })\n\n let actions = 1\n const done = (er?: null | Error) => {\n if (er) {\n /* c8 ignore start - we should always have a fd by now */\n if (stream.fd) {\n fs.close(stream.fd, () => {})\n }\n /* c8 ignore stop */\n\n this[ONERROR](er, entry)\n fullyDone()\n return\n }\n\n if (--actions === 0) {\n if (stream.fd !== undefined) {\n fs.close(stream.fd, er => {\n if (er) {\n this[ONERROR](er, entry)\n } else {\n this[UNPEND]()\n }\n fullyDone()\n })\n }\n }\n }\n\n stream.on('finish', () => {\n // if futimes fails, try utimes\n // if utimes fails, fail with the original error\n // same for fchown/chown\n const abs = String(entry.absolute)\n const fd = stream.fd\n\n if (typeof fd === 'number' && entry.mtime && !this.noMtime) {\n actions++\n const atime = entry.atime || new Date()\n const mtime = entry.mtime\n fs.futimes(fd, atime, mtime, er =>\n er ?\n fs.utimes(abs, atime, mtime, er2 => done(er2 && er))\n : done(),\n )\n }\n\n if (typeof fd === 'number' && this[DOCHOWN](entry)) {\n actions++\n const uid = this[UID](entry)\n const gid = this[GID](entry)\n if (typeof uid === 'number' && typeof gid === 'number') {\n fs.fchown(fd, uid, gid, er =>\n er ? fs.chown(abs, uid, gid, er2 => done(er2 && er)) : done(),\n )\n }\n }\n\n done()\n })\n\n const tx = this.transform ? this.transform(entry) || entry : entry\n if (tx !== entry) {\n tx.on('error', er => {\n this[ONERROR](er as Error, entry)\n fullyDone()\n })\n entry.pipe(tx)\n }\n tx.pipe(stream)\n }\n\n [DIRECTORY](entry: ReadEntry, fullyDone: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.dmode\n this[MKDIR](String(entry.absolute), mode, er => {\n if (er) {\n this[ONERROR](er, entry)\n fullyDone()\n return\n }\n\n let actions = 1\n const done = () => {\n if (--actions === 0) {\n fullyDone()\n this[UNPEND]()\n entry.resume()\n }\n }\n\n if (entry.mtime && !this.noMtime) {\n actions++\n fs.utimes(\n String(entry.absolute),\n entry.atime || new Date(),\n entry.mtime,\n done,\n )\n }\n\n if (this[DOCHOWN](entry)) {\n actions++\n fs.chown(\n String(entry.absolute),\n Number(this[UID](entry)),\n Number(this[GID](entry)),\n done,\n )\n }\n\n done()\n })\n }\n\n [UNSUPPORTED](entry: ReadEntry) {\n entry.unsupported = true\n this.warn(\n 'TAR_ENTRY_UNSUPPORTED',\n `unsupported entry type: ${entry.type}`,\n { entry },\n )\n entry.resume()\n }\n\n [SYMLINK](entry: ReadEntry, done: () => void) {\n const parts = normalizeWindowsPath(\n path.relative(\n this.cwd,\n path.resolve(\n path.dirname(String(entry.absolute)),\n String(entry.linkpath),\n ),\n ),\n ).split('/')\n this[ENSURE_NO_SYMLINK](\n entry,\n this.cwd,\n parts,\n () => this[LINK](entry, String(entry.linkpath), 'symlink', done),\n er => {\n this[ONERROR](er, entry)\n done()\n },\n )\n }\n\n [HARDLINK](entry: ReadEntry, done: () => void) {\n const linkpath = normalizeWindowsPath(\n path.resolve(this.cwd, String(entry.linkpath)),\n )\n const parts = normalizeWindowsPath(String(entry.linkpath)).split('/')\n this[ENSURE_NO_SYMLINK](\n entry,\n this.cwd,\n parts,\n () => this[LINK](entry, linkpath, 'link', done),\n er => {\n this[ONERROR](er, entry)\n done()\n },\n )\n }\n\n [ENSURE_NO_SYMLINK](\n entry: ReadEntry,\n cwd: string,\n parts: string[],\n done: () => void,\n onError: (er: SymlinkError) => void,\n ) {\n const p = parts.shift()\n if (this.preservePaths || p === undefined) return done()\n const t = path.resolve(cwd, p)\n fs.lstat(t, (er, st) => {\n if (er) return done()\n if (st?.isSymbolicLink()) {\n return onError(\n new SymlinkError(t, path.resolve(t, parts.join('/'))),\n )\n }\n this[ENSURE_NO_SYMLINK](entry, t, parts, done, onError)\n })\n }\n\n [PEND]() {\n this[PENDING]++\n }\n\n [UNPEND]() {\n this[PENDING]--\n this[MAYBECLOSE]()\n }\n\n [SKIP](entry: ReadEntry) {\n this[UNPEND]()\n entry.resume()\n }\n\n // Check if we can reuse an existing filesystem entry safely and\n // overwrite it, rather than unlinking and recreating\n // Windows doesn't report a useful nlink, so we just never reuse entries\n [ISREUSABLE](entry: ReadEntry, st: Stats) {\n return (\n entry.type === 'File' &&\n !this.unlink &&\n st.isFile() &&\n st.nlink <= 1 &&\n !isWindows\n )\n }\n\n // check if a thing is there, and if so, try to clobber it\n [CHECKFS](entry: ReadEntry) {\n this[PEND]()\n const paths = [entry.path]\n if (entry.linkpath) {\n paths.push(entry.linkpath)\n }\n this.reservations.reserve(paths, done => this[CHECKFS2](entry, done))\n }\n\n [CHECKFS2](entry: ReadEntry, fullyDone: (er?: Error) => void) {\n const done = (er?: Error) => {\n fullyDone(er)\n }\n\n const checkCwd = () => {\n this[MKDIR](this.cwd, this.dmode, er => {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n this[CHECKED_CWD] = true\n start()\n })\n }\n\n const start = () => {\n if (entry.absolute !== this.cwd) {\n const parent = normalizeWindowsPath(\n path.dirname(String(entry.absolute)),\n )\n if (parent !== this.cwd) {\n return this[MKDIR](parent, this.dmode, er => {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n afterMakeParent()\n })\n }\n }\n afterMakeParent()\n }\n\n const afterMakeParent = () => {\n fs.lstat(String(entry.absolute), (lstatEr, st) => {\n if (\n st &&\n (this.keep ||\n /* c8 ignore next */\n (this.newer && st.mtime > (entry.mtime ?? st.mtime)))\n ) {\n this[SKIP](entry)\n done()\n return\n }\n if (lstatEr || this[ISREUSABLE](entry, st)) {\n return this[MAKEFS](null, entry, done)\n }\n\n if (st.isDirectory()) {\n if (entry.type === 'Directory') {\n const needChmod =\n this.chmod && entry.mode && (st.mode & 0o7777) !== entry.mode\n const afterChmod = (er?: Error | null | undefined) =>\n this[MAKEFS](er ?? null, entry, done)\n if (!needChmod) {\n return afterChmod()\n }\n return fs.chmod(\n String(entry.absolute),\n Number(entry.mode),\n afterChmod,\n )\n }\n // Not a dir entry, have to remove it.\n // NB: the only way to end up with an entry that is the cwd\n // itself, in such a way that == does not detect, is a\n // tricky windows absolute path with UNC or 8.3 parts (and\n // preservePaths:true, or else it will have been stripped).\n // In that case, the user has opted out of path protections\n // explicitly, so if they blow away the cwd, c'est la vie.\n if (entry.absolute !== this.cwd) {\n return fs.rmdir(String(entry.absolute), (er?: null | Error) =>\n this[MAKEFS](er ?? null, entry, done),\n )\n }\n }\n\n // not a dir, and not reusable\n // don't remove if the cwd, we want that error\n if (entry.absolute === this.cwd) {\n return this[MAKEFS](null, entry, done)\n }\n\n unlinkFile(String(entry.absolute), er =>\n this[MAKEFS](er ?? null, entry, done),\n )\n })\n }\n\n if (this[CHECKED_CWD]) {\n start()\n } else {\n checkCwd()\n }\n }\n\n [MAKEFS](\n er: null | undefined | Error,\n entry: ReadEntry,\n done: () => void,\n ) {\n if (er) {\n this[ONERROR](er, entry)\n done()\n return\n }\n\n switch (entry.type) {\n case 'File':\n case 'OldFile':\n case 'ContiguousFile':\n return this[FILE](entry, done)\n\n case 'Link':\n return this[HARDLINK](entry, done)\n\n case 'SymbolicLink':\n return this[SYMLINK](entry, done)\n\n case 'Directory':\n case 'GNUDumpDir':\n return this[DIRECTORY](entry, done)\n }\n }\n\n [LINK](\n entry: ReadEntry,\n linkpath: string,\n link: 'link' | 'symlink',\n done: () => void,\n ) {\n fs[link](linkpath, String(entry.absolute), er => {\n if (er) {\n this[ONERROR](er, entry)\n } else {\n this[UNPEND]()\n entry.resume()\n }\n done()\n })\n }\n}\n\nconst callSync = <T>(\n fn: () => T,\n): [null, T] | [NodeJS.ErrnoException, null] => {\n try {\n return [null, fn()]\n } catch (er) {\n return [er as NodeJS.ErrnoException, null]\n }\n}\n\nexport class UnpackSync extends Unpack {\n sync: true = true;\n\n [MAKEFS](er: null | Error | undefined, entry: ReadEntry) {\n return super[MAKEFS](er, entry, () => {})\n }\n\n [CHECKFS](entry: ReadEntry) {\n if (!this[CHECKED_CWD]) {\n const er = this[MKDIR](this.cwd, this.dmode)\n if (er) {\n return this[ONERROR](er as Error, entry)\n }\n this[CHECKED_CWD] = true\n }\n\n // don't bother to make the parent if the current entry is the cwd,\n // we've already checked it.\n if (entry.absolute !== this.cwd) {\n const parent = normalizeWindowsPath(\n path.dirname(String(entry.absolute)),\n )\n if (parent !== this.cwd) {\n const mkParent = this[MKDIR](parent, this.dmode)\n if (mkParent) {\n return this[ONERROR](mkParent as Error, entry)\n }\n }\n }\n\n const [lstatEr, st] = callSync(() =>\n fs.lstatSync(String(entry.absolute)),\n )\n if (\n st &&\n (this.keep ||\n /* c8 ignore next */\n (this.newer && st.mtime > (entry.mtime ?? st.mtime)))\n ) {\n return this[SKIP](entry)\n }\n\n if (lstatEr || this[ISREUSABLE](entry, st)) {\n return this[MAKEFS](null, entry)\n }\n\n if (st.isDirectory()) {\n if (entry.type === 'Directory') {\n const needChmod =\n this.chmod && entry.mode && (st.mode & 0o7777) !== entry.mode\n const [er] =\n needChmod ?\n callSync(() => {\n fs.chmodSync(String(entry.absolute), Number(entry.mode))\n })\n : []\n return this[MAKEFS](er, entry)\n }\n // not a dir entry, have to remove it\n const [er] = callSync(() => fs.rmdirSync(String(entry.absolute)))\n this[MAKEFS](er, entry)\n }\n\n // not a dir, and not reusable.\n // don't remove if it's the cwd, since we want that error.\n const [er] =\n entry.absolute === this.cwd ?\n []\n : callSync(() => unlinkFileSync(String(entry.absolute)))\n this[MAKEFS](er, entry)\n }\n\n [FILE](entry: ReadEntry, done: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.fmode\n\n const oner = (er?: null | Error | undefined) => {\n let closeError\n try {\n fs.closeSync(fd)\n } catch (e) {\n closeError = e\n }\n if (er || closeError) {\n this[ONERROR]((er as Error) || closeError, entry)\n }\n done()\n }\n\n let fd: number\n try {\n fd = fs.openSync(\n String(entry.absolute),\n getWriteFlag(entry.size),\n mode,\n )\n /* c8 ignore start - This is only a problem if the file was successfully\n * statted, BUT failed to open. Testing this is annoying, and we\n * already have ample testint for other uses of oner() methods.\n */\n } catch (er) {\n return oner(er as Error)\n }\n /* c8 ignore stop */\n const tx = this.transform ? this.transform(entry) || entry : entry\n if (tx !== entry) {\n tx.on('error', er => this[ONERROR](er as Error, entry))\n entry.pipe(tx)\n }\n\n tx.on('data', (chunk: Buffer) => {\n try {\n fs.writeSync(fd, chunk, 0, chunk.length)\n } catch (er) {\n oner(er as Error)\n }\n })\n\n tx.on('end', () => {\n let er = null\n // try both, falling futimes back to utimes\n // if either fails, handle the first error\n if (entry.mtime && !this.noMtime) {\n const atime = entry.atime || new Date()\n const mtime = entry.mtime\n try {\n fs.futimesSync(fd, atime, mtime)\n } catch (futimeser) {\n try {\n fs.utimesSync(String(entry.absolute), atime, mtime)\n } catch {\n er = futimeser\n }\n }\n }\n\n if (this[DOCHOWN](entry)) {\n const uid = this[UID](entry)\n const gid = this[GID](entry)\n\n try {\n fs.fchownSync(fd, Number(uid), Number(gid))\n } catch (fchowner) {\n try {\n fs.chownSync(String(entry.absolute), Number(uid), Number(gid))\n } catch {\n er = er || fchowner\n }\n }\n }\n\n oner(er as Error)\n })\n }\n\n [DIRECTORY](entry: ReadEntry, done: () => void) {\n const mode =\n typeof entry.mode === 'number' ? entry.mode & 0o7777 : this.dmode\n const er = this[MKDIR](String(entry.absolute), mode)\n if (er) {\n this[ONERROR](er as Error, entry)\n done()\n return\n }\n if (entry.mtime && !this.noMtime) {\n try {\n fs.utimesSync(\n String(entry.absolute),\n entry.atime || new Date(),\n entry.mtime,\n )\n /* c8 ignore next */\n } catch {}\n }\n if (this[DOCHOWN](entry)) {\n try {\n fs.chownSync(\n String(entry.absolute),\n Number(this[UID](entry)),\n Number(this[GID](entry)),\n )\n } catch {}\n }\n done()\n entry.resume()\n }\n\n [MKDIR](dir: string, mode: number) {\n try {\n return mkdirSync(normalizeWindowsPath(dir), {\n uid: this.uid,\n gid: this.gid,\n processUid: this.processUid,\n processGid: this.processGid,\n umask: this.processUmask,\n preserve: this.preservePaths,\n unlink: this.unlink,\n cwd: this.cwd,\n mode: mode,\n })\n } catch (er) {\n return er\n }\n }\n\n [ENSURE_NO_SYMLINK](\n _entry: ReadEntry,\n cwd: string,\n parts: string[],\n done: () => void,\n onError: (er: SymlinkError) => void,\n ) {\n if (this.preservePaths || parts.length === 0) return done()\n let t = cwd\n for (const p of parts) {\n t = path.resolve(t, p)\n const [er, st] = callSync(() => fs.lstatSync(t))\n if (er) return done()\n if (st.isSymbolicLink()) {\n return onError(\n new SymlinkError(t, path.resolve(cwd, parts.join('/'))),\n )\n }\n }\n done()\n }\n\n [LINK](\n entry: ReadEntry,\n linkpath: string,\n link: 'link' | 'symlink',\n done: () => void,\n ) {\n const linkSync: `${typeof link}Sync` = `${link}Sync`\n try {\n fs[linkSync](linkpath, String(entry.absolute))\n done()\n entry.resume()\n } catch (er) {\n return this[ONERROR](er as Error, entry)\n }\n }\n}\n", "// Get the appropriate flag to use for creating files\n// We use fmap on Windows platforms for files less than\n// 512kb. This is a fairly low limit, but avoids making\n// things slower in some cases. Since most of what this\n// library is used for is extracting tarballs of many\n// relatively small files in npm packages and the like,\n// it can be a big boost on Windows platforms.\n\nimport fs from 'fs'\n\nconst platform = process.env.__FAKE_PLATFORM__ || process.platform\nconst isWindows = platform === 'win32'\n\n/* c8 ignore start */\nconst { O_CREAT, O_NOFOLLOW, O_TRUNC, O_WRONLY } = fs.constants\nconst UV_FS_O_FILEMAP =\n Number(process.env.__FAKE_FS_O_FILENAME__) ||\n fs.constants.UV_FS_O_FILEMAP ||\n 0\n/* c8 ignore stop */\n\nconst fMapEnabled = isWindows && !!UV_FS_O_FILEMAP\nconst fMapLimit = 512 * 1024\nconst fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY\nconst noFollowFlag =\n !isWindows && typeof O_NOFOLLOW === 'number' ?\n O_NOFOLLOW | O_TRUNC | O_CREAT | O_WRONLY\n : null\nexport const getWriteFlag =\n noFollowFlag !== null ? () => noFollowFlag\n : !fMapEnabled ? () => 'w'\n : (size: number) => (size < fMapLimit ? fMapFlag : 'w')\n", "import fs, { type Dirent } from 'node:fs'\nimport path from 'node:path'\n\nconst lchownSync = (path: string, uid: number, gid: number) => {\n try {\n return fs.lchownSync(path, uid, gid)\n } catch (er) {\n if ((er as NodeJS.ErrnoException)?.code !== 'ENOENT') throw er\n }\n}\n\nconst chown = (\n cpath: string,\n uid: number,\n gid: number,\n cb: (er?: unknown) => any,\n) => {\n fs.lchown(cpath, uid, gid, er => {\n // Skip ENOENT error\n cb(er && (er as NodeJS.ErrnoException)?.code !== 'ENOENT' ? er : null)\n })\n}\n\nconst chownrKid = (\n p: string,\n child: Dirent,\n uid: number,\n gid: number,\n cb: (er?: unknown) => any,\n) => {\n if (child.isDirectory()) {\n chownr(path.resolve(p, child.name), uid, gid, (er: unknown) => {\n if (er) return cb(er)\n const cpath = path.resolve(p, child.name)\n chown(cpath, uid, gid, cb)\n })\n } else {\n const cpath = path.resolve(p, child.name)\n chown(cpath, uid, gid, cb)\n }\n}\n\nexport const chownr = (\n p: string,\n uid: number,\n gid: number,\n cb: (er?: unknown) => any,\n) => {\n fs.readdir(p, { withFileTypes: true }, (er, children) => {\n // any error other than ENOTDIR or ENOTSUP means it's not readable,\n // or doesn't exist. give up.\n if (er) {\n if (er.code === 'ENOENT') return cb()\n else if (er.code !== 'ENOTDIR' && er.code !== 'ENOTSUP')\n return cb(er)\n }\n if (er || !children.length) return chown(p, uid, gid, cb)\n\n let len = children.length\n let errState: null | NodeJS.ErrnoException = null\n const then = (er?: unknown) => {\n /* c8 ignore start */\n if (errState) return\n /* c8 ignore stop */\n if (er) return cb((errState = er as NodeJS.ErrnoException))\n if (--len === 0) return chown(p, uid, gid, cb)\n }\n\n for (const child of children) {\n chownrKid(p, child, uid, gid, then)\n }\n })\n}\n\nconst chownrKidSync = (\n p: string,\n child: Dirent,\n uid: number,\n gid: number,\n) => {\n if (child.isDirectory())\n chownrSync(path.resolve(p, child.name), uid, gid)\n\n lchownSync(path.resolve(p, child.name), uid, gid)\n}\n\nexport const chownrSync = (p: string, uid: number, gid: number) => {\n let children: Dirent[]\n try {\n children = fs.readdirSync(p, { withFileTypes: true })\n } catch (er) {\n const e = er as NodeJS.ErrnoException\n if (e?.code === 'ENOENT') return\n else if (e?.code === 'ENOTDIR' || e?.code === 'ENOTSUP')\n return lchownSync(p, uid, gid)\n else throw e\n }\n\n for (const child of children) {\n chownrKidSync(p, child, uid, gid)\n }\n\n return lchownSync(p, uid, gid)\n}\n", "import { chownr, chownrSync } from 'chownr'\nimport fs from 'node:fs'\nimport fsp from 'node:fs/promises'\nimport path from 'node:path'\nimport { CwdError } from './cwd-error.js'\nimport { normalizeWindowsPath } from './normalize-windows-path.js'\nimport { SymlinkError } from './symlink-error.js'\n\nexport type MkdirOptions = {\n uid?: number\n gid?: number\n processUid?: number\n processGid?: number\n umask?: number\n preserve: boolean\n unlink: boolean\n cwd: string\n mode: number\n}\n\nexport type MkdirError = NodeJS.ErrnoException | CwdError | SymlinkError\n\nconst checkCwd = (\n dir: string,\n cb: (er?: null | MkdirError) => unknown,\n) => {\n fs.stat(dir, (er, st) => {\n if (er || !st.isDirectory()) {\n er = new CwdError(\n dir,\n (er as NodeJS.ErrnoException)?.code || 'ENOTDIR',\n )\n }\n cb(er)\n })\n}\n\n/**\n * Wrapper around fs/promises.mkdir for tar's needs.\n *\n * The main purpose is to avoid creating directories if we know that\n * they already exist (and track which ones exist for this purpose),\n * and prevent entries from being extracted into symlinked folders,\n * if `preservePaths` is not set.\n */\nexport const mkdir = (\n dir: string,\n opt: MkdirOptions,\n cb: (er?: null | MkdirError, made?: string) => void,\n) => {\n dir = normalizeWindowsPath(dir)\n\n // if there's any overlap between mask and mode,\n // then we'll need an explicit chmod\n /* c8 ignore next */\n const umask = opt.umask ?? 0o22\n const mode = opt.mode | 0o0700\n const needChmod = (mode & umask) !== 0\n\n const uid = opt.uid\n const gid = opt.gid\n const doChown =\n typeof uid === 'number' &&\n typeof gid === 'number' &&\n (uid !== opt.processUid || gid !== opt.processGid)\n\n const preserve = opt.preserve\n const unlink = opt.unlink\n const cwd = normalizeWindowsPath(opt.cwd)\n\n const done = (er?: null | MkdirError, created?: string) => {\n if (er) {\n cb(er)\n } else {\n if (created && doChown) {\n chownr(created, uid, gid, er => done(er as NodeJS.ErrnoException))\n } else if (needChmod) {\n fs.chmod(dir, mode, cb)\n } else {\n cb()\n }\n }\n }\n\n if (dir === cwd) {\n return checkCwd(dir, done)\n }\n\n if (preserve) {\n return fsp.mkdir(dir, { mode, recursive: true }).then(\n made => done(null, made ?? undefined), // oh, ts\n done,\n )\n }\n\n const sub = normalizeWindowsPath(path.relative(cwd, dir))\n const parts = sub.split('/')\n mkdir_(cwd, parts, mode, unlink, cwd, undefined, done)\n}\n\nconst mkdir_ = (\n base: string,\n parts: string[],\n mode: number,\n unlink: boolean,\n cwd: string,\n created: string | undefined,\n cb: (er?: null | MkdirError, made?: string) => void,\n): void => {\n if (parts.length === 0) {\n return cb(null, created)\n }\n const p = parts.shift()\n const part = normalizeWindowsPath(path.resolve(base + '/' + p))\n fs.mkdir(\n part,\n mode,\n onmkdir(part, parts, mode, unlink, cwd, created, cb),\n )\n}\n\nconst onmkdir =\n (\n part: string,\n parts: string[],\n mode: number,\n unlink: boolean,\n cwd: string,\n created: string | undefined,\n cb: (er?: null | MkdirError, made?: string) => void,\n ) =>\n (er?: null | NodeJS.ErrnoException) => {\n if (er) {\n fs.lstat(part, (statEr, st) => {\n if (statEr) {\n statEr.path = statEr.path && normalizeWindowsPath(statEr.path)\n cb(statEr)\n } else if (st.isDirectory()) {\n mkdir_(part, parts, mode, unlink, cwd, created, cb)\n } else if (unlink) {\n fs.unlink(part, er => {\n if (er) {\n return cb(er)\n }\n fs.mkdir(\n part,\n mode,\n onmkdir(part, parts, mode, unlink, cwd, created, cb),\n )\n })\n } else if (st.isSymbolicLink()) {\n return cb(new SymlinkError(part, part + '/' + parts.join('/')))\n } else {\n cb(er)\n }\n })\n } else {\n created = created || part\n mkdir_(part, parts, mode, unlink, cwd, created, cb)\n }\n }\n\nconst checkCwdSync = (dir: string) => {\n let ok = false\n let code\n try {\n ok = fs.statSync(dir).isDirectory()\n } catch (er) {\n code = (er as NodeJS.ErrnoException)?.code\n } finally {\n if (!ok) {\n throw new CwdError(dir, code ?? 'ENOTDIR')\n }\n }\n}\n\nexport const mkdirSync = (dir: string, opt: MkdirOptions) => {\n dir = normalizeWindowsPath(dir)\n // if there's any overlap between mask and mode,\n // then we'll need an explicit chmod\n /* c8 ignore next */\n const umask = opt.umask ?? 0o22\n const mode = opt.mode | 0o700\n const needChmod = (mode & umask) !== 0\n\n const uid = opt.uid\n const gid = opt.gid\n const doChown =\n typeof uid === 'number' &&\n typeof gid === 'number' &&\n (uid !== opt.processUid || gid !== opt.processGid)\n\n const preserve = opt.preserve\n const unlink = opt.unlink\n const cwd = normalizeWindowsPath(opt.cwd)\n\n const done = (created?: string | undefined) => {\n if (created && doChown) {\n chownrSync(created, uid, gid)\n }\n if (needChmod) {\n fs.chmodSync(dir, mode)\n }\n }\n\n if (dir === cwd) {\n checkCwdSync(cwd)\n return done()\n }\n\n if (preserve) {\n return done(fs.mkdirSync(dir, { mode, recursive: true }) ?? undefined)\n }\n\n const sub = normalizeWindowsPath(path.relative(cwd, dir))\n const parts = sub.split('/')\n let created\n for (\n let p = parts.shift(), part = cwd;\n p && (part += '/' + p);\n p = parts.shift()\n ) {\n part = normalizeWindowsPath(path.resolve(part))\n\n try {\n fs.mkdirSync(part, mode)\n created = created || part\n } catch {\n const st = fs.lstatSync(part)\n if (st.isDirectory()) {\n continue\n } else if (unlink) {\n fs.unlinkSync(part)\n fs.mkdirSync(part, mode)\n created = created || part\n continue\n } else if (st.isSymbolicLink()) {\n return new SymlinkError(part, part + '/' + parts.join('/'))\n }\n }\n }\n\n return done(created)\n}\n", "export class CwdError extends Error {\n path: string\n code: string\n syscall = 'chdir' as const\n\n constructor(path: string, code: string) {\n super(`${code}: Cannot cd into '${path}'`)\n this.path = path\n this.code = code\n }\n\n get name() {\n return 'CwdError'\n }\n}\n", "export class SymlinkError extends Error {\n path: string\n symlink: string\n syscall = 'symlink' as const\n code = 'TAR_SYMLINK_ERROR' as const\n constructor(symlink: string, path: string) {\n super('TAR_SYMLINK_ERROR: Cannot extract through symbolic link')\n this.symlink = symlink\n this.path = path\n }\n get name() {\n return 'SymlinkError'\n }\n}\n", "// A path exclusive reservation system\n// reserve([list, of, paths], fn)\n// When the fn is first in line for all its paths, it\n// is called with a cb that clears the reservation.\n//\n// Used by async unpack to avoid clobbering paths in use,\n// while still allowing maximal safe parallelization.\n\nimport { join } from 'node:path'\nimport { normalizeUnicode } from './normalize-unicode.js'\nimport { stripTrailingSlashes } from './strip-trailing-slashes.js'\n\nconst platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform\nconst isWindows = platform === 'win32'\n\nexport type Reservation = {\n paths: string[]\n dirs: Set<string>\n}\n\nexport type Handler = (clear: () => void) => void\n\n// return a set of parent dirs for a given path\n// '/a/b/c/d' -> ['/', '/a', '/a/b', '/a/b/c', '/a/b/c/d']\nconst getDirs = (path: string) => {\n const dirs = path\n .split('/')\n .slice(0, -1)\n .reduce((set: string[], path) => {\n const s = set.at(-1)\n if (s !== undefined) {\n path = join(s, path)\n }\n set.push(path || '/')\n return set\n }, [])\n return dirs\n}\n\nexport class PathReservations {\n // path => [function or Set]\n // A Set object means a directory reservation\n // A fn is a direct reservation on that path\n #queues = new Map<string, (Handler | Set<Handler>)[]>()\n\n // fn => {paths:[path,...], dirs:[path, ...]}\n #reservations = new Map<Handler, Reservation>()\n\n // functions currently running\n #running = new Set<Handler>()\n\n reserve(paths: string[], fn: Handler) {\n paths =\n isWindows ?\n ['win32 parallelization disabled']\n : paths.map(p => {\n // don't need normPath, because we skip this entirely for windows\n return stripTrailingSlashes(join(normalizeUnicode(p)))\n })\n\n const dirs = new Set<string>(\n paths.map(path => getDirs(path)).reduce((a, b) => a.concat(b)),\n )\n this.#reservations.set(fn, { dirs, paths })\n for (const p of paths) {\n const q = this.#queues.get(p)\n if (!q) {\n this.#queues.set(p, [fn])\n } else {\n q.push(fn)\n }\n }\n for (const dir of dirs) {\n const q = this.#queues.get(dir)\n if (!q) {\n this.#queues.set(dir, [new Set([fn])])\n } else {\n const l = q.at(-1)\n if (l instanceof Set) {\n l.add(fn)\n } else {\n q.push(new Set([fn]))\n }\n }\n }\n return this.#run(fn)\n }\n\n // return the queues for each path the function cares about\n // fn => {paths, dirs}\n #getQueues(fn: Handler): {\n paths: Handler[][]\n dirs: (Handler | Set<Handler>)[][]\n } {\n const res = this.#reservations.get(fn)\n /* c8 ignore start */\n if (!res) {\n throw new Error('function does not have any path reservations')\n }\n /* c8 ignore stop */\n return {\n paths: res.paths.map((path: string) =>\n this.#queues.get(path),\n ) as Handler[][],\n dirs: [...res.dirs].map(path => this.#queues.get(path)) as (\n | Handler\n | Set<Handler>\n )[][],\n }\n }\n\n // check if fn is first in line for all its paths, and is\n // included in the first set for all its dir queues\n check(fn: Handler) {\n const { paths, dirs } = this.#getQueues(fn)\n return (\n paths.every(q => q && q[0] === fn) &&\n dirs.every(q => q && q[0] instanceof Set && q[0].has(fn))\n )\n }\n\n // run the function if it's first in line and not already running\n #run(fn: Handler) {\n if (this.#running.has(fn) || !this.check(fn)) {\n return false\n }\n this.#running.add(fn)\n fn(() => this.#clear(fn))\n return true\n }\n\n #clear(fn: Handler) {\n if (!this.#running.has(fn)) {\n return false\n }\n const res = this.#reservations.get(fn)\n /* c8 ignore start */\n if (!res) {\n throw new Error('invalid reservation')\n }\n /* c8 ignore stop */\n const { paths, dirs } = res\n\n const next = new Set<Handler>()\n for (const path of paths) {\n const q = this.#queues.get(path)\n /* c8 ignore start */\n if (!q || q?.[0] !== fn) {\n continue\n }\n /* c8 ignore stop */\n const q0 = q[1]\n if (!q0) {\n this.#queues.delete(path)\n continue\n }\n q.shift()\n if (typeof q0 === 'function') {\n next.add(q0)\n } else {\n for (const f of q0) {\n next.add(f)\n }\n }\n }\n\n for (const dir of dirs) {\n const q = this.#queues.get(dir)\n const q0 = q?.[0]\n /* c8 ignore next - type safety only */\n if (!q || !(q0 instanceof Set)) continue\n if (q0.size === 1 && q.length === 1) {\n this.#queues.delete(dir)\n continue\n } else if (q0.size === 1) {\n q.shift()\n // next one must be a function,\n // or else the Set would've been reused\n const n = q[0]\n if (typeof n === 'function') {\n next.add(n)\n }\n } else {\n q0.delete(fn)\n }\n }\n\n this.#running.delete(fn)\n next.forEach(fn => this.#run(fn))\n return true\n }\n}\n", "// warning: extremely hot code path.\n// This has been meticulously optimized for use\n// within npm install on large package trees.\n// Do not edit without careful benchmarking.\nconst normalizeCache: Record<string, string> = Object.create(null)\n\n// Limit the size of this. Very low-sophistication LRU cache\nconst MAX = 10000\nconst cache = new Set<string>()\nexport const normalizeUnicode = (s: string): string => {\n if (!cache.has(s)) {\n // shake out identical accents and ligatures\n normalizeCache[s] = s\n .normalize('NFD')\n .toLocaleLowerCase('en')\n .toLocaleUpperCase('en')\n } else {\n cache.delete(s)\n }\n cache.add(s)\n\n const ret = normalizeCache[s] as string\n\n let i = cache.size - MAX\n // only prune when we're 10% over the max\n if (i > MAX / 10) {\n for (const s of cache) {\n cache.delete(s)\n delete normalizeCache[s]\n if (--i <= 0) break\n }\n }\n\n return ret\n}\n", "// separate file so I stop getting nagged in vim about deprecated API.\nexport const umask = () => process.umask()\n", "// tar -r\nimport { WriteStream, WriteStreamSync } from '@isaacs/fs-minipass'\nimport type { Minipass } from 'minipass'\nimport fs from 'node:fs'\nimport path from 'node:path'\nimport { Header } from './header.js'\nimport { list } from './list.js'\nimport { makeCommand } from './make-command.js'\nimport type { TarOptionsFile, TarOptionsSyncFile } from './options.js'\nimport { isFile } from './options.js'\nimport { Pack, PackSync } from './pack.js'\n\n// starting at the head of the file, read a Header\n// If the checksum is invalid, that's our position to start writing\n// If it is, jump forward by the specified size (round up to 512)\n// and try again.\n// Write the new Pack stream starting there.\n\nconst replaceSync = (opt: TarOptionsSyncFile, files: string[]) => {\n const p = new PackSync(opt)\n\n let threw = true\n let fd\n let position\n\n try {\n try {\n fd = fs.openSync(opt.file, 'r+')\n } catch (er) {\n if ((er as NodeJS.ErrnoException)?.code === 'ENOENT') {\n fd = fs.openSync(opt.file, 'w+')\n } else {\n throw er\n }\n }\n\n const st = fs.fstatSync(fd)\n const headBuf = Buffer.alloc(512)\n\n POSITION: for (position = 0; position < st.size; position += 512) {\n for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) {\n bytes = fs.readSync(\n fd,\n headBuf,\n bufPos,\n headBuf.length - bufPos,\n position + bufPos,\n )\n\n if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) {\n throw new Error('cannot append to compressed archives')\n }\n\n if (!bytes) {\n break POSITION\n }\n }\n\n const h = new Header(headBuf)\n if (!h.cksumValid) {\n break\n }\n const entryBlockSize = 512 * Math.ceil((h.size || 0) / 512)\n if (position + entryBlockSize + 512 > st.size) {\n break\n }\n // the 512 for the header we just parsed will be added as well\n // also jump ahead all the blocks for the body\n position += entryBlockSize\n if (opt.mtimeCache && h.mtime) {\n opt.mtimeCache.set(String(h.path), h.mtime)\n }\n }\n threw = false\n\n streamSync(opt, p, position, fd, files)\n } finally {\n if (threw) {\n try {\n fs.closeSync(fd as number)\n } catch {}\n }\n }\n}\n\nconst streamSync = (\n opt: TarOptionsSyncFile,\n p: Pack,\n position: number,\n fd: number,\n files: string[],\n) => {\n const stream = new WriteStreamSync(opt.file, {\n fd: fd,\n start: position,\n })\n p.pipe(stream as unknown as Minipass.Writable)\n addFilesSync(p, files)\n}\n\nconst replaceAsync = (\n opt: TarOptionsFile,\n files: string[],\n): Promise<void> => {\n files = Array.from(files)\n const p = new Pack(opt)\n\n const getPos = (\n fd: number,\n size: number,\n cb_: (er?: null | Error, pos?: number) => void,\n ) => {\n const cb = (er?: Error | null, pos?: number) => {\n if (er) {\n fs.close(fd, _ => cb_(er))\n } else {\n cb_(null, pos)\n }\n }\n\n let position = 0\n if (size === 0) {\n return cb(null, 0)\n }\n\n let bufPos = 0\n const headBuf = Buffer.alloc(512)\n const onread = (er?: null | Error, bytes?: number): void => {\n if (er || bytes === undefined) {\n return cb(er)\n }\n bufPos += bytes\n if (bufPos < 512 && bytes) {\n return fs.read(\n fd,\n headBuf,\n bufPos,\n headBuf.length - bufPos,\n position + bufPos,\n onread,\n )\n }\n\n if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) {\n return cb(new Error('cannot append to compressed archives'))\n }\n\n // truncated header\n if (bufPos < 512) {\n return cb(null, position)\n }\n\n const h = new Header(headBuf)\n if (!h.cksumValid) {\n return cb(null, position)\n }\n\n /* c8 ignore next */\n const entryBlockSize = 512 * Math.ceil((h.size ?? 0) / 512)\n if (position + entryBlockSize + 512 > size) {\n return cb(null, position)\n }\n\n position += entryBlockSize + 512\n if (position >= size) {\n return cb(null, position)\n }\n\n if (opt.mtimeCache && h.mtime) {\n opt.mtimeCache.set(String(h.path), h.mtime)\n }\n bufPos = 0\n fs.read(fd, headBuf, 0, 512, position, onread)\n }\n fs.read(fd, headBuf, 0, 512, position, onread)\n }\n\n const promise = new Promise<void>((resolve, reject) => {\n p.on('error', reject)\n let flag = 'r+'\n const onopen = (er?: NodeJS.ErrnoException | null, fd?: number) => {\n if (er && er.code === 'ENOENT' && flag === 'r+') {\n flag = 'w+'\n return fs.open(opt.file, flag, onopen)\n }\n\n if (er || !fd) {\n return reject(er)\n }\n\n fs.fstat(fd, (er, st) => {\n if (er) {\n return fs.close(fd, () => reject(er))\n }\n\n getPos(fd, st.size, (er, position) => {\n if (er) {\n return reject(er)\n }\n const stream = new WriteStream(opt.file, {\n fd: fd,\n start: position,\n })\n p.pipe(stream as unknown as Minipass.Writable)\n stream.on('error', reject)\n stream.on('close', resolve)\n addFilesAsync(p, files)\n })\n })\n }\n fs.open(opt.file, flag, onopen)\n })\n\n return promise\n}\n\nconst addFilesSync = (p: Pack, files: string[]) => {\n files.forEach(file => {\n if (file.charAt(0) === '@') {\n list({\n file: path.resolve(p.cwd, file.slice(1)),\n sync: true,\n noResume: true,\n onReadEntry: entry => p.add(entry),\n })\n } else {\n p.add(file)\n }\n })\n p.end()\n}\n\nconst addFilesAsync = async (p: Pack, files: string[]): Promise<void> => {\n for (const file of files) {\n if (file.charAt(0) === '@') {\n await list({\n file: path.resolve(String(p.cwd), file.slice(1)),\n noResume: true,\n onReadEntry: entry => p.add(entry),\n })\n } else {\n p.add(file)\n }\n }\n p.end()\n}\n\nexport const replace = makeCommand(\n replaceSync,\n replaceAsync,\n /* c8 ignore start */\n (): never => {\n throw new TypeError('file is required')\n },\n (): never => {\n throw new TypeError('file is required')\n },\n /* c8 ignore stop */\n (opt, entries) => {\n if (!isFile(opt)) {\n throw new TypeError('file is required')\n }\n\n if (\n opt.gzip ||\n opt.brotli ||\n opt.zstd ||\n opt.file.endsWith('.br') ||\n opt.file.endsWith('.tbr')\n ) {\n throw new TypeError('cannot append to compressed archives')\n }\n\n if (!entries?.length) {\n throw new TypeError('no paths specified to add/replace')\n }\n },\n)\n", "// tar -u\n\nimport { makeCommand } from './make-command.js'\nimport { type TarOptionsWithAliases } from './options.js'\n\nimport { replace as r } from './replace.js'\n\n// just call tar.r with the filter and mtimeCache\nexport const update = makeCommand(\n r.syncFile,\n r.asyncFile,\n r.syncNoFile,\n r.asyncNoFile,\n (opt, entries = []) => {\n r.validate?.(opt, entries)\n mtimeFilter(opt)\n },\n)\n\nconst mtimeFilter = (opt: TarOptionsWithAliases) => {\n const filter = opt.filter\n\n if (!opt.mtimeCache) {\n opt.mtimeCache = new Map()\n }\n\n opt.filter =\n filter ?\n (path, stat) =>\n filter(path, stat) &&\n !(\n /* c8 ignore start */\n (\n (opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >\n (stat.mtime ?? 0)\n )\n /* c8 ignore stop */\n )\n : (path, stat) =>\n !(\n /* c8 ignore start */\n (\n (opt.mtimeCache?.get(path) ?? stat.mtime ?? 0) >\n (stat.mtime ?? 0)\n )\n /* c8 ignore stop */\n )\n}\n"],
5
- "mappings": "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",
6
- "names": ["EE", "fs", "EventEmitter", "Stream", "StringDecoder", "proc", "isStream", "Minipass", "isReadable", "isWritable", "EOF", "MAYBE_EMIT_END", "EMITTED_END", "EMITTING_END", "EMITTED_ERROR", "CLOSED", "READ", "FLUSH", "FLUSHCHUNK", "ENCODING", "DECODER", "FLOWING", "PAUSED", "RESUME", "BUFFER", "PIPES", "BUFFERLENGTH", "BUFFERPUSH", "BUFFERSHIFT", "OBJECTMODE", "DESTROYED", "ERROR", "EMITDATA", "EMITEND", "EMITEND2", "ASYNC", "ABORT", "ABORTED", "SIGNAL", "DATALISTENERS", "DISCARDED", "defer", "fn", "nodefer", "isEndish", "ev", "isArrayBufferLike", "b", "isArrayBufferView", "Pipe", "src", "dest", "opts", "_er", "PipeProxyErrors", "er", "isObjectModeOptions", "o", "isEncodingOptions", "args", "options", "signal", "_enc", "_om", "a", "_", "chunk", "encoding", "cb", "n", "ret", "c", "noDrain", "ended", "p", "handler", "h", "data", "buf", "resolve", "reject", "stopped", "stop", "res", "onerr", "ondata", "onend", "ondestroy", "value", "rej", "next", "wc", "writev", "fs", "_autoClose", "_close", "_ended", "_fd", "_finished", "_flags", "_flush", "_handleChunk", "_makeBuf", "_mode", "_needDrain", "_onerror", "_onopen", "_onread", "_onwrite", "_open", "_path", "_pos", "_queue", "_read", "_readSize", "_reading", "_remain", "_size", "_write", "_writing", "_defaultFlag", "_errored", "ReadStream", "Minipass", "path", "opt", "er", "fd", "buf", "br", "b", "ret", "ev", "args", "ReadStreamSync", "threw", "WriteStream", "EE", "defaultFlag", "enc", "bw", "iovec", "WriteStreamSync", "path", "fs", "dirname", "parse", "argmap", "isSyncFile", "o", "isAsyncFile", "isSyncNoFile", "isAsyncNoFile", "isFile", "o", "dealiasKey", "k", "d", "argmap", "dealias", "opt", "result", "key", "v", "makeCommand", "syncFile", "asyncFile", "syncNoFile", "asyncNoFile", "validate", "opt_", "entries", "cb", "opt", "dealias", "isSyncFile", "isAsyncFile", "p", "isSyncNoFile", "isAsyncNoFile", "EE", "assert", "Buffer", "realZlib", "realZlib", "realZlibConstants", "constants", "OriginalBufferConcat", "Buffer", "desc", "noop", "args", "passthroughBufferConcat", "makeNoOp", "_", "_superWrite", "ZlibError", "err", "origin", "_flushFlag", "ZlibBase", "Minipass", "#sawError", "#ended", "#flushFlag", "#finishFlushFlag", "#fullFlushFlag", "#handle", "#onError", "opts", "mode", "realZlib", "er", "assert", "flushFlag", "chunk", "encoding", "cb", "data", "nativeHandle", "originalNativeClose", "originalClose", "result", "writeReturn", "r", "i", "Zlib", "#level", "#strategy", "constants", "level", "strategy", "origFlush", "Gzip", "Zlib", "#portable", "opts", "_superWrite", "data", "Unzip", "Zlib", "opts", "Brotli", "ZlibBase", "mode", "constants", "BrotliCompress", "BrotliDecompress", "Zstd", "ZstdCompress", "ZstdDecompress", "pathModule", "encode", "num", "buf", "encodeNegative", "encodePositive", "i", "flipped", "byte", "onesComp", "twosComp", "parse", "pre", "value", "pos", "twos", "len", "sum", "f", "types_exports", "__export", "code", "isCode", "isName", "name", "normalFsTypes", "c", "kv", "Header", "#type", "data", "off", "ex", "gex", "#slurp", "buf", "t", "decString", "isNormalFS", "normalFsTypes", "exForFields", "gexForFields", "decNumber", "decDate", "isCode", "prefix", "sum", "i", "k", "v", "prefixSize", "split", "splitPrefix", "path", "encString", "encNumber", "encDate", "name", "type", "c", "code", "p", "pp", "ret", "root", "pathModule", "size", "numToDate", "num", "parse", "decSmallNumber", "nanUndef", "value", "MAXNUM", "encode", "encSmallNumber", "octalString", "padOctal", "str", "date", "NULLS", "basename", "Pax", "_Pax", "obj", "global", "body", "bodyLen", "bufLen", "buf", "i", "Header", "basename", "field", "r", "v", "s", "byteLen", "digits", "str", "ex", "g", "merge", "parseKV", "a", "b", "parseKVLine", "set", "line", "n", "kv", "k", "platform", "normalizeWindowsPath", "p", "ReadEntry", "Minipass", "header", "ex", "gex", "normalizeWindowsPath", "#slurp", "data", "writeLen", "r", "br", "k", "v", "warnMethod", "self", "code", "message", "data", "maxMetaEntrySize", "gzipHeader", "zstdHeader", "ZIP_HEADER_LEN", "STATE", "WRITEENTRY", "READENTRY", "NEXTENTRY", "PROCESSENTRY", "EX", "GEX", "META", "EMITMETA", "BUFFER", "QUEUE", "ENDED", "EMITTEDEND", "EMIT", "UNZIP", "CONSUMECHUNK", "CONSUMECHUNKSUB", "CONSUMEBODY", "CONSUMEMETA", "CONSUMEHEADER", "CONSUMING", "BUFFERCONCAT", "MAYBEEND", "WRITING", "ABORTED", "DONE", "SAW_VALID_ENTRY", "SAW_NULL_BLOCK", "SAW_EOF", "CLOSESTREAM", "noop", "Parser", "EE", "opt", "isTBR", "isTZST", "code", "message", "data", "warnMethod", "chunk", "position", "header", "Header", "er", "type", "entry", "ReadEntry", "onend", "c", "go", "ev", "args", "re", "br", "ret", "extra", "Pax", "ex", "error", "encoding", "cb", "i", "isZstd", "maybeBrotli", "ended", "Unzip", "ZstdDecompress", "BrotliDecompress", "have", "length", "stripTrailingSlashes", "str", "i", "slashesStart", "onReadEntryFunction", "opt", "onReadEntry", "filesFilter", "files", "map", "f", "stripTrailingSlashes", "filter", "mapHas", "file", "r", "root", "parse", "ret", "m", "dirname", "entry", "listFileSync", "p", "Parser", "fd", "fs", "stat", "readSize", "buf", "read", "pos", "bytesRead", "listFile", "_files", "resolve", "reject", "er", "stream", "ReadStream", "list", "makeCommand", "fs", "fs", "path", "modeFix", "mode", "isDir", "portable", "win32", "isAbsolute", "parse", "stripAbsolutePath", "path", "r", "parsed", "root", "raw", "win", "char", "toWin", "i", "toRaw", "encode", "s", "c", "decode", "prefixPath", "path", "prefix", "normalizeWindowsPath", "stripTrailingSlashes", "maxReadSize", "PROCESS", "FILE", "DIRECTORY", "SYMLINK", "HARDLINK", "HEADER", "READ", "LSTAT", "ONLSTAT", "ONREAD", "ONREADLINK", "OPENFILE", "ONOPENFILE", "CLOSE", "MODE", "AWAITDRAIN", "ONDRAIN", "PREFIX", "WriteEntry", "Minipass", "#hadError", "p", "opt_", "opt", "dealias", "pathWarn", "root", "stripped", "stripAbsolutePath", "decode", "cs", "code", "message", "data", "warnMethod", "ev", "fs", "er", "stat", "getType", "mode", "modeFix", "Header", "Pax", "block", "linkpath", "linkKey", "fd", "bufLen", "buf", "offset", "length", "pos", "bytesRead", "cb", "i", "chunk", "encoding", "WriteEntrySync", "threw", "WriteEntryTar", "readEntry", "type", "b", "writeLen", "Yallist", "_Yallist", "list", "item", "walker", "node", "next", "prev", "head", "tail", "args", "i", "l", "push", "unshift", "res", "t", "h", "fn", "thisp", "n", "initial", "acc", "arr", "from", "to", "ret", "start", "deleteCount", "nodes", "v", "insertAfter", "p", "self", "value", "inserted", "Node", "path", "PackJob", "path", "absolute", "EOF", "ONSTAT", "ENDED", "QUEUE", "PENDINGLINKS", "CURRENT", "PROCESS", "PROCESSING", "PROCESSJOB", "JOBS", "JOBDONE", "ADDFSENTRY", "ADDTARENTRY", "STAT", "READDIR", "ONREADDIR", "PIPE", "ENTRY", "ENTRYOPT", "WRITEENTRYCLASS", "WRITE", "ONDRAIN", "Pack", "Minipass", "opt", "normalizeWindowsPath", "WriteEntry", "Gzip", "BrotliCompress", "ZstdCompress", "zip", "chunk", "Yallist", "encoding", "cb", "p", "job", "WriteEntryTar", "stat", "fs", "er", "key", "pending", "entries", "w", "sc", "rc", "code", "msg", "data", "entry", "base", "source", "message", "warnMethod", "PackSync", "WriteEntrySync", "createFileSync", "opt", "files", "p", "PackSync", "stream", "WriteStreamSync", "addFilesSync", "createFile", "Pack", "WriteStream", "promise", "res", "rej", "addFilesAsync", "er", "file", "list", "path", "entry", "createSync", "createAsync", "create", "makeCommand", "_opt", "fs", "assert", "randomBytes", "fs", "path", "fs", "platform", "isWindows", "O_CREAT", "O_NOFOLLOW", "O_TRUNC", "O_WRONLY", "UV_FS_O_FILEMAP", "fMapEnabled", "fMapLimit", "fMapFlag", "noFollowFlag", "getWriteFlag", "size", "fs", "path", "lchownSync", "uid", "gid", "er", "chown", "cpath", "cb", "chownrKid", "p", "child", "chownr", "children", "len", "errState", "then", "chownrKidSync", "chownrSync", "e", "fs", "fsp", "path", "CwdError", "path", "code", "SymlinkError", "symlink", "path", "checkCwd", "dir", "cb", "fs", "er", "st", "CwdError", "mkdir", "opt", "normalizeWindowsPath", "umask", "mode", "needChmod", "uid", "gid", "doChown", "preserve", "unlink", "cwd", "done", "created", "chownr", "fsp", "made", "parts", "path", "mkdir_", "base", "p", "part", "onmkdir", "statEr", "SymlinkError", "checkCwdSync", "ok", "code", "mkdirSync", "chownrSync", "join", "normalizeCache", "MAX", "cache", "normalizeUnicode", "ret", "i", "s", "platform", "isWindows", "getDirs", "path", "set", "s", "join", "PathReservations", "#queues", "#reservations", "#running", "paths", "fn", "p", "stripTrailingSlashes", "normalizeUnicode", "dirs", "a", "b", "q", "dir", "l", "#run", "#getQueues", "res", "#clear", "next", "q0", "f", "n", "umask", "ONENTRY", "CHECKFS", "CHECKFS2", "ISREUSABLE", "MAKEFS", "FILE", "DIRECTORY", "LINK", "SYMLINK", "HARDLINK", "ENSURE_NO_SYMLINK", "UNSUPPORTED", "CHECKPATH", "STRIPABSOLUTEPATH", "MKDIR", "ONERROR", "PENDING", "PEND", "UNPEND", "ENDED", "MAYBECLOSE", "SKIP", "DOCHOWN", "UID", "GID", "CHECKED_CWD", "platform", "isWindows", "DEFAULT_MAX_DEPTH", "unlinkFile", "path", "cb", "fs", "name", "randomBytes", "er", "unlinkFileSync", "uint32", "a", "b", "c", "Unpack", "Parser", "PathReservations", "opt", "normalizeWindowsPath", "umask", "entry", "code", "msg", "data", "field", "p", "type", "root", "stripped", "stripAbsolutePath", "parts", "entryDir", "resolved", "linkparts", "aRoot", "encode", "pRoot", "assert", "dir", "mode", "mkdir", "fullyDone", "stream", "WriteStream", "getWriteFlag", "actions", "done", "abs", "fd", "atime", "mtime", "er2", "uid", "gid", "tx", "linkpath", "cwd", "onError", "t", "st", "SymlinkError", "paths", "checkCwd", "start", "parent", "afterMakeParent", "lstatEr", "needChmod", "afterChmod", "link", "callSync", "fn", "UnpackSync", "mkParent", "oner", "closeError", "e", "chunk", "futimeser", "fchowner", "mkdirSync", "_entry", "linkSync", "extractFileSync", "opt", "u", "UnpackSync", "file", "stat", "fs", "readSize", "ReadStreamSync", "extractFile", "_", "Unpack", "resolve", "reject", "er", "stream", "ReadStream", "extract", "makeCommand", "files", "filesFilter", "fs", "path", "replaceSync", "opt", "files", "p", "PackSync", "threw", "fd", "position", "fs", "er", "st", "headBuf", "POSITION", "bufPos", "bytes", "Header", "entryBlockSize", "streamSync", "stream", "WriteStreamSync", "addFilesSync", "replaceAsync", "Pack", "getPos", "size", "cb_", "cb", "pos", "_", "onread", "h", "resolve", "reject", "flag", "onopen", "WriteStream", "addFilesAsync", "file", "list", "path", "entry", "replace", "makeCommand", "entries", "isFile", "update", "makeCommand", "replace", "opt", "entries", "mtimeFilter", "filter", "path", "stat"]
7
- }