step-node-agent 3.16.3 → 3.18.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 (511) hide show
  1. package/node_modules/asn1/Jenkinsfile +65 -0
  2. package/node_modules/asn1/package.json +5 -5
  3. package/node_modules/body-parser/HISTORY.md +15 -0
  4. package/node_modules/body-parser/README.md +25 -12
  5. package/node_modules/body-parser/package.json +23 -23
  6. package/node_modules/bytes/History.md +5 -0
  7. package/node_modules/bytes/Readme.md +42 -16
  8. package/node_modules/bytes/index.js +5 -1
  9. package/node_modules/bytes/package.json +9 -8
  10. package/node_modules/content-disposition/HISTORY.md +5 -0
  11. package/node_modules/content-disposition/README.md +3 -9
  12. package/node_modules/content-disposition/index.js +1 -1
  13. package/node_modules/content-disposition/package.json +16 -16
  14. package/node_modules/cookie/HISTORY.md +5 -0
  15. package/node_modules/cookie/README.md +4 -0
  16. package/node_modules/cookie/index.js +5 -1
  17. package/node_modules/cookie/package.json +11 -11
  18. package/node_modules/express/History.md +33 -0
  19. package/node_modules/express/Readme.md +8 -5
  20. package/node_modules/express/lib/application.js +1 -1
  21. package/node_modules/express/lib/request.js +1 -1
  22. package/node_modules/express/lib/response.js +16 -11
  23. package/node_modules/express/lib/router/index.js +6 -0
  24. package/node_modules/express/lib/utils.js +2 -6
  25. package/node_modules/express/package.json +26 -25
  26. package/node_modules/glob/README.md +3 -0
  27. package/node_modules/glob/common.js +2 -0
  28. package/node_modules/glob/glob.js +4 -5
  29. package/node_modules/glob/package.json +5 -4
  30. package/node_modules/glob/sync.js +4 -5
  31. package/node_modules/graceful-fs/README.md +11 -1
  32. package/node_modules/graceful-fs/graceful-fs.js +105 -49
  33. package/node_modules/graceful-fs/package.json +4 -4
  34. package/node_modules/graceful-fs/polyfills.js +4 -2
  35. package/node_modules/http-errors/HISTORY.md +16 -0
  36. package/node_modules/http-errors/README.md +12 -6
  37. package/node_modules/http-errors/index.js +35 -2
  38. package/node_modules/http-errors/package.json +19 -19
  39. package/node_modules/inherits/inherits.js +2 -0
  40. package/node_modules/inherits/inherits_browser.js +18 -14
  41. package/node_modules/inherits/package.json +6 -6
  42. package/node_modules/is-callable/.editorconfig +5 -0
  43. package/node_modules/is-callable/.nycrc +0 -4
  44. package/node_modules/is-callable/CHANGELOG.md +14 -0
  45. package/node_modules/is-callable/README.md +14 -15
  46. package/node_modules/is-callable/index.js +1 -1
  47. package/node_modules/is-callable/package.json +20 -28
  48. package/node_modules/is-callable/test/index.js +22 -50
  49. package/node_modules/is-core-module/.eslintrc +0 -1
  50. package/node_modules/is-core-module/CHANGELOG.md +37 -0
  51. package/node_modules/is-core-module/core.json +65 -61
  52. package/node_modules/is-core-module/index.js +1 -1
  53. package/node_modules/is-core-module/package.json +11 -10
  54. package/node_modules/is-core-module/test/index.js +23 -1
  55. package/node_modules/json-schema/LICENSE +195 -0
  56. package/node_modules/json-schema/README.md +2 -4
  57. package/node_modules/json-schema/lib/links.js +1 -2
  58. package/node_modules/json-schema/lib/validate.js +7 -9
  59. package/node_modules/json-schema/package.json +8 -14
  60. package/node_modules/jsprim/CHANGES.md +4 -0
  61. package/node_modules/jsprim/package.json +8 -8
  62. package/node_modules/mime-db/HISTORY.md +19 -0
  63. package/node_modules/mime-db/db.json +93 -1
  64. package/node_modules/mime-db/package.json +10 -10
  65. package/node_modules/mime-types/HISTORY.md +20 -3
  66. package/node_modules/mime-types/package.json +10 -10
  67. package/node_modules/npm/CHANGELOG.md +30 -0
  68. package/node_modules/npm/docs/public/cli-commands/npm/index.html +3 -3
  69. package/node_modules/npm/docs/public/cli-commands/npm-access/index.html +2 -2
  70. package/node_modules/npm/docs/public/cli-commands/npm-adduser/index.html +2 -2
  71. package/node_modules/npm/docs/public/cli-commands/npm-audit/index.html +2 -2
  72. package/node_modules/npm/docs/public/cli-commands/npm-bin/index.html +2 -2
  73. package/node_modules/npm/docs/public/cli-commands/npm-bugs/index.html +2 -2
  74. package/node_modules/npm/docs/public/cli-commands/npm-build/index.html +2 -2
  75. package/node_modules/npm/docs/public/cli-commands/npm-bundle/index.html +2 -2
  76. package/node_modules/npm/docs/public/cli-commands/npm-cache/index.html +2 -2
  77. package/node_modules/npm/docs/public/cli-commands/npm-ci/index.html +2 -2
  78. package/node_modules/npm/docs/public/cli-commands/npm-completion/index.html +2 -2
  79. package/node_modules/npm/docs/public/cli-commands/npm-config/index.html +2 -2
  80. package/node_modules/npm/docs/public/cli-commands/npm-dedupe/index.html +2 -2
  81. package/node_modules/npm/docs/public/cli-commands/npm-deprecate/index.html +2 -2
  82. package/node_modules/npm/docs/public/cli-commands/npm-dist-tag/index.html +2 -2
  83. package/node_modules/npm/docs/public/cli-commands/npm-docs/index.html +2 -2
  84. package/node_modules/npm/docs/public/cli-commands/npm-doctor/index.html +2 -2
  85. package/node_modules/npm/docs/public/cli-commands/npm-edit/index.html +2 -2
  86. package/node_modules/npm/docs/public/cli-commands/npm-explore/index.html +2 -2
  87. package/node_modules/npm/docs/public/cli-commands/npm-fund/index.html +2 -2
  88. package/node_modules/npm/docs/public/cli-commands/npm-help/index.html +2 -2
  89. package/node_modules/npm/docs/public/cli-commands/npm-help-search/index.html +2 -2
  90. package/node_modules/npm/docs/public/cli-commands/npm-hook/index.html +2 -2
  91. package/node_modules/npm/docs/public/cli-commands/npm-init/index.html +2 -2
  92. package/node_modules/npm/docs/public/cli-commands/npm-install/index.html +2 -2
  93. package/node_modules/npm/docs/public/cli-commands/npm-install-ci-test/index.html +2 -2
  94. package/node_modules/npm/docs/public/cli-commands/npm-install-test/index.html +2 -2
  95. package/node_modules/npm/docs/public/cli-commands/npm-link/index.html +2 -2
  96. package/node_modules/npm/docs/public/cli-commands/npm-logout/index.html +2 -2
  97. package/node_modules/npm/docs/public/cli-commands/npm-ls/index.html +3 -3
  98. package/node_modules/npm/docs/public/cli-commands/npm-org/index.html +2 -2
  99. package/node_modules/npm/docs/public/cli-commands/npm-outdated/index.html +2 -2
  100. package/node_modules/npm/docs/public/cli-commands/npm-owner/index.html +2 -2
  101. package/node_modules/npm/docs/public/cli-commands/npm-pack/index.html +2 -2
  102. package/node_modules/npm/docs/public/cli-commands/npm-ping/index.html +2 -2
  103. package/node_modules/npm/docs/public/cli-commands/npm-prefix/index.html +2 -2
  104. package/node_modules/npm/docs/public/cli-commands/npm-profile/index.html +2 -2
  105. package/node_modules/npm/docs/public/cli-commands/npm-prune/index.html +2 -2
  106. package/node_modules/npm/docs/public/cli-commands/npm-publish/index.html +2 -2
  107. package/node_modules/npm/docs/public/cli-commands/npm-rebuild/index.html +2 -2
  108. package/node_modules/npm/docs/public/cli-commands/npm-repo/index.html +2 -2
  109. package/node_modules/npm/docs/public/cli-commands/npm-restart/index.html +2 -2
  110. package/node_modules/npm/docs/public/cli-commands/npm-root/index.html +2 -2
  111. package/node_modules/npm/docs/public/cli-commands/npm-run-script/index.html +2 -2
  112. package/node_modules/npm/docs/public/cli-commands/npm-search/index.html +2 -2
  113. package/node_modules/npm/docs/public/cli-commands/npm-shrinkwrap/index.html +2 -2
  114. package/node_modules/npm/docs/public/cli-commands/npm-star/index.html +2 -2
  115. package/node_modules/npm/docs/public/cli-commands/npm-stars/index.html +2 -2
  116. package/node_modules/npm/docs/public/cli-commands/npm-start/index.html +2 -2
  117. package/node_modules/npm/docs/public/cli-commands/npm-stop/index.html +2 -2
  118. package/node_modules/npm/docs/public/cli-commands/npm-team/index.html +2 -2
  119. package/node_modules/npm/docs/public/cli-commands/npm-test/index.html +2 -2
  120. package/node_modules/npm/docs/public/cli-commands/npm-token/index.html +2 -2
  121. package/node_modules/npm/docs/public/cli-commands/npm-uninstall/index.html +2 -2
  122. package/node_modules/npm/docs/public/cli-commands/npm-unpublish/index.html +2 -2
  123. package/node_modules/npm/docs/public/cli-commands/npm-update/index.html +2 -2
  124. package/node_modules/npm/docs/public/cli-commands/npm-version/index.html +2 -2
  125. package/node_modules/npm/docs/public/cli-commands/npm-view/index.html +2 -2
  126. package/node_modules/npm/docs/public/cli-commands/npm-whoami/index.html +2 -2
  127. package/node_modules/npm/docs/public/configuring-npm/folders/index.html +2 -2
  128. package/node_modules/npm/docs/public/configuring-npm/install/index.html +2 -2
  129. package/node_modules/npm/docs/public/configuring-npm/npmrc/index.html +2 -2
  130. package/node_modules/npm/docs/public/configuring-npm/package-json/index.html +2 -2
  131. package/node_modules/npm/docs/public/configuring-npm/package-lock-json/index.html +2 -2
  132. package/node_modules/npm/docs/public/configuring-npm/package-locks/index.html +2 -2
  133. package/node_modules/npm/docs/public/configuring-npm/shrinkwrap-json/index.html +2 -2
  134. package/node_modules/npm/docs/public/index.html +1 -1
  135. package/node_modules/npm/docs/public/using-npm/config/index.html +2 -2
  136. package/node_modules/npm/docs/public/using-npm/developers/index.html +2 -2
  137. package/node_modules/npm/docs/public/using-npm/disputes/index.html +2 -2
  138. package/node_modules/npm/docs/public/using-npm/orgs/index.html +2 -2
  139. package/node_modules/npm/docs/public/using-npm/registry/index.html +2 -2
  140. package/node_modules/npm/docs/public/using-npm/removal/index.html +2 -2
  141. package/node_modules/npm/docs/public/using-npm/scope/index.html +2 -2
  142. package/node_modules/npm/docs/public/using-npm/scripts/index.html +2 -2
  143. package/node_modules/npm/docs/public/using-npm/semver/index.html +2 -2
  144. package/node_modules/npm/lib/auth/legacy.js +1 -1
  145. package/node_modules/npm/lib/profile.js +2 -2
  146. package/node_modules/npm/man/man1/npm-README.1 +1 -1
  147. package/node_modules/npm/man/man1/npm-access.1 +1 -1
  148. package/node_modules/npm/man/man1/npm-adduser.1 +1 -1
  149. package/node_modules/npm/man/man1/npm-audit.1 +1 -1
  150. package/node_modules/npm/man/man1/npm-bin.1 +1 -1
  151. package/node_modules/npm/man/man1/npm-bugs.1 +1 -1
  152. package/node_modules/npm/man/man1/npm-build.1 +1 -1
  153. package/node_modules/npm/man/man1/npm-bundle.1 +1 -1
  154. package/node_modules/npm/man/man1/npm-cache.1 +1 -1
  155. package/node_modules/npm/man/man1/npm-ci.1 +1 -1
  156. package/node_modules/npm/man/man1/npm-completion.1 +1 -1
  157. package/node_modules/npm/man/man1/npm-config.1 +1 -1
  158. package/node_modules/npm/man/man1/npm-dedupe.1 +1 -1
  159. package/node_modules/npm/man/man1/npm-deprecate.1 +1 -1
  160. package/node_modules/npm/man/man1/npm-dist-tag.1 +1 -1
  161. package/node_modules/npm/man/man1/npm-docs.1 +1 -1
  162. package/node_modules/npm/man/man1/npm-doctor.1 +1 -1
  163. package/node_modules/npm/man/man1/npm-edit.1 +1 -1
  164. package/node_modules/npm/man/man1/npm-explore.1 +1 -1
  165. package/node_modules/npm/man/man1/npm-fund.1 +1 -1
  166. package/node_modules/npm/man/man1/npm-help-search.1 +1 -1
  167. package/node_modules/npm/man/man1/npm-help.1 +1 -1
  168. package/node_modules/npm/man/man1/npm-hook.1 +1 -1
  169. package/node_modules/npm/man/man1/npm-init.1 +1 -1
  170. package/node_modules/npm/man/man1/npm-install-ci-test.1 +1 -1
  171. package/node_modules/npm/man/man1/npm-install-test.1 +1 -1
  172. package/node_modules/npm/man/man1/npm-install.1 +1 -1
  173. package/node_modules/npm/man/man1/npm-link.1 +1 -1
  174. package/node_modules/npm/man/man1/npm-logout.1 +1 -1
  175. package/node_modules/npm/man/man1/npm-ls.1 +2 -2
  176. package/node_modules/npm/man/man1/npm-org.1 +1 -1
  177. package/node_modules/npm/man/man1/npm-outdated.1 +1 -1
  178. package/node_modules/npm/man/man1/npm-owner.1 +1 -1
  179. package/node_modules/npm/man/man1/npm-pack.1 +1 -1
  180. package/node_modules/npm/man/man1/npm-ping.1 +1 -1
  181. package/node_modules/npm/man/man1/npm-prefix.1 +1 -1
  182. package/node_modules/npm/man/man1/npm-profile.1 +1 -1
  183. package/node_modules/npm/man/man1/npm-prune.1 +1 -1
  184. package/node_modules/npm/man/man1/npm-publish.1 +1 -1
  185. package/node_modules/npm/man/man1/npm-rebuild.1 +1 -1
  186. package/node_modules/npm/man/man1/npm-repo.1 +1 -1
  187. package/node_modules/npm/man/man1/npm-restart.1 +1 -1
  188. package/node_modules/npm/man/man1/npm-root.1 +1 -1
  189. package/node_modules/npm/man/man1/npm-run-script.1 +1 -1
  190. package/node_modules/npm/man/man1/npm-search.1 +1 -1
  191. package/node_modules/npm/man/man1/npm-shrinkwrap.1 +1 -1
  192. package/node_modules/npm/man/man1/npm-star.1 +1 -1
  193. package/node_modules/npm/man/man1/npm-stars.1 +1 -1
  194. package/node_modules/npm/man/man1/npm-start.1 +1 -1
  195. package/node_modules/npm/man/man1/npm-stop.1 +1 -1
  196. package/node_modules/npm/man/man1/npm-team.1 +1 -1
  197. package/node_modules/npm/man/man1/npm-test.1 +1 -1
  198. package/node_modules/npm/man/man1/npm-token.1 +1 -1
  199. package/node_modules/npm/man/man1/npm-uninstall.1 +1 -1
  200. package/node_modules/npm/man/man1/npm-unpublish.1 +1 -1
  201. package/node_modules/npm/man/man1/npm-update.1 +1 -1
  202. package/node_modules/npm/man/man1/npm-version.1 +1 -1
  203. package/node_modules/npm/man/man1/npm-view.1 +1 -1
  204. package/node_modules/npm/man/man1/npm-whoami.1 +1 -1
  205. package/node_modules/npm/man/man1/npm.1 +2 -2
  206. package/node_modules/npm/man/man5/folders.5 +1 -1
  207. package/node_modules/npm/man/man5/install.5 +1 -1
  208. package/node_modules/npm/man/man5/npmrc.5 +1 -1
  209. package/node_modules/npm/man/man5/package-json.5 +1 -1
  210. package/node_modules/npm/man/man5/package-lock-json.5 +1 -1
  211. package/node_modules/npm/man/man5/package-locks.5 +1 -1
  212. package/node_modules/npm/man/man5/shrinkwrap-json.5 +1 -1
  213. package/node_modules/npm/man/man7/config.7 +1 -1
  214. package/node_modules/npm/man/man7/developers.7 +1 -1
  215. package/node_modules/npm/man/man7/disputes.7 +1 -1
  216. package/node_modules/npm/man/man7/orgs.7 +1 -1
  217. package/node_modules/npm/man/man7/registry.7 +1 -1
  218. package/node_modules/npm/man/man7/removal.7 +1 -1
  219. package/node_modules/npm/man/man7/scope.7 +1 -1
  220. package/node_modules/npm/man/man7/scripts.7 +1 -1
  221. package/node_modules/npm/man/man7/semver.7 +1 -1
  222. package/node_modules/npm/node_modules/json-schema/LICENSE +195 -0
  223. package/node_modules/npm/node_modules/json-schema/README.md +2 -4
  224. package/node_modules/npm/node_modules/json-schema/lib/links.js +1 -2
  225. package/node_modules/npm/node_modules/json-schema/lib/validate.js +7 -9
  226. package/node_modules/npm/node_modules/json-schema/package.json +16 -22
  227. package/node_modules/npm/node_modules/jsprim/CHANGES.md +4 -0
  228. package/node_modules/npm/node_modules/jsprim/CONTRIBUTING.md +19 -0
  229. package/node_modules/npm/node_modules/jsprim/package.json +16 -16
  230. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.pyc +0 -0
  231. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.pyc +0 -0
  232. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.pyc +0 -0
  233. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/common.pyc +0 -0
  234. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.pyc +0 -0
  235. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.pyc +0 -0
  236. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.pyc +0 -0
  237. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.pyc +0 -0
  238. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/input.pyc +0 -0
  239. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.pyc +0 -0
  240. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.pyc +0 -0
  241. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.pyc +0 -0
  242. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.pyc +0 -0
  243. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.pyc +0 -0
  244. package/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.pyc +0 -0
  245. package/node_modules/npm/node_modules/path-parse/index.js +17 -35
  246. package/node_modules/npm/node_modules/path-parse/package.json +14 -17
  247. package/node_modules/npm/node_modules/tar/lib/extract.js +4 -3
  248. package/node_modules/npm/node_modules/tar/lib/list.js +4 -3
  249. package/node_modules/npm/node_modules/tar/lib/mkdir.js +55 -48
  250. package/node_modules/npm/node_modules/tar/lib/normalize-windows-path.js +8 -0
  251. package/node_modules/npm/node_modules/tar/lib/pack.js +8 -18
  252. package/node_modules/npm/node_modules/tar/lib/path-reservations.js +149 -0
  253. package/node_modules/npm/node_modules/tar/lib/read-entry.js +4 -3
  254. package/node_modules/npm/node_modules/tar/lib/replace.js +2 -1
  255. package/node_modules/npm/node_modules/tar/lib/strip-absolute-path.js +24 -0
  256. package/node_modules/npm/node_modules/tar/lib/strip-trailing-slashes.js +24 -0
  257. package/node_modules/npm/node_modules/tar/lib/unpack.js +321 -96
  258. package/node_modules/npm/node_modules/tar/lib/write-entry.js +178 -82
  259. package/node_modules/npm/node_modules/tar/node_modules/safe-buffer/LICENSE +21 -0
  260. package/node_modules/npm/node_modules/tar/node_modules/safe-buffer/README.md +584 -0
  261. package/node_modules/npm/node_modules/tar/node_modules/safe-buffer/index.d.ts +187 -0
  262. package/node_modules/npm/node_modules/tar/node_modules/safe-buffer/index.js +65 -0
  263. package/node_modules/npm/node_modules/tar/node_modules/safe-buffer/package.json +77 -0
  264. package/node_modules/npm/node_modules/tar/node_modules/yallist/LICENSE +15 -0
  265. package/node_modules/npm/node_modules/tar/node_modules/yallist/README.md +204 -0
  266. package/node_modules/npm/node_modules/tar/node_modules/yallist/iterator.js +8 -0
  267. package/node_modules/npm/node_modules/tar/node_modules/yallist/package.json +63 -0
  268. package/node_modules/npm/node_modules/tar/node_modules/yallist/yallist.js +426 -0
  269. package/node_modules/npm/node_modules/tar/package.json +29 -26
  270. package/node_modules/npm/package.json +6 -5
  271. package/node_modules/qs/.editorconfig +9 -0
  272. package/node_modules/qs/.eslintignore +2 -1
  273. package/node_modules/qs/.eslintrc +15 -1
  274. package/node_modules/qs/.github/FUNDING.yml +12 -0
  275. package/node_modules/qs/.nycrc +13 -0
  276. package/node_modules/qs/CHANGELOG.md +103 -0
  277. package/node_modules/qs/LICENSE.md +29 -0
  278. package/node_modules/qs/README.md +34 -0
  279. package/node_modules/qs/dist/qs.js +117 -67
  280. package/node_modules/qs/lib/formats.js +9 -4
  281. package/node_modules/qs/lib/parse.js +29 -14
  282. package/node_modules/qs/lib/stringify.js +55 -46
  283. package/node_modules/qs/lib/utils.js +23 -2
  284. package/node_modules/qs/package.json +31 -20
  285. package/node_modules/qs/test/parse.js +97 -1
  286. package/node_modules/qs/test/stringify.js +115 -1
  287. package/node_modules/qs/test/utils.js +1 -1
  288. package/node_modules/raw-body/HISTORY.md +14 -0
  289. package/node_modules/raw-body/README.md +3 -5
  290. package/node_modules/raw-body/package.json +21 -21
  291. package/node_modules/request/node_modules/qs/.editorconfig +14 -1
  292. package/node_modules/request/node_modules/qs/.eslintrc +21 -3
  293. package/node_modules/request/node_modules/qs/.github/FUNDING.yml +12 -0
  294. package/node_modules/request/node_modules/qs/.nycrc +13 -0
  295. package/node_modules/request/node_modules/qs/CHANGELOG.md +24 -0
  296. package/node_modules/request/node_modules/qs/LICENSE.md +29 -0
  297. package/node_modules/request/node_modules/qs/README.md +54 -19
  298. package/node_modules/request/node_modules/qs/bower.json +21 -0
  299. package/node_modules/request/node_modules/qs/component.json +15 -0
  300. package/node_modules/request/node_modules/qs/dist/qs.js +35 -25
  301. package/node_modules/request/node_modules/qs/lib/formats.js +1 -1
  302. package/node_modules/request/node_modules/qs/lib/parse.js +6 -5
  303. package/node_modules/request/node_modules/qs/lib/stringify.js +21 -14
  304. package/node_modules/request/node_modules/qs/lib/utils.js +7 -5
  305. package/node_modules/request/node_modules/qs/package.json +21 -19
  306. package/node_modules/request/node_modules/qs/test/parse.js +79 -4
  307. package/node_modules/request/node_modules/qs/test/stringify.js +45 -0
  308. package/node_modules/request/node_modules/qs/test/utils.js +31 -0
  309. package/node_modules/resolve/.eslintrc +34 -8
  310. package/node_modules/resolve/.github/FUNDING.yml +12 -0
  311. package/node_modules/resolve/appveyor.yml +4 -2
  312. package/node_modules/resolve/async.js +3 -0
  313. package/node_modules/resolve/bin/resolve +50 -0
  314. package/node_modules/resolve/lib/async.js +10 -1
  315. package/node_modules/resolve/lib/core.js +1 -2
  316. package/node_modules/resolve/lib/core.json +85 -16
  317. package/node_modules/resolve/lib/homedir.js +24 -0
  318. package/node_modules/resolve/lib/node-modules-paths.js +1 -1
  319. package/node_modules/resolve/lib/sync.js +14 -5
  320. package/node_modules/resolve/package.json +26 -15
  321. package/node_modules/resolve/readme.markdown +35 -13
  322. package/node_modules/resolve/sync.js +3 -0
  323. package/node_modules/resolve/test/home_paths.js +127 -0
  324. package/node_modules/resolve/test/home_paths_sync.js +114 -0
  325. package/node_modules/resolve/test/mock_sync.js +2 -4
  326. package/node_modules/resolve/test/node_path.js +1 -1
  327. package/node_modules/resolve/test/resolver/invalid_main/package.json +1 -1
  328. package/node_modules/resolve/test/resolver/malformed_package_json/index.js +0 -0
  329. package/node_modules/resolve/test/resolver/malformed_package_json/package.json +1 -0
  330. package/node_modules/resolve/test/resolver.js +99 -3
  331. package/node_modules/resolve/test/resolver_sync.js +310 -23
  332. package/node_modules/safe-buffer/index.js +3 -0
  333. package/node_modules/safe-buffer/package.json +21 -7
  334. package/node_modules/send/HISTORY.md +10 -0
  335. package/node_modules/send/README.md +4 -6
  336. package/node_modules/send/index.js +7 -3
  337. package/node_modules/send/node_modules/ms/index.js +3 -3
  338. package/node_modules/send/node_modules/ms/license.md +1 -1
  339. package/node_modules/send/node_modules/ms/package.json +8 -7
  340. package/node_modules/send/node_modules/ms/readme.md +1 -2
  341. package/node_modules/send/package.json +19 -19
  342. package/node_modules/serve-static/HISTORY.md +8 -0
  343. package/node_modules/serve-static/README.md +9 -11
  344. package/node_modules/serve-static/package.json +19 -19
  345. package/node_modules/setprototypeof/README.md +1 -1
  346. package/node_modules/setprototypeof/index.js +1 -1
  347. package/node_modules/setprototypeof/package.json +9 -7
  348. package/node_modules/shelljs/package.json +4 -4
  349. package/node_modules/shelljs/src/exec.js +19 -1
  350. package/node_modules/signal-exit/README.md +1 -1
  351. package/node_modules/signal-exit/index.js +167 -130
  352. package/node_modules/signal-exit/package.json +13 -13
  353. package/node_modules/sshpk/Jenkinsfile +86 -0
  354. package/node_modules/sshpk/lib/formats/putty.js +99 -4
  355. package/node_modules/sshpk/lib/private-key.js +1 -0
  356. package/node_modules/sshpk/package.json +4 -4
  357. package/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
  358. package/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
  359. package/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
  360. package/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
  361. package/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
  362. package/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
  363. package/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
  364. package/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
  365. package/node_modules/supports-preserve-symlinks-flag/package.json +74 -0
  366. package/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
  367. package/node_modules/toidentifier/HISTORY.md +9 -0
  368. package/node_modules/toidentifier/README.md +3 -3
  369. package/node_modules/toidentifier/index.js +2 -0
  370. package/node_modules/toidentifier/package.json +19 -15
  371. package/node_modules/underscore/amd/_collectNonEnumProps.js +1 -1
  372. package/node_modules/underscore/amd/_setup.js +1 -1
  373. package/node_modules/underscore/amd/sample.js +2 -2
  374. package/node_modules/underscore/cjs/_collectNonEnumProps.js +1 -1
  375. package/node_modules/underscore/cjs/_setup.js +1 -1
  376. package/node_modules/underscore/cjs/sample.js +2 -2
  377. package/node_modules/underscore/modules/_collectNonEnumProps.js +1 -1
  378. package/node_modules/underscore/modules/_setup.js +1 -1
  379. package/node_modules/underscore/modules/index.js +1 -1
  380. package/node_modules/underscore/modules/sample.js +2 -2
  381. package/node_modules/underscore/package.json +4 -4
  382. package/node_modules/underscore/underscore-esm-min.js +2 -2
  383. package/node_modules/underscore/underscore-esm-min.js.map +1 -1
  384. package/node_modules/underscore/underscore-esm.js +17 -17
  385. package/node_modules/underscore/underscore-esm.js.map +1 -1
  386. package/node_modules/underscore/underscore-min.js +2 -2
  387. package/node_modules/underscore/underscore-min.js.map +1 -1
  388. package/node_modules/underscore/underscore-node-f.cjs +17 -17
  389. package/node_modules/underscore/underscore-node-f.cjs.map +1 -1
  390. package/node_modules/underscore/underscore-node.cjs +1 -1
  391. package/node_modules/underscore/underscore-node.mjs +1 -1
  392. package/node_modules/underscore/underscore-umd-min.js +2 -2
  393. package/node_modules/underscore/underscore-umd-min.js.map +1 -1
  394. package/node_modules/underscore/underscore-umd.js +17 -17
  395. package/node_modules/underscore/underscore-umd.js.map +1 -1
  396. package/node_modules/underscore/underscore.js +17 -17
  397. package/package.json +9 -9
  398. package/node_modules/glob/changelog.md +0 -67
  399. package/node_modules/hosted-git-info/CHANGELOG.md +0 -151
  400. package/node_modules/hosted-git-info/LICENSE +0 -13
  401. package/node_modules/hosted-git-info/README.md +0 -133
  402. package/node_modules/hosted-git-info/git-host-info.js +0 -79
  403. package/node_modules/hosted-git-info/git-host.js +0 -156
  404. package/node_modules/hosted-git-info/index.js +0 -148
  405. package/node_modules/hosted-git-info/package.json +0 -44
  406. package/node_modules/is-callable/.github/main.workflow +0 -14
  407. package/node_modules/is-core-module/.eslintignore +0 -1
  408. package/node_modules/json-parse-better-errors/CHANGELOG.md +0 -46
  409. package/node_modules/json-parse-better-errors/LICENSE.md +0 -7
  410. package/node_modules/json-parse-better-errors/README.md +0 -46
  411. package/node_modules/json-parse-better-errors/index.js +0 -38
  412. package/node_modules/json-parse-better-errors/package.json +0 -49
  413. package/node_modules/json-schema/draft-00/hyper-schema +0 -68
  414. package/node_modules/json-schema/draft-00/json-ref +0 -26
  415. package/node_modules/json-schema/draft-00/links +0 -33
  416. package/node_modules/json-schema/draft-00/schema +0 -155
  417. package/node_modules/json-schema/draft-01/hyper-schema +0 -68
  418. package/node_modules/json-schema/draft-01/json-ref +0 -26
  419. package/node_modules/json-schema/draft-01/links +0 -33
  420. package/node_modules/json-schema/draft-01/schema +0 -155
  421. package/node_modules/json-schema/draft-02/hyper-schema +0 -68
  422. package/node_modules/json-schema/draft-02/json-ref +0 -26
  423. package/node_modules/json-schema/draft-02/links +0 -35
  424. package/node_modules/json-schema/draft-02/schema +0 -166
  425. package/node_modules/json-schema/draft-03/examples/address +0 -20
  426. package/node_modules/json-schema/draft-03/examples/calendar +0 -53
  427. package/node_modules/json-schema/draft-03/examples/card +0 -105
  428. package/node_modules/json-schema/draft-03/examples/geo +0 -8
  429. package/node_modules/json-schema/draft-03/examples/interfaces +0 -23
  430. package/node_modules/json-schema/draft-03/hyper-schema +0 -60
  431. package/node_modules/json-schema/draft-03/json-ref +0 -26
  432. package/node_modules/json-schema/draft-03/links +0 -35
  433. package/node_modules/json-schema/draft-03/schema +0 -174
  434. package/node_modules/json-schema/draft-04/hyper-schema +0 -60
  435. package/node_modules/json-schema/draft-04/links +0 -41
  436. package/node_modules/json-schema/draft-04/schema +0 -189
  437. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +0 -1120
  438. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +0 -1072
  439. package/node_modules/json-schema/test/tests.js +0 -95
  440. package/node_modules/normalize-package-data/AUTHORS +0 -4
  441. package/node_modules/normalize-package-data/LICENSE +0 -30
  442. package/node_modules/normalize-package-data/README.md +0 -106
  443. package/node_modules/normalize-package-data/lib/extract_description.js +0 -14
  444. package/node_modules/normalize-package-data/lib/fixer.js +0 -418
  445. package/node_modules/normalize-package-data/lib/make_warning.js +0 -23
  446. package/node_modules/normalize-package-data/lib/normalize.js +0 -39
  447. package/node_modules/normalize-package-data/lib/safe_format.js +0 -9
  448. package/node_modules/normalize-package-data/lib/typos.json +0 -25
  449. package/node_modules/normalize-package-data/lib/warning_messages.json +0 -30
  450. package/node_modules/normalize-package-data/package.json +0 -35
  451. package/node_modules/npm/node_modules/json-schema/draft-00/hyper-schema +0 -68
  452. package/node_modules/npm/node_modules/json-schema/draft-00/json-ref +0 -26
  453. package/node_modules/npm/node_modules/json-schema/draft-00/links +0 -33
  454. package/node_modules/npm/node_modules/json-schema/draft-00/schema +0 -155
  455. package/node_modules/npm/node_modules/json-schema/draft-01/hyper-schema +0 -68
  456. package/node_modules/npm/node_modules/json-schema/draft-01/json-ref +0 -26
  457. package/node_modules/npm/node_modules/json-schema/draft-01/links +0 -33
  458. package/node_modules/npm/node_modules/json-schema/draft-01/schema +0 -155
  459. package/node_modules/npm/node_modules/json-schema/draft-02/hyper-schema +0 -68
  460. package/node_modules/npm/node_modules/json-schema/draft-02/json-ref +0 -26
  461. package/node_modules/npm/node_modules/json-schema/draft-02/links +0 -35
  462. package/node_modules/npm/node_modules/json-schema/draft-02/schema +0 -166
  463. package/node_modules/npm/node_modules/json-schema/draft-03/examples/address +0 -20
  464. package/node_modules/npm/node_modules/json-schema/draft-03/examples/calendar +0 -53
  465. package/node_modules/npm/node_modules/json-schema/draft-03/examples/card +0 -105
  466. package/node_modules/npm/node_modules/json-schema/draft-03/examples/geo +0 -8
  467. package/node_modules/npm/node_modules/json-schema/draft-03/examples/interfaces +0 -23
  468. package/node_modules/npm/node_modules/json-schema/draft-03/hyper-schema +0 -60
  469. package/node_modules/npm/node_modules/json-schema/draft-03/json-ref +0 -26
  470. package/node_modules/npm/node_modules/json-schema/draft-03/links +0 -35
  471. package/node_modules/npm/node_modules/json-schema/draft-03/schema +0 -174
  472. package/node_modules/npm/node_modules/json-schema/draft-04/hyper-schema +0 -60
  473. package/node_modules/npm/node_modules/json-schema/draft-04/links +0 -41
  474. package/node_modules/npm/node_modules/json-schema/draft-04/schema +0 -189
  475. package/node_modules/npm/node_modules/json-schema/draft-zyp-json-schema-03.xml +0 -1120
  476. package/node_modules/npm/node_modules/json-schema/draft-zyp-json-schema-04.xml +0 -1072
  477. package/node_modules/npm/node_modules/json-schema/test/tests.js +0 -95
  478. package/node_modules/npm/node_modules/path-parse/.travis.yml +0 -9
  479. package/node_modules/npm/node_modules/path-parse/test.js +0 -77
  480. package/node_modules/qs/LICENSE +0 -28
  481. package/node_modules/qs/test/.eslintrc +0 -17
  482. package/node_modules/qs/test/index.js +0 -7
  483. package/node_modules/request/node_modules/qs/.eslintignore +0 -1
  484. package/node_modules/request/node_modules/qs/LICENSE +0 -28
  485. package/node_modules/request/node_modules/qs/test/.eslintrc +0 -15
  486. package/node_modules/resolve/.eslintignore +0 -1
  487. package/node_modules/resolve/test/.eslintrc +0 -5
  488. package/node_modules/signal-exit/CHANGELOG.md +0 -35
  489. package/node_modules/spdx-correct/LICENSE +0 -202
  490. package/node_modules/spdx-correct/README.md +0 -14
  491. package/node_modules/spdx-correct/index.js +0 -364
  492. package/node_modules/spdx-correct/package.json +0 -43
  493. package/node_modules/spdx-exceptions/README.md +0 -36
  494. package/node_modules/spdx-exceptions/index.json +0 -40
  495. package/node_modules/spdx-exceptions/package.json +0 -21
  496. package/node_modules/spdx-expression-parse/AUTHORS +0 -4
  497. package/node_modules/spdx-expression-parse/LICENSE +0 -22
  498. package/node_modules/spdx-expression-parse/README.md +0 -91
  499. package/node_modules/spdx-expression-parse/index.js +0 -8
  500. package/node_modules/spdx-expression-parse/package.json +0 -43
  501. package/node_modules/spdx-expression-parse/parse.js +0 -138
  502. package/node_modules/spdx-expression-parse/scan.js +0 -131
  503. package/node_modules/spdx-license-ids/README.md +0 -52
  504. package/node_modules/spdx-license-ids/deprecated.json +0 -26
  505. package/node_modules/spdx-license-ids/index.json +0 -432
  506. package/node_modules/spdx-license-ids/package.json +0 -44
  507. package/node_modules/sshpk/.npmignore +0 -9
  508. package/node_modules/validate-npm-package-license/LICENSE +0 -202
  509. package/node_modules/validate-npm-package-license/README.md +0 -113
  510. package/node_modules/validate-npm-package-license/index.js +0 -86
  511. package/node_modules/validate-npm-package-license/package.json +0 -32
@@ -2,29 +2,14 @@
2
2
 
3
3
  var isWindows = process.platform === 'win32';
4
4
 
5
- // Regex to split a windows path into three parts: [*, device, slash,
6
- // tail] windows-only
7
- var splitDeviceRe =
8
- /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
9
-
10
- // Regex to split the tail part of the above into [*, dir, basename, ext]
11
- var splitTailRe =
12
- /^([\s\S]*?)((?:\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))(?:[\\\/]*)$/;
5
+ // Regex to split a windows path into into [dir, root, basename, name, ext]
6
+ var splitWindowsRe =
7
+ /^(((?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?[\\\/]?)(?:[^\\\/]*[\\\/])*)((\.{1,2}|[^\\\/]+?|)(\.[^.\/\\]*|))[\\\/]*$/;
13
8
 
14
9
  var win32 = {};
15
10
 
16
- // Function to split a filename into [root, dir, basename, ext]
17
11
  function win32SplitPath(filename) {
18
- // Separate device+slash from tail
19
- var result = splitDeviceRe.exec(filename),
20
- device = (result[1] || '') + (result[2] || ''),
21
- tail = result[3] || '';
22
- // Split the tail into dir, basename and extension
23
- var result2 = splitTailRe.exec(tail),
24
- dir = result2[1],
25
- basename = result2[2],
26
- ext = result2[3];
27
- return [device, dir, basename, ext];
12
+ return splitWindowsRe.exec(filename).slice(1);
28
13
  }
29
14
 
30
15
  win32.parse = function(pathString) {
@@ -34,24 +19,24 @@ win32.parse = function(pathString) {
34
19
  );
35
20
  }
36
21
  var allParts = win32SplitPath(pathString);
37
- if (!allParts || allParts.length !== 4) {
22
+ if (!allParts || allParts.length !== 5) {
38
23
  throw new TypeError("Invalid path '" + pathString + "'");
39
24
  }
40
25
  return {
41
- root: allParts[0],
42
- dir: allParts[0] + allParts[1].slice(0, -1),
26
+ root: allParts[1],
27
+ dir: allParts[0] === allParts[1] ? allParts[0] : allParts[0].slice(0, -1),
43
28
  base: allParts[2],
44
- ext: allParts[3],
45
- name: allParts[2].slice(0, allParts[2].length - allParts[3].length)
29
+ ext: allParts[4],
30
+ name: allParts[3]
46
31
  };
47
32
  };
48
33
 
49
34
 
50
35
 
51
- // Split a filename into [root, dir, basename, ext], unix version
36
+ // Split a filename into [dir, root, basename, name, ext], unix version
52
37
  // 'root' is just a slash, or nothing.
53
38
  var splitPathRe =
54
- /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
39
+ /^((\/?)(?:[^\/]*\/)*)((\.{1,2}|[^\/]+?|)(\.[^.\/]*|))[\/]*$/;
55
40
  var posix = {};
56
41
 
57
42
 
@@ -67,19 +52,16 @@ posix.parse = function(pathString) {
67
52
  );
68
53
  }
69
54
  var allParts = posixSplitPath(pathString);
70
- if (!allParts || allParts.length !== 4) {
55
+ if (!allParts || allParts.length !== 5) {
71
56
  throw new TypeError("Invalid path '" + pathString + "'");
72
57
  }
73
- allParts[1] = allParts[1] || '';
74
- allParts[2] = allParts[2] || '';
75
- allParts[3] = allParts[3] || '';
76
-
58
+
77
59
  return {
78
- root: allParts[0],
79
- dir: allParts[0] + allParts[1].slice(0, -1),
60
+ root: allParts[1],
61
+ dir: allParts[0].slice(0, -1),
80
62
  base: allParts[2],
81
- ext: allParts[3],
82
- name: allParts[2].slice(0, allParts[2].length - allParts[3].length)
63
+ ext: allParts[4],
64
+ name: allParts[3],
83
65
  };
84
66
  };
85
67
 
@@ -1,33 +1,28 @@
1
1
  {
2
- "_args": [
3
- [
4
- "path-parse@1.0.6",
5
- "/Users/aeschright/code/npm-release"
6
- ]
7
- ],
8
- "_development": true,
9
- "_from": "path-parse@1.0.6",
10
- "_id": "path-parse@1.0.6",
2
+ "_from": "path-parse@1.0.7",
3
+ "_id": "path-parse@1.0.7",
11
4
  "_inBundle": false,
12
- "_integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
5
+ "_integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
13
6
  "_location": "/path-parse",
14
7
  "_phantomChildren": {},
15
8
  "_requested": {
16
9
  "type": "version",
17
10
  "registry": true,
18
- "raw": "path-parse@1.0.6",
11
+ "raw": "path-parse@1.0.7",
19
12
  "name": "path-parse",
20
13
  "escapedName": "path-parse",
21
- "rawSpec": "1.0.6",
14
+ "rawSpec": "1.0.7",
22
15
  "saveSpec": null,
23
- "fetchSpec": "1.0.6"
16
+ "fetchSpec": "1.0.7"
24
17
  },
25
18
  "_requiredBy": [
19
+ "/normalize-package-data/resolve",
26
20
  "/resolve"
27
21
  ],
28
- "_resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
29
- "_spec": "1.0.6",
30
- "_where": "/Users/aeschright/code/npm-release",
22
+ "_resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
23
+ "_shasum": "fbc114b60ca42b30d9daf5858e4bd68bbedb6735",
24
+ "_spec": "path-parse@1.0.7",
25
+ "_where": "/Users/darcyclarke/Documents/Repos/npm/npm6/node_modules/resolve",
31
26
  "author": {
32
27
  "name": "Javier Blanco",
33
28
  "email": "http://jbgutierrez.info"
@@ -35,6 +30,8 @@
35
30
  "bugs": {
36
31
  "url": "https://github.com/jbgutierrez/path-parse/issues"
37
32
  },
33
+ "bundleDependencies": false,
34
+ "deprecated": false,
38
35
  "description": "Node.js path.parse() ponyfill",
39
36
  "homepage": "https://github.com/jbgutierrez/path-parse#readme",
40
37
  "keywords": [
@@ -61,5 +58,5 @@
61
58
  "scripts": {
62
59
  "test": "node test.js"
63
60
  },
64
- "version": "1.0.6"
61
+ "version": "1.0.7"
65
62
  }
@@ -6,6 +6,7 @@ const Unpack = require('./unpack.js')
6
6
  const fs = require('fs')
7
7
  const fsm = require('fs-minipass')
8
8
  const path = require('path')
9
+ const stripSlash = require('./strip-trailing-slashes.js')
9
10
 
10
11
  const x = module.exports = (opt_, files, cb) => {
11
12
  if (typeof opt_ === 'function')
@@ -41,7 +42,7 @@ const x = module.exports = (opt_, files, cb) => {
41
42
  // construct a filter that limits the file entries listed
42
43
  // include child entries if a dir is included
43
44
  const filesFilter = (opt, files) => {
44
- const map = new Map(files.map(f => [f.replace(/\/+$/, ''), true]))
45
+ const map = new Map(files.map(f => [stripSlash(f), true]))
45
46
  const filter = opt.filter
46
47
 
47
48
  const mapHas = (file, r) => {
@@ -55,8 +56,8 @@ const filesFilter = (opt, files) => {
55
56
  }
56
57
 
57
58
  opt.filter = filter
58
- ? (file, entry) => filter(file, entry) && mapHas(file.replace(/\/+$/, ''))
59
- : file => mapHas(file.replace(/\/+$/, ''))
59
+ ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file))
60
+ : file => mapHas(stripSlash(file))
60
61
  }
61
62
 
62
63
  const extractFileSync = opt => {
@@ -11,6 +11,7 @@ const Parser = require('./parse.js')
11
11
  const fs = require('fs')
12
12
  const fsm = require('fs-minipass')
13
13
  const path = require('path')
14
+ const stripSlash = require('./strip-trailing-slashes.js')
14
15
 
15
16
  const t = module.exports = (opt_, files, cb) => {
16
17
  if (typeof opt_ === 'function')
@@ -56,7 +57,7 @@ const onentryFunction = opt => {
56
57
  // construct a filter that limits the file entries listed
57
58
  // include child entries if a dir is included
58
59
  const filesFilter = (opt, files) => {
59
- const map = new Map(files.map(f => [f.replace(/\/+$/, ''), true]))
60
+ const map = new Map(files.map(f => [stripSlash(f), true]))
60
61
  const filter = opt.filter
61
62
 
62
63
  const mapHas = (file, r) => {
@@ -70,8 +71,8 @@ const filesFilter = (opt, files) => {
70
71
  }
71
72
 
72
73
  opt.filter = filter
73
- ? (file, entry) => filter(file, entry) && mapHas(file.replace(/\/+$/, ''))
74
- : file => mapHas(file.replace(/\/+$/, ''))
74
+ ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file))
75
+ : file => mapHas(stripSlash(file))
75
76
  }
76
77
 
77
78
  const listFileSync = opt => {
@@ -8,6 +8,7 @@ const mkdirp = require('mkdirp')
8
8
  const fs = require('fs')
9
9
  const path = require('path')
10
10
  const chownr = require('chownr')
11
+ const normPath = require('./normalize-windows-path.js')
11
12
 
12
13
  class SymlinkError extends Error {
13
14
  constructor (symlink, path) {
@@ -33,7 +34,20 @@ class CwdError extends Error {
33
34
  }
34
35
  }
35
36
 
36
- const mkdir = module.exports = (dir, opt, cb) => {
37
+ const cGet = (cache, key) => cache.get(normPath(key))
38
+ const cSet = (cache, key, val) => cache.set(normPath(key), val)
39
+
40
+ const checkCwd = (dir, cb) => {
41
+ fs.stat(dir, (er, st) => {
42
+ if (er || !st.isDirectory())
43
+ er = new CwdError(dir, er && er.code || 'ENOTDIR')
44
+ cb(er)
45
+ })
46
+ }
47
+
48
+ module.exports = (dir, opt, cb) => {
49
+ dir = normPath(dir)
50
+
37
51
  // if there's any overlap between mask and mode,
38
52
  // then we'll need an explicit chmod
39
53
  const umask = opt.umask
@@ -49,13 +63,13 @@ const mkdir = module.exports = (dir, opt, cb) => {
49
63
  const preserve = opt.preserve
50
64
  const unlink = opt.unlink
51
65
  const cache = opt.cache
52
- const cwd = opt.cwd
66
+ const cwd = normPath(opt.cwd)
53
67
 
54
68
  const done = (er, created) => {
55
69
  if (er)
56
70
  cb(er)
57
71
  else {
58
- cache.set(dir, true)
72
+ cSet(cache, dir, true)
59
73
  if (created && doChown)
60
74
  chownr(created, uid, gid, er => done(er))
61
75
  else if (needChmod)
@@ -65,21 +79,17 @@ const mkdir = module.exports = (dir, opt, cb) => {
65
79
  }
66
80
  }
67
81
 
68
- if (cache && cache.get(dir) === true)
82
+ if (cache && cGet(cache, dir) === true)
69
83
  return done()
70
84
 
71
85
  if (dir === cwd)
72
- return fs.stat(dir, (er, st) => {
73
- if (er || !st.isDirectory())
74
- er = new CwdError(dir, er && er.code || 'ENOTDIR')
75
- done(er)
76
- })
86
+ return checkCwd(dir, done)
77
87
 
78
88
  if (preserve)
79
89
  return mkdirp(dir, mode, done)
80
90
 
81
- const sub = path.relative(cwd, dir)
82
- const parts = sub.split(/\/|\\/)
91
+ const sub = normPath(path.relative(cwd, dir))
92
+ const parts = sub.split('/')
83
93
  mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done)
84
94
  }
85
95
 
@@ -87,22 +97,19 @@ const mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => {
87
97
  if (!parts.length)
88
98
  return cb(null, created)
89
99
  const p = parts.shift()
90
- const part = base + '/' + p
91
- if (cache.get(part))
100
+ const part = normPath(path.resolve(base + '/' + p))
101
+ if (cGet(cache, part))
92
102
  return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb)
93
103
  fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb))
94
104
  }
95
105
 
96
106
  const onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => er => {
97
107
  if (er) {
98
- if (er.path && path.dirname(er.path) === cwd &&
99
- (er.code === 'ENOTDIR' || er.code === 'ENOENT'))
100
- return cb(new CwdError(cwd, er.code))
101
-
102
108
  fs.lstat(part, (statEr, st) => {
103
- if (statEr)
109
+ if (statEr) {
110
+ statEr.path = statEr.path && normPath(statEr.path)
104
111
  cb(statEr)
105
- else if (st.isDirectory())
112
+ } else if (st.isDirectory())
106
113
  mkdir_(part, parts, mode, cache, unlink, cwd, created, cb)
107
114
  else if (unlink)
108
115
  fs.unlink(part, er => {
@@ -121,7 +128,21 @@ const onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => er => {
121
128
  }
122
129
  }
123
130
 
124
- const mkdirSync = module.exports.sync = (dir, opt) => {
131
+ const checkCwdSync = dir => {
132
+ let ok = false
133
+ let code = 'ENOTDIR'
134
+ try {
135
+ ok = fs.statSync(dir).isDirectory()
136
+ } catch (er) {
137
+ code = er.code
138
+ } finally {
139
+ if (!ok)
140
+ throw new CwdError(dir, code)
141
+ }
142
+ }
143
+
144
+ module.exports.sync = (dir, opt) => {
145
+ dir = normPath(dir)
125
146
  // if there's any overlap between mask and mode,
126
147
  // then we'll need an explicit chmod
127
148
  const umask = opt.umask
@@ -137,65 +158,51 @@ const mkdirSync = module.exports.sync = (dir, opt) => {
137
158
  const preserve = opt.preserve
138
159
  const unlink = opt.unlink
139
160
  const cache = opt.cache
140
- const cwd = opt.cwd
161
+ const cwd = normPath(opt.cwd)
141
162
 
142
163
  const done = (created) => {
143
- cache.set(dir, true)
164
+ cSet(cache, dir, true)
144
165
  if (created && doChown)
145
166
  chownr.sync(created, uid, gid)
146
167
  if (needChmod)
147
168
  fs.chmodSync(dir, mode)
148
169
  }
149
170
 
150
- if (cache && cache.get(dir) === true)
171
+ if (cache && cGet(cache, dir) === true)
151
172
  return done()
152
173
 
153
174
  if (dir === cwd) {
154
- let ok = false
155
- let code = 'ENOTDIR'
156
- try {
157
- ok = fs.statSync(dir).isDirectory()
158
- } catch (er) {
159
- code = er.code
160
- } finally {
161
- if (!ok)
162
- throw new CwdError(dir, code)
163
- }
164
- done()
165
- return
175
+ checkCwdSync(cwd)
176
+ return done()
166
177
  }
167
178
 
168
179
  if (preserve)
169
180
  return done(mkdirp.sync(dir, mode))
170
181
 
171
- const sub = path.relative(cwd, dir)
172
- const parts = sub.split(/\/|\\/)
182
+ const sub = normPath(path.relative(cwd, dir))
183
+ const parts = sub.split('/')
173
184
  let created = null
174
185
  for (let p = parts.shift(), part = cwd;
175
- p && (part += '/' + p);
176
- p = parts.shift()) {
177
-
178
- if (cache.get(part))
186
+ p && (part += '/' + p);
187
+ p = parts.shift()) {
188
+ part = normPath(path.resolve(part))
189
+ if (cGet(cache, part))
179
190
  continue
180
191
 
181
192
  try {
182
193
  fs.mkdirSync(part, mode)
183
194
  created = created || part
184
- cache.set(part, true)
195
+ cSet(cache, part, true)
185
196
  } catch (er) {
186
- if (er.path && path.dirname(er.path) === cwd &&
187
- (er.code === 'ENOTDIR' || er.code === 'ENOENT'))
188
- return new CwdError(cwd, er.code)
189
-
190
197
  const st = fs.lstatSync(part)
191
198
  if (st.isDirectory()) {
192
- cache.set(part, true)
199
+ cSet(cache, part, true)
193
200
  continue
194
201
  } else if (unlink) {
195
202
  fs.unlinkSync(part)
196
203
  fs.mkdirSync(part, mode)
197
204
  created = created || part
198
- cache.set(part, true)
205
+ cSet(cache, part, true)
199
206
  continue
200
207
  } else if (st.isSymbolicLink())
201
208
  return new SymlinkError(part, part + '/' + parts.join('/'))
@@ -0,0 +1,8 @@
1
+ // on windows, either \ or / are valid directory separators.
2
+ // on unix, \ is a valid character in filenames.
3
+ // so, on windows, and only on windows, we replace all \ chars with /,
4
+ // so that we can use / as our one and only directory separator char.
5
+
6
+ const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform
7
+ module.exports = platform !== 'win32' ? p => p
8
+ : p => p && p.replace(/\\/g, '/')
@@ -56,6 +56,7 @@ const ONDRAIN = Symbol('ondrain')
56
56
  const fs = require('fs')
57
57
  const path = require('path')
58
58
  const warner = require('./warn-mixin.js')
59
+ const normPath = require('./normalize-windows-path.js')
59
60
 
60
61
  const Pack = warner(class Pack extends MiniPass {
61
62
  constructor (opt) {
@@ -67,7 +68,7 @@ const Pack = warner(class Pack extends MiniPass {
67
68
  this.preservePaths = !!opt.preservePaths
68
69
  this.strict = !!opt.strict
69
70
  this.noPax = !!opt.noPax
70
- this.prefix = (opt.prefix || '').replace(/(\\|\/)+$/, '')
71
+ this.prefix = normPath(opt.prefix || '')
71
72
  this.linkCache = opt.linkCache || new Map()
72
73
  this.statCache = opt.statCache || new Map()
73
74
  this.readdirCache = opt.readdirCache || new Map()
@@ -132,10 +133,7 @@ const Pack = warner(class Pack extends MiniPass {
132
133
  }
133
134
 
134
135
  [ADDTARENTRY] (p) {
135
- const absolute = path.resolve(this.cwd, p.path)
136
- if (this.prefix)
137
- p.path = this.prefix + '/' + p.path.replace(/^\.(\/+|$)/, '')
138
-
136
+ const absolute = normPath(path.resolve(this.cwd, p.path))
139
137
  // in this case, we don't have to wait for the stat
140
138
  if (!this.filter(p.path, p))
141
139
  p.resume()
@@ -151,10 +149,7 @@ const Pack = warner(class Pack extends MiniPass {
151
149
  }
152
150
 
153
151
  [ADDFSENTRY] (p) {
154
- const absolute = path.resolve(this.cwd, p)
155
- if (this.prefix)
156
- p = this.prefix + '/' + p.replace(/^\.(\/+|$)/, '')
157
-
152
+ const absolute = normPath(path.resolve(this.cwd, p))
158
153
  this[QUEUE].push(new PackJob(p, absolute))
159
154
  this[PROCESS]()
160
155
  }
@@ -298,7 +293,8 @@ const Pack = warner(class Pack extends MiniPass {
298
293
  linkCache: this.linkCache,
299
294
  statCache: this.statCache,
300
295
  noMtime: this.noMtime,
301
- mtime: this.mtime
296
+ mtime: this.mtime,
297
+ prefix: this.prefix,
302
298
  }
303
299
  }
304
300
 
@@ -324,10 +320,7 @@ const Pack = warner(class Pack extends MiniPass {
324
320
 
325
321
  if (job.readdir)
326
322
  job.readdir.forEach(entry => {
327
- const p = this.prefix ?
328
- job.path.slice(this.prefix.length + 1) || './'
329
- : job.path
330
-
323
+ const p = job.path
331
324
  const base = p === './' ? '' : p.replace(/\/*$/, '/')
332
325
  this[ADDFSENTRY](base + entry)
333
326
  })
@@ -380,10 +373,7 @@ class PackSync extends Pack {
380
373
 
381
374
  if (job.readdir)
382
375
  job.readdir.forEach(entry => {
383
- const p = this.prefix ?
384
- job.path.slice(this.prefix.length + 1) || './'
385
- : job.path
386
-
376
+ const p = job.path
387
377
  const base = p === './' ? '' : p.replace(/\/*$/, '/')
388
378
  this[ADDFSENTRY](base + entry)
389
379
  })
@@ -0,0 +1,149 @@
1
+ // A path exclusive reservation system
2
+ // reserve([list, of, paths], fn)
3
+ // When the fn is first in line for all its paths, it
4
+ // is called with a cb that clears the reservation.
5
+ //
6
+ // Used by async unpack to avoid clobbering paths in use,
7
+ // while still allowing maximal safe parallelization.
8
+
9
+ const assert = require('assert')
10
+ const normPath = require('./normalize-windows-path.js')
11
+ const stripSlashes = require('./strip-trailing-slashes.js')
12
+ const { join } = require('path')
13
+
14
+ const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform
15
+ const isWindows = platform === 'win32'
16
+
17
+ module.exports = () => {
18
+ // path => [function or Set]
19
+ // A Set object means a directory reservation
20
+ // A fn is a direct reservation on that path
21
+ const queues = new Map()
22
+
23
+ // fn => {paths:[path,...], dirs:[path, ...]}
24
+ const reservations = new Map()
25
+
26
+ // return a set of parent dirs for a given path
27
+ // '/a/b/c/d' -> ['/', '/a', '/a/b', '/a/b/c', '/a/b/c/d']
28
+ const getDirs = path => {
29
+ const dirs = path.split('/').slice(0, -1).reduce((set, path) => {
30
+ if (set.length)
31
+ path = normPath(join(set[set.length - 1], path))
32
+ set.push(path || '/')
33
+ return set
34
+ }, [])
35
+ return dirs
36
+ }
37
+
38
+ // functions currently running
39
+ const running = new Set()
40
+
41
+ // return the queues for each path the function cares about
42
+ // fn => {paths, dirs}
43
+ const getQueues = fn => {
44
+ const res = reservations.get(fn)
45
+ /* istanbul ignore if - unpossible */
46
+ if (!res)
47
+ throw new Error('function does not have any path reservations')
48
+ return {
49
+ paths: res.paths.map(path => queues.get(path)),
50
+ dirs: [...res.dirs].map(path => queues.get(path)),
51
+ }
52
+ }
53
+
54
+ // check if fn is first in line for all its paths, and is
55
+ // included in the first set for all its dir queues
56
+ const check = fn => {
57
+ const {paths, dirs} = getQueues(fn)
58
+ return paths.every(q => q[0] === fn) &&
59
+ dirs.every(q => q[0] instanceof Set && q[0].has(fn))
60
+ }
61
+
62
+ // run the function if it's first in line and not already running
63
+ const run = fn => {
64
+ if (running.has(fn) || !check(fn))
65
+ return false
66
+ running.add(fn)
67
+ fn(() => clear(fn))
68
+ return true
69
+ }
70
+
71
+ const clear = fn => {
72
+ if (!running.has(fn))
73
+ return false
74
+
75
+ const { paths, dirs } = reservations.get(fn)
76
+ const next = new Set()
77
+
78
+ paths.forEach(path => {
79
+ const q = queues.get(path)
80
+ assert.equal(q[0], fn)
81
+ if (q.length === 1)
82
+ queues.delete(path)
83
+ else {
84
+ q.shift()
85
+ if (typeof q[0] === 'function')
86
+ next.add(q[0])
87
+ else
88
+ q[0].forEach(fn => next.add(fn))
89
+ }
90
+ })
91
+
92
+ dirs.forEach(dir => {
93
+ const q = queues.get(dir)
94
+ assert(q[0] instanceof Set)
95
+ if (q[0].size === 1 && q.length === 1) {
96
+ queues.delete(dir)
97
+ } else if (q[0].size === 1) {
98
+ q.shift()
99
+
100
+ // must be a function or else the Set would've been reused
101
+ next.add(q[0])
102
+ } else
103
+ q[0].delete(fn)
104
+ })
105
+ running.delete(fn)
106
+
107
+ next.forEach(fn => run(fn))
108
+ return true
109
+ }
110
+
111
+ const reserve = (paths, fn) => {
112
+ // collide on matches across case and unicode normalization
113
+ // On windows, thanks to the magic of 8.3 shortnames, it is fundamentally
114
+ // impossible to determine whether two paths refer to the same thing on
115
+ // disk, without asking the kernel for a shortname.
116
+ // So, we just pretend that every path matches every other path here,
117
+ // effectively removing all parallelization on windows.
118
+ paths = isWindows ? ['win32 parallelization disabled'] : paths.map(p => {
119
+ return stripSlashes(normPath(join(p)))
120
+ .normalize('NFKD')
121
+ .toLowerCase()
122
+ })
123
+
124
+ const dirs = new Set(
125
+ paths.map(path => getDirs(path)).reduce((a, b) => a.concat(b))
126
+ )
127
+ reservations.set(fn, {dirs, paths})
128
+ paths.forEach(path => {
129
+ const q = queues.get(path)
130
+ if (!q)
131
+ queues.set(path, [fn])
132
+ else
133
+ q.push(fn)
134
+ })
135
+ dirs.forEach(dir => {
136
+ const q = queues.get(dir)
137
+ if (!q)
138
+ queues.set(dir, [new Set([fn])])
139
+ else if (q[q.length-1] instanceof Set)
140
+ q[q.length-1].add(fn)
141
+ else
142
+ q.push(new Set([fn]))
143
+ })
144
+
145
+ return run(fn)
146
+ }
147
+
148
+ return { check, reserve }
149
+ }
@@ -1,6 +1,7 @@
1
1
  'use strict'
2
2
  const types = require('./types.js')
3
3
  const MiniPass = require('minipass')
4
+ const normPath = require('./normalize-windows-path.js')
4
5
 
5
6
  const SLURP = Symbol('slurp')
6
7
  module.exports = class ReadEntry extends MiniPass {
@@ -47,7 +48,7 @@ module.exports = class ReadEntry extends MiniPass {
47
48
  this.ignore = true
48
49
  }
49
50
 
50
- this.path = header.path
51
+ this.path = normPath(header.path)
51
52
  this.mode = header.mode
52
53
  if (this.mode)
53
54
  this.mode = this.mode & 0o7777
@@ -59,7 +60,7 @@ module.exports = class ReadEntry extends MiniPass {
59
60
  this.mtime = header.mtime
60
61
  this.atime = header.atime
61
62
  this.ctime = header.ctime
62
- this.linkpath = header.linkpath
63
+ this.linkpath = normPath(header.linkpath)
63
64
  this.uname = header.uname
64
65
  this.gname = header.gname
65
66
 
@@ -92,7 +93,7 @@ module.exports = class ReadEntry extends MiniPass {
92
93
  // a global extended header, because that's weird.
93
94
  if (ex[k] !== null && ex[k] !== undefined &&
94
95
  !(global && k === 'path'))
95
- this[k] = ex[k]
96
+ this[k] = k === 'path' || k === 'linkpath' ? normPath(ex[k]) : ex[k]
96
97
  }
97
98
  }
98
99
  }