fsevents 1.2.6 → 1.2.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (526) hide show
  1. package/node_modules/abbrev/LICENSE +46 -0
  2. package/node_modules/abbrev/README.md +23 -0
  3. package/node_modules/abbrev/abbrev.js +61 -0
  4. package/node_modules/abbrev/package.json +57 -0
  5. package/node_modules/ansi-regex/index.js +4 -0
  6. package/node_modules/ansi-regex/license +21 -0
  7. package/node_modules/ansi-regex/package.json +108 -0
  8. package/node_modules/ansi-regex/readme.md +39 -0
  9. package/node_modules/aproba/LICENSE +14 -0
  10. package/node_modules/aproba/README.md +94 -0
  11. package/node_modules/aproba/index.js +105 -0
  12. package/node_modules/aproba/package.json +62 -0
  13. package/node_modules/are-we-there-yet/CHANGES.md +37 -0
  14. package/node_modules/are-we-there-yet/LICENSE +5 -0
  15. package/node_modules/are-we-there-yet/README.md +195 -0
  16. package/node_modules/are-we-there-yet/index.js +4 -0
  17. package/node_modules/are-we-there-yet/package.json +63 -0
  18. package/node_modules/are-we-there-yet/tracker-base.js +11 -0
  19. package/node_modules/are-we-there-yet/tracker-group.js +107 -0
  20. package/node_modules/are-we-there-yet/tracker-stream.js +36 -0
  21. package/node_modules/are-we-there-yet/tracker.js +30 -0
  22. package/node_modules/balanced-match/.npmignore +5 -0
  23. package/node_modules/balanced-match/LICENSE.md +21 -0
  24. package/node_modules/balanced-match/README.md +91 -0
  25. package/node_modules/balanced-match/index.js +59 -0
  26. package/node_modules/balanced-match/package.json +77 -0
  27. package/node_modules/brace-expansion/LICENSE +21 -0
  28. package/node_modules/brace-expansion/README.md +129 -0
  29. package/node_modules/brace-expansion/index.js +201 -0
  30. package/node_modules/brace-expansion/package.json +75 -0
  31. package/node_modules/chownr/LICENSE +15 -0
  32. package/node_modules/chownr/README.md +3 -0
  33. package/node_modules/chownr/chownr.js +88 -0
  34. package/node_modules/chownr/package.json +59 -0
  35. package/node_modules/code-point-at/index.js +32 -0
  36. package/node_modules/code-point-at/license +21 -0
  37. package/node_modules/code-point-at/package.json +70 -0
  38. package/node_modules/code-point-at/readme.md +32 -0
  39. package/node_modules/concat-map/.travis.yml +4 -0
  40. package/node_modules/concat-map/LICENSE +18 -0
  41. package/node_modules/concat-map/README.markdown +62 -0
  42. package/node_modules/concat-map/example/map.js +6 -0
  43. package/node_modules/concat-map/index.js +13 -0
  44. package/node_modules/concat-map/package.json +88 -0
  45. package/node_modules/concat-map/test/map.js +39 -0
  46. package/node_modules/console-control-strings/LICENSE +13 -0
  47. package/node_modules/console-control-strings/README.md +145 -0
  48. package/node_modules/console-control-strings/README.md~ +140 -0
  49. package/node_modules/console-control-strings/index.js +125 -0
  50. package/node_modules/console-control-strings/package.json +61 -0
  51. package/node_modules/core-util-is/LICENSE +19 -0
  52. package/node_modules/core-util-is/README.md +3 -0
  53. package/node_modules/core-util-is/float.patch +604 -0
  54. package/node_modules/core-util-is/lib/util.js +107 -0
  55. package/node_modules/core-util-is/package.json +62 -0
  56. package/node_modules/core-util-is/test.js +68 -0
  57. package/node_modules/debug/.coveralls.yml +1 -0
  58. package/node_modules/debug/.eslintrc +11 -0
  59. package/node_modules/debug/.npmignore +9 -0
  60. package/node_modules/debug/.travis.yml +14 -0
  61. package/node_modules/debug/CHANGELOG.md +362 -0
  62. package/node_modules/debug/LICENSE +19 -0
  63. package/node_modules/debug/Makefile +50 -0
  64. package/node_modules/debug/README.md +312 -0
  65. package/node_modules/debug/component.json +19 -0
  66. package/node_modules/debug/karma.conf.js +70 -0
  67. package/node_modules/debug/node.js +1 -0
  68. package/node_modules/debug/package.json +88 -0
  69. package/node_modules/debug/src/browser.js +185 -0
  70. package/node_modules/debug/src/debug.js +202 -0
  71. package/node_modules/debug/src/index.js +10 -0
  72. package/node_modules/debug/src/inspector-log.js +15 -0
  73. package/node_modules/debug/src/node.js +248 -0
  74. package/node_modules/deep-extend/CHANGELOG.md +46 -0
  75. package/node_modules/deep-extend/LICENSE +20 -0
  76. package/node_modules/deep-extend/README.md +91 -0
  77. package/node_modules/deep-extend/index.js +1 -0
  78. package/node_modules/deep-extend/lib/deep-extend.js +150 -0
  79. package/node_modules/deep-extend/package.json +92 -0
  80. package/node_modules/delegates/.npmignore +1 -0
  81. package/node_modules/delegates/History.md +22 -0
  82. package/node_modules/delegates/License +20 -0
  83. package/node_modules/delegates/Makefile +8 -0
  84. package/node_modules/delegates/Readme.md +94 -0
  85. package/node_modules/delegates/index.js +121 -0
  86. package/node_modules/delegates/package.json +48 -0
  87. package/node_modules/delegates/test/index.js +94 -0
  88. package/node_modules/detect-libc/.npmignore +7 -0
  89. package/node_modules/detect-libc/LICENSE +201 -0
  90. package/node_modules/detect-libc/README.md +78 -0
  91. package/node_modules/detect-libc/bin/detect-libc.js +18 -0
  92. package/node_modules/detect-libc/lib/detect-libc.js +92 -0
  93. package/node_modules/detect-libc/package.json +70 -0
  94. package/node_modules/fs-minipass/LICENSE +15 -0
  95. package/node_modules/fs-minipass/README.md +70 -0
  96. package/node_modules/fs-minipass/index.js +386 -0
  97. package/node_modules/fs-minipass/package.json +62 -0
  98. package/node_modules/fs.realpath/LICENSE +43 -0
  99. package/node_modules/fs.realpath/README.md +33 -0
  100. package/node_modules/fs.realpath/index.js +66 -0
  101. package/node_modules/fs.realpath/old.js +303 -0
  102. package/node_modules/fs.realpath/package.json +59 -0
  103. package/node_modules/gauge/CHANGELOG.md +160 -0
  104. package/node_modules/gauge/LICENSE +13 -0
  105. package/node_modules/gauge/README.md +399 -0
  106. package/node_modules/gauge/base-theme.js +14 -0
  107. package/node_modules/gauge/error.js +24 -0
  108. package/node_modules/gauge/has-color.js +12 -0
  109. package/node_modules/gauge/index.js +233 -0
  110. package/node_modules/gauge/package.json +91 -0
  111. package/node_modules/gauge/plumbing.js +48 -0
  112. package/node_modules/gauge/process.js +3 -0
  113. package/node_modules/gauge/progress-bar.js +35 -0
  114. package/node_modules/gauge/render-template.js +181 -0
  115. package/node_modules/gauge/set-immediate.js +7 -0
  116. package/node_modules/gauge/set-interval.js +3 -0
  117. package/node_modules/gauge/spin.js +5 -0
  118. package/node_modules/gauge/template-item.js +73 -0
  119. package/node_modules/gauge/theme-set.js +115 -0
  120. package/node_modules/gauge/themes.js +54 -0
  121. package/node_modules/gauge/wide-truncate.js +25 -0
  122. package/node_modules/glob/LICENSE +15 -0
  123. package/node_modules/glob/README.md +368 -0
  124. package/node_modules/glob/changelog.md +67 -0
  125. package/node_modules/glob/common.js +240 -0
  126. package/node_modules/glob/glob.js +790 -0
  127. package/node_modules/glob/package.json +76 -0
  128. package/node_modules/glob/sync.js +486 -0
  129. package/node_modules/has-unicode/LICENSE +14 -0
  130. package/node_modules/has-unicode/README.md +43 -0
  131. package/node_modules/has-unicode/index.js +16 -0
  132. package/node_modules/has-unicode/package.json +58 -0
  133. package/node_modules/iconv-lite/Changelog.md +162 -0
  134. package/node_modules/iconv-lite/LICENSE +21 -0
  135. package/node_modules/iconv-lite/README.md +156 -0
  136. package/node_modules/iconv-lite/encodings/dbcs-codec.js +555 -0
  137. package/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  138. package/node_modules/iconv-lite/encodings/index.js +22 -0
  139. package/node_modules/iconv-lite/encodings/internal.js +188 -0
  140. package/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  141. package/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  142. package/node_modules/iconv-lite/encodings/sbcs-data.js +174 -0
  143. package/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  144. package/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  145. package/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  146. package/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  147. package/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  148. package/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  149. package/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  150. package/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  151. package/node_modules/iconv-lite/encodings/utf16.js +177 -0
  152. package/node_modules/iconv-lite/encodings/utf7.js +290 -0
  153. package/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  154. package/node_modules/iconv-lite/lib/extend-node.js +217 -0
  155. package/node_modules/iconv-lite/lib/index.d.ts +24 -0
  156. package/node_modules/iconv-lite/lib/index.js +153 -0
  157. package/node_modules/iconv-lite/lib/streams.js +121 -0
  158. package/node_modules/iconv-lite/package.json +76 -0
  159. package/node_modules/ignore-walk/LICENSE +15 -0
  160. package/node_modules/ignore-walk/README.md +60 -0
  161. package/node_modules/ignore-walk/index.js +265 -0
  162. package/node_modules/ignore-walk/package.json +71 -0
  163. package/node_modules/inflight/LICENSE +15 -0
  164. package/node_modules/inflight/README.md +37 -0
  165. package/node_modules/inflight/inflight.js +54 -0
  166. package/node_modules/inflight/package.json +58 -0
  167. package/node_modules/inherits/LICENSE +16 -0
  168. package/node_modules/inherits/README.md +42 -0
  169. package/node_modules/inherits/inherits.js +7 -0
  170. package/node_modules/inherits/inherits_browser.js +23 -0
  171. package/node_modules/inherits/package.json +64 -0
  172. package/node_modules/ini/LICENSE +15 -0
  173. package/node_modules/ini/README.md +102 -0
  174. package/node_modules/ini/ini.js +194 -0
  175. package/node_modules/ini/package.json +63 -0
  176. package/node_modules/is-fullwidth-code-point/index.js +46 -0
  177. package/node_modules/is-fullwidth-code-point/license +21 -0
  178. package/node_modules/is-fullwidth-code-point/package.json +77 -0
  179. package/node_modules/is-fullwidth-code-point/readme.md +39 -0
  180. package/node_modules/isarray/.npmignore +1 -0
  181. package/node_modules/isarray/.travis.yml +4 -0
  182. package/node_modules/isarray/Makefile +6 -0
  183. package/node_modules/isarray/README.md +60 -0
  184. package/node_modules/isarray/component.json +19 -0
  185. package/node_modules/isarray/index.js +5 -0
  186. package/node_modules/isarray/package.json +73 -0
  187. package/node_modules/isarray/test.js +20 -0
  188. package/node_modules/minimatch/LICENSE +15 -0
  189. package/node_modules/minimatch/README.md +209 -0
  190. package/node_modules/minimatch/minimatch.js +923 -0
  191. package/node_modules/minimatch/package.json +64 -0
  192. package/node_modules/minimist/.travis.yml +4 -0
  193. package/node_modules/minimist/LICENSE +18 -0
  194. package/node_modules/minimist/example/parse.js +2 -0
  195. package/node_modules/minimist/index.js +187 -0
  196. package/node_modules/minimist/package.json +71 -0
  197. package/node_modules/minimist/readme.markdown +73 -0
  198. package/node_modules/minimist/test/dash.js +24 -0
  199. package/node_modules/minimist/test/default_bool.js +20 -0
  200. package/node_modules/minimist/test/dotted.js +16 -0
  201. package/node_modules/minimist/test/long.js +31 -0
  202. package/node_modules/minimist/test/parse.js +318 -0
  203. package/node_modules/minimist/test/parse_modified.js +9 -0
  204. package/node_modules/minimist/test/short.js +67 -0
  205. package/node_modules/minimist/test/whitespace.js +8 -0
  206. package/node_modules/minipass/LICENSE +15 -0
  207. package/node_modules/minipass/README.md +124 -0
  208. package/node_modules/minipass/index.js +375 -0
  209. package/node_modules/minipass/package.json +69 -0
  210. package/node_modules/minizlib/LICENSE +26 -0
  211. package/node_modules/minizlib/README.md +44 -0
  212. package/node_modules/minizlib/constants.js +46 -0
  213. package/node_modules/minizlib/index.js +335 -0
  214. package/node_modules/minizlib/package.json +71 -0
  215. package/node_modules/mkdirp/.travis.yml +8 -0
  216. package/node_modules/mkdirp/LICENSE +21 -0
  217. package/node_modules/mkdirp/bin/cmd.js +33 -0
  218. package/node_modules/mkdirp/bin/usage.txt +12 -0
  219. package/node_modules/mkdirp/examples/pow.js +6 -0
  220. package/node_modules/mkdirp/index.js +98 -0
  221. package/node_modules/mkdirp/package.json +64 -0
  222. package/node_modules/mkdirp/readme.markdown +100 -0
  223. package/node_modules/mkdirp/test/chmod.js +41 -0
  224. package/node_modules/mkdirp/test/clobber.js +38 -0
  225. package/node_modules/mkdirp/test/mkdirp.js +28 -0
  226. package/node_modules/mkdirp/test/opts_fs.js +29 -0
  227. package/node_modules/mkdirp/test/opts_fs_sync.js +27 -0
  228. package/node_modules/mkdirp/test/perm.js +32 -0
  229. package/node_modules/mkdirp/test/perm_sync.js +36 -0
  230. package/node_modules/mkdirp/test/race.js +37 -0
  231. package/node_modules/mkdirp/test/rel.js +32 -0
  232. package/node_modules/mkdirp/test/return.js +25 -0
  233. package/node_modules/mkdirp/test/return_sync.js +24 -0
  234. package/node_modules/mkdirp/test/root.js +19 -0
  235. package/node_modules/mkdirp/test/sync.js +32 -0
  236. package/node_modules/mkdirp/test/umask.js +28 -0
  237. package/node_modules/mkdirp/test/umask_sync.js +32 -0
  238. package/node_modules/ms/index.js +152 -0
  239. package/node_modules/ms/license.md +21 -0
  240. package/node_modules/ms/package.json +69 -0
  241. package/node_modules/ms/readme.md +51 -0
  242. package/node_modules/needle/README.md +594 -0
  243. package/node_modules/needle/bin/needle +40 -0
  244. package/node_modules/needle/examples/deflated-stream.js +22 -0
  245. package/node_modules/needle/examples/digest-auth.js +16 -0
  246. package/node_modules/needle/examples/download-to-file.js +18 -0
  247. package/node_modules/needle/examples/multipart-stream.js +25 -0
  248. package/node_modules/needle/examples/parsed-stream.js +23 -0
  249. package/node_modules/needle/examples/parsed-stream2.js +21 -0
  250. package/node_modules/needle/examples/stream-events.js +23 -0
  251. package/node_modules/needle/examples/stream-to-file.js +14 -0
  252. package/node_modules/needle/examples/upload-image.js +51 -0
  253. package/node_modules/needle/lib/auth.js +110 -0
  254. package/node_modules/needle/lib/cookies.js +79 -0
  255. package/node_modules/needle/lib/decoder.js +53 -0
  256. package/node_modules/needle/lib/multipart.js +98 -0
  257. package/node_modules/needle/lib/needle.js +795 -0
  258. package/node_modules/needle/lib/parsers.js +120 -0
  259. package/node_modules/needle/lib/querystring.js +49 -0
  260. package/node_modules/needle/license.txt +19 -0
  261. package/node_modules/needle/note.xml +7 -0
  262. package/node_modules/needle/note.xml.1 +7 -0
  263. package/node_modules/needle/package.json +102 -0
  264. package/node_modules/needle/test/basic_auth_spec.js +196 -0
  265. package/node_modules/needle/test/compression_spec.js +94 -0
  266. package/node_modules/needle/test/cookies_spec.js +305 -0
  267. package/node_modules/needle/test/decoder_spec.js +86 -0
  268. package/node_modules/needle/test/errors_spec.js +286 -0
  269. package/node_modules/needle/test/headers_spec.js +198 -0
  270. package/node_modules/needle/test/helpers.js +72 -0
  271. package/node_modules/needle/test/long_string_spec.js +34 -0
  272. package/node_modules/needle/test/output_spec.js +254 -0
  273. package/node_modules/needle/test/parsing_spec.js +494 -0
  274. package/node_modules/needle/test/post_data_spec.js +1021 -0
  275. package/node_modules/needle/test/proxy_spec.js +202 -0
  276. package/node_modules/needle/test/querystring_spec.js +128 -0
  277. package/node_modules/needle/test/redirect_spec.js +392 -0
  278. package/node_modules/needle/test/redirect_with_timeout.js +45 -0
  279. package/node_modules/needle/test/request_stream_spec.js +202 -0
  280. package/node_modules/needle/test/response_stream_spec.js +139 -0
  281. package/node_modules/needle/test/socket_pool_spec.js +66 -0
  282. package/node_modules/needle/test/url_spec.js +155 -0
  283. package/node_modules/needle/test/utils/formidable.js +17 -0
  284. package/node_modules/needle/test/utils/proxy.js +62 -0
  285. package/node_modules/needle/test/utils/test.js +104 -0
  286. package/node_modules/node-pre-gyp/CHANGELOG.md +422 -0
  287. package/node_modules/node-pre-gyp/LICENSE +27 -0
  288. package/node_modules/node-pre-gyp/README.md +658 -0
  289. package/node_modules/node-pre-gyp/appveyor.yml +30 -0
  290. package/node_modules/node-pre-gyp/bin/node-pre-gyp +134 -0
  291. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +2 -0
  292. package/node_modules/node-pre-gyp/contributing.md +10 -0
  293. package/node_modules/node-pre-gyp/lib/build.js +51 -0
  294. package/node_modules/node-pre-gyp/lib/clean.js +32 -0
  295. package/node_modules/node-pre-gyp/lib/configure.js +52 -0
  296. package/node_modules/node-pre-gyp/lib/info.js +40 -0
  297. package/node_modules/node-pre-gyp/lib/install.js +243 -0
  298. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +203 -0
  299. package/node_modules/node-pre-gyp/lib/package.js +56 -0
  300. package/node_modules/node-pre-gyp/lib/pre-binding.js +30 -0
  301. package/node_modules/node-pre-gyp/lib/publish.js +79 -0
  302. package/node_modules/node-pre-gyp/lib/rebuild.js +21 -0
  303. package/node_modules/node-pre-gyp/lib/reinstall.js +20 -0
  304. package/node_modules/node-pre-gyp/lib/reveal.js +33 -0
  305. package/node_modules/node-pre-gyp/lib/testbinary.js +81 -0
  306. package/node_modules/node-pre-gyp/lib/testpackage.js +55 -0
  307. package/node_modules/node-pre-gyp/lib/unpublish.js +43 -0
  308. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +1782 -0
  309. package/node_modules/node-pre-gyp/lib/util/compile.js +87 -0
  310. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +100 -0
  311. package/node_modules/node-pre-gyp/lib/util/napi.js +156 -0
  312. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +26 -0
  313. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +9 -0
  314. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +27 -0
  315. package/node_modules/node-pre-gyp/lib/util/versioning.js +330 -0
  316. package/node_modules/node-pre-gyp/package.json +86 -0
  317. package/node_modules/nopt/.npmignore +1 -0
  318. package/node_modules/nopt/.travis.yml +8 -0
  319. package/node_modules/nopt/CHANGELOG.md +58 -0
  320. package/node_modules/nopt/LICENSE +15 -0
  321. package/node_modules/nopt/README.md +213 -0
  322. package/node_modules/nopt/bin/nopt.js +54 -0
  323. package/node_modules/nopt/examples/my-program.js +30 -0
  324. package/node_modules/nopt/lib/nopt.js +436 -0
  325. package/node_modules/nopt/package.json +58 -0
  326. package/node_modules/nopt/test/basic.js +303 -0
  327. package/node_modules/npm-bundled/LICENSE +15 -0
  328. package/node_modules/npm-bundled/README.md +48 -0
  329. package/node_modules/npm-bundled/index.js +229 -0
  330. package/node_modules/npm-bundled/package.json +60 -0
  331. package/node_modules/npm-packlist/LICENSE +15 -0
  332. package/node_modules/npm-packlist/README.md +68 -0
  333. package/node_modules/npm-packlist/index.js +229 -0
  334. package/node_modules/npm-packlist/package.json +66 -0
  335. package/node_modules/npmlog/CHANGELOG.md +49 -0
  336. package/node_modules/npmlog/LICENSE +15 -0
  337. package/node_modules/npmlog/README.md +216 -0
  338. package/node_modules/npmlog/log.js +309 -0
  339. package/node_modules/npmlog/package.json +61 -0
  340. package/node_modules/number-is-nan/index.js +4 -0
  341. package/node_modules/number-is-nan/license +21 -0
  342. package/node_modules/number-is-nan/package.json +67 -0
  343. package/node_modules/number-is-nan/readme.md +28 -0
  344. package/node_modules/object-assign/index.js +90 -0
  345. package/node_modules/object-assign/license +21 -0
  346. package/node_modules/object-assign/package.json +74 -0
  347. package/node_modules/object-assign/readme.md +61 -0
  348. package/node_modules/once/LICENSE +15 -0
  349. package/node_modules/once/README.md +79 -0
  350. package/node_modules/once/once.js +42 -0
  351. package/node_modules/once/package.json +67 -0
  352. package/node_modules/os-homedir/index.js +24 -0
  353. package/node_modules/os-homedir/license +21 -0
  354. package/node_modules/os-homedir/package.json +73 -0
  355. package/node_modules/os-homedir/readme.md +31 -0
  356. package/node_modules/os-tmpdir/index.js +25 -0
  357. package/node_modules/os-tmpdir/license +21 -0
  358. package/node_modules/os-tmpdir/package.json +73 -0
  359. package/node_modules/os-tmpdir/readme.md +32 -0
  360. package/node_modules/osenv/LICENSE +15 -0
  361. package/node_modules/osenv/README.md +63 -0
  362. package/node_modules/osenv/osenv.js +72 -0
  363. package/node_modules/osenv/package.json +73 -0
  364. package/node_modules/path-is-absolute/index.js +20 -0
  365. package/node_modules/path-is-absolute/license +21 -0
  366. package/node_modules/path-is-absolute/package.json +75 -0
  367. package/node_modules/path-is-absolute/readme.md +59 -0
  368. package/node_modules/process-nextick-args/index.js +44 -0
  369. package/node_modules/process-nextick-args/license.md +19 -0
  370. package/node_modules/process-nextick-args/package.json +50 -0
  371. package/node_modules/process-nextick-args/readme.md +18 -0
  372. package/node_modules/rc/LICENSE.APACHE2 +15 -0
  373. package/node_modules/rc/LICENSE.BSD +26 -0
  374. package/node_modules/rc/LICENSE.MIT +24 -0
  375. package/node_modules/rc/README.md +227 -0
  376. package/node_modules/rc/browser.js +7 -0
  377. package/node_modules/rc/cli.js +4 -0
  378. package/node_modules/rc/index.js +53 -0
  379. package/node_modules/rc/lib/utils.js +104 -0
  380. package/node_modules/rc/node_modules/minimist/.travis.yml +8 -0
  381. package/node_modules/rc/node_modules/minimist/LICENSE +18 -0
  382. package/node_modules/rc/node_modules/minimist/example/parse.js +2 -0
  383. package/node_modules/rc/node_modules/minimist/index.js +236 -0
  384. package/node_modules/rc/node_modules/minimist/package.json +73 -0
  385. package/node_modules/rc/node_modules/minimist/readme.markdown +91 -0
  386. package/node_modules/rc/node_modules/minimist/test/all_bool.js +32 -0
  387. package/node_modules/rc/node_modules/minimist/test/bool.js +166 -0
  388. package/node_modules/rc/node_modules/minimist/test/dash.js +31 -0
  389. package/node_modules/rc/node_modules/minimist/test/default_bool.js +35 -0
  390. package/node_modules/rc/node_modules/minimist/test/dotted.js +22 -0
  391. package/node_modules/rc/node_modules/minimist/test/kv_short.js +16 -0
  392. package/node_modules/rc/node_modules/minimist/test/long.js +31 -0
  393. package/node_modules/rc/node_modules/minimist/test/num.js +36 -0
  394. package/node_modules/rc/node_modules/minimist/test/parse.js +197 -0
  395. package/node_modules/rc/node_modules/minimist/test/parse_modified.js +9 -0
  396. package/node_modules/rc/node_modules/minimist/test/short.js +67 -0
  397. package/node_modules/rc/node_modules/minimist/test/stop_early.js +15 -0
  398. package/node_modules/rc/node_modules/minimist/test/unknown.js +102 -0
  399. package/node_modules/rc/node_modules/minimist/test/whitespace.js +8 -0
  400. package/node_modules/rc/package.json +64 -0
  401. package/node_modules/rc/test/ini.js +16 -0
  402. package/node_modules/rc/test/nested-env-vars.js +50 -0
  403. package/node_modules/rc/test/test.js +59 -0
  404. package/node_modules/readable-stream/.travis.yml +55 -0
  405. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  406. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  407. package/node_modules/readable-stream/LICENSE +47 -0
  408. package/node_modules/readable-stream/README.md +58 -0
  409. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  410. package/node_modules/readable-stream/duplex-browser.js +1 -0
  411. package/node_modules/readable-stream/duplex.js +1 -0
  412. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  413. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  414. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  415. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  416. package/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  417. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  418. package/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  419. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  420. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  421. package/node_modules/readable-stream/package.json +81 -0
  422. package/node_modules/readable-stream/passthrough.js +1 -0
  423. package/node_modules/readable-stream/readable-browser.js +7 -0
  424. package/node_modules/readable-stream/readable.js +19 -0
  425. package/node_modules/readable-stream/transform.js +1 -0
  426. package/node_modules/readable-stream/writable-browser.js +1 -0
  427. package/node_modules/readable-stream/writable.js +8 -0
  428. package/node_modules/rimraf/LICENSE +15 -0
  429. package/node_modules/rimraf/README.md +101 -0
  430. package/node_modules/rimraf/bin.js +50 -0
  431. package/node_modules/rimraf/package.json +67 -0
  432. package/node_modules/rimraf/rimraf.js +364 -0
  433. package/node_modules/safe-buffer/LICENSE +21 -0
  434. package/node_modules/safe-buffer/README.md +584 -0
  435. package/node_modules/safe-buffer/index.d.ts +187 -0
  436. package/node_modules/safe-buffer/index.js +62 -0
  437. package/node_modules/safe-buffer/package.json +65 -0
  438. package/node_modules/safer-buffer/LICENSE +21 -0
  439. package/node_modules/safer-buffer/Porting-Buffer.md +268 -0
  440. package/node_modules/safer-buffer/Readme.md +156 -0
  441. package/node_modules/safer-buffer/dangerous.js +58 -0
  442. package/node_modules/safer-buffer/package.json +60 -0
  443. package/node_modules/safer-buffer/safer.js +77 -0
  444. package/node_modules/safer-buffer/tests.js +406 -0
  445. package/node_modules/sax/LICENSE +41 -0
  446. package/node_modules/sax/README.md +225 -0
  447. package/node_modules/sax/lib/sax.js +1565 -0
  448. package/node_modules/sax/package.json +61 -0
  449. package/node_modules/semver/LICENSE +15 -0
  450. package/node_modules/semver/README.md +399 -0
  451. package/node_modules/semver/bin/semver +153 -0
  452. package/node_modules/semver/package.json +54 -0
  453. package/node_modules/semver/range.bnf +16 -0
  454. package/node_modules/semver/semver.js +1352 -0
  455. package/node_modules/set-blocking/CHANGELOG.md +26 -0
  456. package/node_modules/set-blocking/LICENSE.txt +14 -0
  457. package/node_modules/set-blocking/README.md +31 -0
  458. package/node_modules/set-blocking/index.js +7 -0
  459. package/node_modules/set-blocking/package.json +70 -0
  460. package/node_modules/signal-exit/CHANGELOG.md +27 -0
  461. package/node_modules/signal-exit/LICENSE.txt +16 -0
  462. package/node_modules/signal-exit/README.md +40 -0
  463. package/node_modules/signal-exit/index.js +157 -0
  464. package/node_modules/signal-exit/package.json +66 -0
  465. package/node_modules/signal-exit/signals.js +53 -0
  466. package/node_modules/string-width/index.js +37 -0
  467. package/node_modules/string-width/license +21 -0
  468. package/node_modules/string-width/package.json +89 -0
  469. package/node_modules/string-width/readme.md +42 -0
  470. package/node_modules/string_decoder/.travis.yml +50 -0
  471. package/node_modules/string_decoder/LICENSE +48 -0
  472. package/node_modules/string_decoder/README.md +47 -0
  473. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  474. package/node_modules/string_decoder/package.json +59 -0
  475. package/node_modules/strip-ansi/index.js +6 -0
  476. package/node_modules/strip-ansi/license +21 -0
  477. package/node_modules/strip-ansi/package.json +102 -0
  478. package/node_modules/strip-ansi/readme.md +33 -0
  479. package/node_modules/strip-json-comments/index.js +70 -0
  480. package/node_modules/strip-json-comments/license +21 -0
  481. package/node_modules/strip-json-comments/package.json +74 -0
  482. package/node_modules/strip-json-comments/readme.md +64 -0
  483. package/node_modules/tar/LICENSE +15 -0
  484. package/node_modules/tar/README.md +954 -0
  485. package/node_modules/tar/index.js +18 -0
  486. package/node_modules/tar/lib/buffer.js +11 -0
  487. package/node_modules/tar/lib/create.js +105 -0
  488. package/node_modules/tar/lib/extract.js +112 -0
  489. package/node_modules/tar/lib/header.js +289 -0
  490. package/node_modules/tar/lib/high-level-opt.js +29 -0
  491. package/node_modules/tar/lib/large-numbers.js +92 -0
  492. package/node_modules/tar/lib/list.js +130 -0
  493. package/node_modules/tar/lib/mkdir.js +206 -0
  494. package/node_modules/tar/lib/mode-fix.js +14 -0
  495. package/node_modules/tar/lib/pack.js +404 -0
  496. package/node_modules/tar/lib/parse.js +423 -0
  497. package/node_modules/tar/lib/pax.js +146 -0
  498. package/node_modules/tar/lib/read-entry.js +94 -0
  499. package/node_modules/tar/lib/replace.js +220 -0
  500. package/node_modules/tar/lib/types.js +44 -0
  501. package/node_modules/tar/lib/unpack.js +621 -0
  502. package/node_modules/tar/lib/update.js +36 -0
  503. package/node_modules/tar/lib/warn-mixin.js +14 -0
  504. package/node_modules/tar/lib/winchars.js +23 -0
  505. package/node_modules/tar/lib/write-entry.js +422 -0
  506. package/node_modules/tar/package.json +78 -0
  507. package/node_modules/util-deprecate/History.md +16 -0
  508. package/node_modules/util-deprecate/LICENSE +24 -0
  509. package/node_modules/util-deprecate/README.md +53 -0
  510. package/node_modules/util-deprecate/browser.js +67 -0
  511. package/node_modules/util-deprecate/node.js +6 -0
  512. package/node_modules/util-deprecate/package.json +56 -0
  513. package/node_modules/wide-align/LICENSE +14 -0
  514. package/node_modules/wide-align/README.md +47 -0
  515. package/node_modules/wide-align/align.js +65 -0
  516. package/node_modules/wide-align/package.json +66 -0
  517. package/node_modules/wrappy/LICENSE +15 -0
  518. package/node_modules/wrappy/README.md +36 -0
  519. package/node_modules/wrappy/package.json +59 -0
  520. package/node_modules/wrappy/wrappy.js +33 -0
  521. package/node_modules/yallist/LICENSE +15 -0
  522. package/node_modules/yallist/README.md +204 -0
  523. package/node_modules/yallist/iterator.js +8 -0
  524. package/node_modules/yallist/package.json +63 -0
  525. package/node_modules/yallist/yallist.js +376 -0
  526. package/package.json +1 -1
@@ -0,0 +1,954 @@
1
+ # node-tar
2
+
3
+ [![Build Status](https://travis-ci.org/npm/node-tar.svg?branch=master)](https://travis-ci.org/npm/node-tar)
4
+
5
+ [Fast](./benchmarks) and full-featured Tar for Node.js
6
+
7
+ The API is designed to mimic the behavior of `tar(1)` on unix systems.
8
+ If you are familiar with how tar works, most of this will hopefully be
9
+ straightforward for you. If not, then hopefully this module can teach
10
+ you useful unix skills that may come in handy someday :)
11
+
12
+ ## Background
13
+
14
+ A "tar file" or "tarball" is an archive of file system entries
15
+ (directories, files, links, etc.) The name comes from "tape archive".
16
+ If you run `man tar` on almost any Unix command line, you'll learn
17
+ quite a bit about what it can do, and its history.
18
+
19
+ Tar has 5 main top-level commands:
20
+
21
+ * `c` Create an archive
22
+ * `r` Replace entries within an archive
23
+ * `u` Update entries within an archive (ie, replace if they're newer)
24
+ * `t` List out the contents of an archive
25
+ * `x` Extract an archive to disk
26
+
27
+ The other flags and options modify how this top level function works.
28
+
29
+ ## High-Level API
30
+
31
+ These 5 functions are the high-level API. All of them have a
32
+ single-character name (for unix nerds familiar with `tar(1)`) as well
33
+ as a long name (for everyone else).
34
+
35
+ All the high-level functions take the following arguments, all three
36
+ of which are optional and may be omitted.
37
+
38
+ 1. `options` - An optional object specifying various options
39
+ 2. `paths` - An array of paths to add or extract
40
+ 3. `callback` - Called when the command is completed, if async. (If
41
+ sync or no file specified, providing a callback throws a
42
+ `TypeError`.)
43
+
44
+ If the command is sync (ie, if `options.sync=true`), then the
45
+ callback is not allowed, since the action will be completed immediately.
46
+
47
+ If a `file` argument is specified, and the command is async, then a
48
+ `Promise` is returned. In this case, if async, a callback may be
49
+ provided which is called when the command is completed.
50
+
51
+ If a `file` option is not specified, then a stream is returned. For
52
+ `create`, this is a readable stream of the generated archive. For
53
+ `list` and `extract` this is a writable stream that an archive should
54
+ be written into. If a file is not specified, then a callback is not
55
+ allowed, because you're already getting a stream to work with.
56
+
57
+ `replace` and `update` only work on existing archives, and so require
58
+ a `file` argument.
59
+
60
+ Sync commands without a file argument return a stream that acts on its
61
+ input immediately in the same tick. For readable streams, this means
62
+ that all of the data is immediately available by calling
63
+ `stream.read()`. For writable streams, it will be acted upon as soon
64
+ as it is provided, but this can be at any time.
65
+
66
+ ### Warnings
67
+
68
+ Some things cause tar to emit a warning, but should usually not cause
69
+ the entire operation to fail. There are three ways to handle
70
+ warnings:
71
+
72
+ 1. **Ignore them** (default) Invalid entries won't be put in the
73
+ archive, and invalid entries won't be unpacked. This is usually
74
+ fine, but can hide failures that you might care about.
75
+ 2. **Notice them** Add an `onwarn` function to the options, or listen
76
+ to the `'warn'` event on any tar stream. The function will get
77
+ called as `onwarn(message, data)`. Handle as appropriate.
78
+ 3. **Explode them.** Set `strict: true` in the options object, and
79
+ `warn` messages will be emitted as `'error'` events instead. If
80
+ there's no `error` handler, this causes the program to crash. If
81
+ used with a promise-returning/callback-taking method, then it'll
82
+ send the error to the promise/callback.
83
+
84
+ ### Examples
85
+
86
+ The API mimics the `tar(1)` command line functionality, with aliases
87
+ for more human-readable option and function names. The goal is that
88
+ if you know how to use `tar(1)` in Unix, then you know how to use
89
+ `require('tar')` in JavaScript.
90
+
91
+ To replicate `tar czf my-tarball.tgz files and folders`, you'd do:
92
+
93
+ ```js
94
+ tar.c(
95
+ {
96
+ gzip: <true|gzip options>,
97
+ file: 'my-tarball.tgz'
98
+ },
99
+ ['some', 'files', 'and', 'folders']
100
+ ).then(_ => { .. tarball has been created .. })
101
+ ```
102
+
103
+ To replicate `tar cz files and folders > my-tarball.tgz`, you'd do:
104
+
105
+ ```js
106
+ tar.c( // or tar.create
107
+ {
108
+ gzip: <true|gzip options>
109
+ },
110
+ ['some', 'files', 'and', 'folders']
111
+ ).pipe(fs.createWriteStream('my-tarball.tgz'))
112
+ ```
113
+
114
+ To replicate `tar xf my-tarball.tgz` you'd do:
115
+
116
+ ```js
117
+ tar.x( // or tar.extract(
118
+ {
119
+ file: 'my-tarball.tgz'
120
+ }
121
+ ).then(_=> { .. tarball has been dumped in cwd .. })
122
+ ```
123
+
124
+ To replicate `cat my-tarball.tgz | tar x -C some-dir --strip=1`:
125
+
126
+ ```js
127
+ fs.createReadStream('my-tarball.tgz').pipe(
128
+ tar.x({
129
+ strip: 1,
130
+ C: 'some-dir' // alias for cwd:'some-dir', also ok
131
+ })
132
+ )
133
+ ```
134
+
135
+ To replicate `tar tf my-tarball.tgz`, do this:
136
+
137
+ ```js
138
+ tar.t({
139
+ file: 'my-tarball.tgz',
140
+ onentry: entry => { .. do whatever with it .. }
141
+ })
142
+ ```
143
+
144
+ To replicate `cat my-tarball.tgz | tar t` do:
145
+
146
+ ```js
147
+ fs.createReadStream('my-tarball.tgz')
148
+ .pipe(tar.t())
149
+ .on('entry', entry => { .. do whatever with it .. })
150
+ ```
151
+
152
+ To do anything synchronous, add `sync: true` to the options. Note
153
+ that sync functions don't take a callback and don't return a promise.
154
+ When the function returns, it's already done. Sync methods without a
155
+ file argument return a sync stream, which flushes immediately. But,
156
+ of course, it still won't be done until you `.end()` it.
157
+
158
+ To filter entries, add `filter: <function>` to the options.
159
+ Tar-creating methods call the filter with `filter(path, stat)`.
160
+ Tar-reading methods (including extraction) call the filter with
161
+ `filter(path, entry)`. The filter is called in the `this`-context of
162
+ the `Pack` or `Unpack` stream object.
163
+
164
+ The arguments list to `tar t` and `tar x` specify a list of filenames
165
+ to extract or list, so they're equivalent to a filter that tests if
166
+ the file is in the list.
167
+
168
+ For those who _aren't_ fans of tar's single-character command names:
169
+
170
+ ```
171
+ tar.c === tar.create
172
+ tar.r === tar.replace (appends to archive, file is required)
173
+ tar.u === tar.update (appends if newer, file is required)
174
+ tar.x === tar.extract
175
+ tar.t === tar.list
176
+ ```
177
+
178
+ Keep reading for all the command descriptions and options, as well as
179
+ the low-level API that they are built on.
180
+
181
+ ### tar.c(options, fileList, callback) [alias: tar.create]
182
+
183
+ Create a tarball archive.
184
+
185
+ The `fileList` is an array of paths to add to the tarball. Adding a
186
+ directory also adds its children recursively.
187
+
188
+ An entry in `fileList` that starts with an `@` symbol is a tar archive
189
+ whose entries will be added. To add a file that starts with `@`,
190
+ prepend it with `./`.
191
+
192
+ The following options are supported:
193
+
194
+ - `file` Write the tarball archive to the specified filename. If this
195
+ is specified, then the callback will be fired when the file has been
196
+ written, and a promise will be returned that resolves when the file
197
+ is written. If a filename is not specified, then a Readable Stream
198
+ will be returned which will emit the file data. [Alias: `f`]
199
+ - `sync` Act synchronously. If this is set, then any provided file
200
+ will be fully written after the call to `tar.c`. If this is set,
201
+ and a file is not provided, then the resulting stream will already
202
+ have the data ready to `read` or `emit('data')` as soon as you
203
+ request it.
204
+ - `onwarn` A function that will get called with `(message, data)` for
205
+ any warnings encountered.
206
+ - `strict` Treat warnings as crash-worthy errors. Default false.
207
+ - `cwd` The current working directory for creating the archive.
208
+ Defaults to `process.cwd()`. [Alias: `C`]
209
+ - `prefix` A path portion to prefix onto the entries in the archive.
210
+ - `gzip` Set to any truthy value to create a gzipped archive, or an
211
+ object with settings for `zlib.Gzip()` [Alias: `z`]
212
+ - `filter` A function that gets called with `(path, stat)` for each
213
+ entry being added. Return `true` to add the entry to the archive,
214
+ or `false` to omit it.
215
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
216
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
217
+ that `mtime` is still included, because this is necessary other
218
+ time-based operations.
219
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
220
+ from absolute paths. [Alias: `P`]
221
+ - `mode` The mode to set on the created file archive
222
+ - `noDirRecurse` Do not recursively archive the contents of
223
+ directories. [Alias: `n`]
224
+ - `follow` Set to true to pack the targets of symbolic links. Without
225
+ this option, symbolic links are archived as such. [Alias: `L`, `h`]
226
+ - `noPax` Suppress pax extended headers. Note that this means that
227
+ long paths and linkpaths will be truncated, and large or negative
228
+ numeric values may be interpreted incorrectly.
229
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
230
+ Note that this prevents using other mtime-based features like
231
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
232
+ [Alias: `m`, `no-mtime`]
233
+ - `mtime` Set to a `Date` object to force a specific `mtime` for
234
+ everything added to the archive. Overridden by `noMtime`.
235
+
236
+
237
+ The following options are mostly internal, but can be modified in some
238
+ advanced use cases, such as re-using caches between runs.
239
+
240
+ - `linkCache` A Map object containing the device and inode value for
241
+ any file whose nlink is > 1, to identify hard links.
242
+ - `statCache` A Map object that caches calls `lstat`.
243
+ - `readdirCache` A Map object that caches calls to `readdir`.
244
+ - `jobs` A number specifying how many concurrent jobs to run.
245
+ Defaults to 4.
246
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
247
+ Defaults to 16 MB.
248
+
249
+ ### tar.x(options, fileList, callback) [alias: tar.extract]
250
+
251
+ Extract a tarball archive.
252
+
253
+ The `fileList` is an array of paths to extract from the tarball. If
254
+ no paths are provided, then all the entries are extracted.
255
+
256
+ If the archive is gzipped, then tar will detect this and unzip it.
257
+
258
+ Note that all directories that are created will be forced to be
259
+ writable, readable, and listable by their owner, to avoid cases where
260
+ a directory prevents extraction of child entries by virtue of its
261
+ mode.
262
+
263
+ Most extraction errors will cause a `warn` event to be emitted. If
264
+ the `cwd` is missing, or not a directory, then the extraction will
265
+ fail completely.
266
+
267
+ The following options are supported:
268
+
269
+ - `cwd` Extract files relative to the specified directory. Defaults
270
+ to `process.cwd()`. If provided, this must exist and must be a
271
+ directory. [Alias: `C`]
272
+ - `file` The archive file to extract. If not specified, then a
273
+ Writable stream is returned where the archive data should be
274
+ written. [Alias: `f`]
275
+ - `sync` Create files and directories synchronously.
276
+ - `strict` Treat warnings as crash-worthy errors. Default false.
277
+ - `filter` A function that gets called with `(path, entry)` for each
278
+ entry being unpacked. Return `true` to unpack the entry from the
279
+ archive, or `false` to skip it.
280
+ - `newer` Set to true to keep the existing file on disk if it's newer
281
+ than the file in the archive. [Alias: `keep-newer`,
282
+ `keep-newer-files`]
283
+ - `keep` Do not overwrite existing files. In particular, if a file
284
+ appears more than once in an archive, later copies will not
285
+ overwrite earlier copies. [Alias: `k`, `keep-existing`]
286
+ - `preservePaths` Allow absolute paths, paths containing `..`, and
287
+ extracting through symbolic links. By default, `/` is stripped from
288
+ absolute paths, `..` paths are not extracted, and any file whose
289
+ location would be modified by a symbolic link is not extracted.
290
+ [Alias: `P`]
291
+ - `unlink` Unlink files before creating them. Without this option,
292
+ tar overwrites existing files, which preserves existing hardlinks.
293
+ With this option, existing hardlinks will be broken, as will any
294
+ symlink that would affect the location of an extracted file. [Alias:
295
+ `U`]
296
+ - `strip` Remove the specified number of leading path elements.
297
+ Pathnames with fewer elements will be silently skipped. Note that
298
+ the pathname is edited after applying the filter, but before
299
+ security checks. [Alias: `strip-components`, `stripComponents`]
300
+ - `onwarn` A function that will get called with `(message, data)` for
301
+ any warnings encountered.
302
+ - `preserveOwner` If true, tar will set the `uid` and `gid` of
303
+ extracted entries to the `uid` and `gid` fields in the archive.
304
+ This defaults to true when run as root, and false otherwise. If
305
+ false, then files and directories will be set with the owner and
306
+ group of the user running the process. This is similar to `-p` in
307
+ `tar(1)`, but ACLs and other system-specific data is never unpacked
308
+ in this implementation, and modes are set by default already.
309
+ [Alias: `p`]
310
+ - `uid` Set to a number to force ownership of all extracted files and
311
+ folders, and all implicitly created directories, to be owned by the
312
+ specified user id, regardless of the `uid` field in the archive.
313
+ Cannot be used along with `preserveOwner`. Requires also setting a
314
+ `gid` option.
315
+ - `gid` Set to a number to force ownership of all extracted files and
316
+ folders, and all implicitly created directories, to be owned by the
317
+ specified group id, regardless of the `gid` field in the archive.
318
+ Cannot be used along with `preserveOwner`. Requires also setting a
319
+ `uid` option.
320
+ - `noMtime` Set to true to omit writing `mtime` value for extracted
321
+ entries. [Alias: `m`, `no-mtime`]
322
+ - `transform` Provide a function that takes an `entry` object, and
323
+ returns a stream, or any falsey value. If a stream is provided,
324
+ then that stream's data will be written instead of the contents of
325
+ the archive entry. If a falsey value is provided, then the entry is
326
+ written to disk as normal. (To exclude items from extraction, use
327
+ the `filter` option described above.)
328
+ - `onentry` A function that gets called with `(entry)` for each entry
329
+ that passes the filter.
330
+
331
+ The following options are mostly internal, but can be modified in some
332
+ advanced use cases, such as re-using caches between runs.
333
+
334
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
335
+ Defaults to 16 MB.
336
+ - `umask` Filter the modes of entries like `process.umask()`.
337
+ - `dmode` Default mode for directories
338
+ - `fmode` Default mode for files
339
+ - `dirCache` A Map object of which directories exist.
340
+ - `maxMetaEntrySize` The maximum size of meta entries that is
341
+ supported. Defaults to 1 MB.
342
+
343
+ Note that using an asynchronous stream type with the `transform`
344
+ option will cause undefined behavior in sync extractions.
345
+ [MiniPass](http://npm.im/minipass)-based streams are designed for this
346
+ use case.
347
+
348
+ ### tar.t(options, fileList, callback) [alias: tar.list]
349
+
350
+ List the contents of a tarball archive.
351
+
352
+ The `fileList` is an array of paths to list from the tarball. If
353
+ no paths are provided, then all the entries are listed.
354
+
355
+ If the archive is gzipped, then tar will detect this and unzip it.
356
+
357
+ Returns an event emitter that emits `entry` events with
358
+ `tar.ReadEntry` objects. However, they don't emit `'data'` or `'end'`
359
+ events. (If you want to get actual readable entries, use the
360
+ `tar.Parse` class instead.)
361
+
362
+ The following options are supported:
363
+
364
+ - `cwd` Extract files relative to the specified directory. Defaults
365
+ to `process.cwd()`. [Alias: `C`]
366
+ - `file` The archive file to list. If not specified, then a
367
+ Writable stream is returned where the archive data should be
368
+ written. [Alias: `f`]
369
+ - `sync` Read the specified file synchronously. (This has no effect
370
+ when a file option isn't specified, because entries are emitted as
371
+ fast as they are parsed from the stream anyway.)
372
+ - `strict` Treat warnings as crash-worthy errors. Default false.
373
+ - `filter` A function that gets called with `(path, entry)` for each
374
+ entry being listed. Return `true` to emit the entry from the
375
+ archive, or `false` to skip it.
376
+ - `onentry` A function that gets called with `(entry)` for each entry
377
+ that passes the filter. This is important for when both `file` and
378
+ `sync` are set, because it will be called synchronously.
379
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
380
+ Defaults to 16 MB.
381
+ - `noResume` By default, `entry` streams are resumed immediately after
382
+ the call to `onentry`. Set `noResume: true` to suppress this
383
+ behavior. Note that by opting into this, the stream will never
384
+ complete until the entry data is consumed.
385
+
386
+ ### tar.u(options, fileList, callback) [alias: tar.update]
387
+
388
+ Add files to an archive if they are newer than the entry already in
389
+ the tarball archive.
390
+
391
+ The `fileList` is an array of paths to add to the tarball. Adding a
392
+ directory also adds its children recursively.
393
+
394
+ An entry in `fileList` that starts with an `@` symbol is a tar archive
395
+ whose entries will be added. To add a file that starts with `@`,
396
+ prepend it with `./`.
397
+
398
+ The following options are supported:
399
+
400
+ - `file` Required. Write the tarball archive to the specified
401
+ filename. [Alias: `f`]
402
+ - `sync` Act synchronously. If this is set, then any provided file
403
+ will be fully written after the call to `tar.c`.
404
+ - `onwarn` A function that will get called with `(message, data)` for
405
+ any warnings encountered.
406
+ - `strict` Treat warnings as crash-worthy errors. Default false.
407
+ - `cwd` The current working directory for adding entries to the
408
+ archive. Defaults to `process.cwd()`. [Alias: `C`]
409
+ - `prefix` A path portion to prefix onto the entries in the archive.
410
+ - `gzip` Set to any truthy value to create a gzipped archive, or an
411
+ object with settings for `zlib.Gzip()` [Alias: `z`]
412
+ - `filter` A function that gets called with `(path, stat)` for each
413
+ entry being added. Return `true` to add the entry to the archive,
414
+ or `false` to omit it.
415
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
416
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
417
+ that `mtime` is still included, because this is necessary other
418
+ time-based operations.
419
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
420
+ from absolute paths. [Alias: `P`]
421
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
422
+ Defaults to 16 MB.
423
+ - `noDirRecurse` Do not recursively archive the contents of
424
+ directories. [Alias: `n`]
425
+ - `follow` Set to true to pack the targets of symbolic links. Without
426
+ this option, symbolic links are archived as such. [Alias: `L`, `h`]
427
+ - `noPax` Suppress pax extended headers. Note that this means that
428
+ long paths and linkpaths will be truncated, and large or negative
429
+ numeric values may be interpreted incorrectly.
430
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
431
+ Note that this prevents using other mtime-based features like
432
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
433
+ [Alias: `m`, `no-mtime`]
434
+ - `mtime` Set to a `Date` object to force a specific `mtime` for
435
+ everything added to the archive. Overridden by `noMtime`.
436
+
437
+ ### tar.r(options, fileList, callback) [alias: tar.replace]
438
+
439
+ Add files to an existing archive. Because later entries override
440
+ earlier entries, this effectively replaces any existing entries.
441
+
442
+ The `fileList` is an array of paths to add to the tarball. Adding a
443
+ directory also adds its children recursively.
444
+
445
+ An entry in `fileList` that starts with an `@` symbol is a tar archive
446
+ whose entries will be added. To add a file that starts with `@`,
447
+ prepend it with `./`.
448
+
449
+ The following options are supported:
450
+
451
+ - `file` Required. Write the tarball archive to the specified
452
+ filename. [Alias: `f`]
453
+ - `sync` Act synchronously. If this is set, then any provided file
454
+ will be fully written after the call to `tar.c`.
455
+ - `onwarn` A function that will get called with `(message, data)` for
456
+ any warnings encountered.
457
+ - `strict` Treat warnings as crash-worthy errors. Default false.
458
+ - `cwd` The current working directory for adding entries to the
459
+ archive. Defaults to `process.cwd()`. [Alias: `C`]
460
+ - `prefix` A path portion to prefix onto the entries in the archive.
461
+ - `gzip` Set to any truthy value to create a gzipped archive, or an
462
+ object with settings for `zlib.Gzip()` [Alias: `z`]
463
+ - `filter` A function that gets called with `(path, stat)` for each
464
+ entry being added. Return `true` to add the entry to the archive,
465
+ or `false` to omit it.
466
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
467
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
468
+ that `mtime` is still included, because this is necessary other
469
+ time-based operations.
470
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
471
+ from absolute paths. [Alias: `P`]
472
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
473
+ Defaults to 16 MB.
474
+ - `noDirRecurse` Do not recursively archive the contents of
475
+ directories. [Alias: `n`]
476
+ - `follow` Set to true to pack the targets of symbolic links. Without
477
+ this option, symbolic links are archived as such. [Alias: `L`, `h`]
478
+ - `noPax` Suppress pax extended headers. Note that this means that
479
+ long paths and linkpaths will be truncated, and large or negative
480
+ numeric values may be interpreted incorrectly.
481
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
482
+ Note that this prevents using other mtime-based features like
483
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
484
+ [Alias: `m`, `no-mtime`]
485
+ - `mtime` Set to a `Date` object to force a specific `mtime` for
486
+ everything added to the archive. Overridden by `noMtime`.
487
+
488
+
489
+ ## Low-Level API
490
+
491
+ ### class tar.Pack
492
+
493
+ A readable tar stream.
494
+
495
+ Has all the standard readable stream interface stuff. `'data'` and
496
+ `'end'` events, `read()` method, `pause()` and `resume()`, etc.
497
+
498
+ #### constructor(options)
499
+
500
+ The following options are supported:
501
+
502
+ - `onwarn` A function that will get called with `(message, data)` for
503
+ any warnings encountered.
504
+ - `strict` Treat warnings as crash-worthy errors. Default false.
505
+ - `cwd` The current working directory for creating the archive.
506
+ Defaults to `process.cwd()`.
507
+ - `prefix` A path portion to prefix onto the entries in the archive.
508
+ - `gzip` Set to any truthy value to create a gzipped archive, or an
509
+ object with settings for `zlib.Gzip()`
510
+ - `filter` A function that gets called with `(path, stat)` for each
511
+ entry being added. Return `true` to add the entry to the archive,
512
+ or `false` to omit it.
513
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
514
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
515
+ that `mtime` is still included, because this is necessary other
516
+ time-based operations.
517
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
518
+ from absolute paths.
519
+ - `linkCache` A Map object containing the device and inode value for
520
+ any file whose nlink is > 1, to identify hard links.
521
+ - `statCache` A Map object that caches calls `lstat`.
522
+ - `readdirCache` A Map object that caches calls to `readdir`.
523
+ - `jobs` A number specifying how many concurrent jobs to run.
524
+ Defaults to 4.
525
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
526
+ Defaults to 16 MB.
527
+ - `noDirRecurse` Do not recursively archive the contents of
528
+ directories.
529
+ - `follow` Set to true to pack the targets of symbolic links. Without
530
+ this option, symbolic links are archived as such.
531
+ - `noPax` Suppress pax extended headers. Note that this means that
532
+ long paths and linkpaths will be truncated, and large or negative
533
+ numeric values may be interpreted incorrectly.
534
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
535
+ Note that this prevents using other mtime-based features like
536
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
537
+ - `mtime` Set to a `Date` object to force a specific `mtime` for
538
+ everything added to the archive. Overridden by `noMtime`.
539
+
540
+ #### add(path)
541
+
542
+ Adds an entry to the archive. Returns the Pack stream.
543
+
544
+ #### write(path)
545
+
546
+ Adds an entry to the archive. Returns true if flushed.
547
+
548
+ #### end()
549
+
550
+ Finishes the archive.
551
+
552
+ ### class tar.Pack.Sync
553
+
554
+ Synchronous version of `tar.Pack`.
555
+
556
+ ### class tar.Unpack
557
+
558
+ A writable stream that unpacks a tar archive onto the file system.
559
+
560
+ All the normal writable stream stuff is supported. `write()` and
561
+ `end()` methods, `'drain'` events, etc.
562
+
563
+ Note that all directories that are created will be forced to be
564
+ writable, readable, and listable by their owner, to avoid cases where
565
+ a directory prevents extraction of child entries by virtue of its
566
+ mode.
567
+
568
+ `'close'` is emitted when it's done writing stuff to the file system.
569
+
570
+ Most unpack errors will cause a `warn` event to be emitted. If the
571
+ `cwd` is missing, or not a directory, then an error will be emitted.
572
+
573
+ #### constructor(options)
574
+
575
+ - `cwd` Extract files relative to the specified directory. Defaults
576
+ to `process.cwd()`. If provided, this must exist and must be a
577
+ directory.
578
+ - `filter` A function that gets called with `(path, entry)` for each
579
+ entry being unpacked. Return `true` to unpack the entry from the
580
+ archive, or `false` to skip it.
581
+ - `newer` Set to true to keep the existing file on disk if it's newer
582
+ than the file in the archive.
583
+ - `keep` Do not overwrite existing files. In particular, if a file
584
+ appears more than once in an archive, later copies will not
585
+ overwrite earlier copies.
586
+ - `preservePaths` Allow absolute paths, paths containing `..`, and
587
+ extracting through symbolic links. By default, `/` is stripped from
588
+ absolute paths, `..` paths are not extracted, and any file whose
589
+ location would be modified by a symbolic link is not extracted.
590
+ - `unlink` Unlink files before creating them. Without this option,
591
+ tar overwrites existing files, which preserves existing hardlinks.
592
+ With this option, existing hardlinks will be broken, as will any
593
+ symlink that would affect the location of an extracted file.
594
+ - `strip` Remove the specified number of leading path elements.
595
+ Pathnames with fewer elements will be silently skipped. Note that
596
+ the pathname is edited after applying the filter, but before
597
+ security checks.
598
+ - `onwarn` A function that will get called with `(message, data)` for
599
+ any warnings encountered.
600
+ - `umask` Filter the modes of entries like `process.umask()`.
601
+ - `dmode` Default mode for directories
602
+ - `fmode` Default mode for files
603
+ - `dirCache` A Map object of which directories exist.
604
+ - `maxMetaEntrySize` The maximum size of meta entries that is
605
+ supported. Defaults to 1 MB.
606
+ - `preserveOwner` If true, tar will set the `uid` and `gid` of
607
+ extracted entries to the `uid` and `gid` fields in the archive.
608
+ This defaults to true when run as root, and false otherwise. If
609
+ false, then files and directories will be set with the owner and
610
+ group of the user running the process. This is similar to `-p` in
611
+ `tar(1)`, but ACLs and other system-specific data is never unpacked
612
+ in this implementation, and modes are set by default already.
613
+ - `win32` True if on a windows platform. Causes behavior where
614
+ filenames containing `<|>?` chars are converted to
615
+ windows-compatible values while being unpacked.
616
+ - `uid` Set to a number to force ownership of all extracted files and
617
+ folders, and all implicitly created directories, to be owned by the
618
+ specified user id, regardless of the `uid` field in the archive.
619
+ Cannot be used along with `preserveOwner`. Requires also setting a
620
+ `gid` option.
621
+ - `gid` Set to a number to force ownership of all extracted files and
622
+ folders, and all implicitly created directories, to be owned by the
623
+ specified group id, regardless of the `gid` field in the archive.
624
+ Cannot be used along with `preserveOwner`. Requires also setting a
625
+ `uid` option.
626
+ - `noMtime` Set to true to omit writing `mtime` value for extracted
627
+ entries.
628
+ - `transform` Provide a function that takes an `entry` object, and
629
+ returns a stream, or any falsey value. If a stream is provided,
630
+ then that stream's data will be written instead of the contents of
631
+ the archive entry. If a falsey value is provided, then the entry is
632
+ written to disk as normal. (To exclude items from extraction, use
633
+ the `filter` option described above.)
634
+ - `strict` Treat warnings as crash-worthy errors. Default false.
635
+ - `onentry` A function that gets called with `(entry)` for each entry
636
+ that passes the filter.
637
+ - `onwarn` A function that will get called with `(message, data)` for
638
+ any warnings encountered.
639
+
640
+ ### class tar.Unpack.Sync
641
+
642
+ Synchronous version of `tar.Unpack`.
643
+
644
+ Note that using an asynchronous stream type with the `transform`
645
+ option will cause undefined behavior in sync unpack streams.
646
+ [MiniPass](http://npm.im/minipass)-based streams are designed for this
647
+ use case.
648
+
649
+ ### class tar.Parse
650
+
651
+ A writable stream that parses a tar archive stream. All the standard
652
+ writable stream stuff is supported.
653
+
654
+ If the archive is gzipped, then tar will detect this and unzip it.
655
+
656
+ Emits `'entry'` events with `tar.ReadEntry` objects, which are
657
+ themselves readable streams that you can pipe wherever.
658
+
659
+ Each `entry` will not emit until the one before it is flushed through,
660
+ so make sure to either consume the data (with `on('data', ...)` or
661
+ `.pipe(...)`) or throw it away with `.resume()` to keep the stream
662
+ flowing.
663
+
664
+ #### constructor(options)
665
+
666
+ Returns an event emitter that emits `entry` events with
667
+ `tar.ReadEntry` objects.
668
+
669
+ The following options are supported:
670
+
671
+ - `strict` Treat warnings as crash-worthy errors. Default false.
672
+ - `filter` A function that gets called with `(path, entry)` for each
673
+ entry being listed. Return `true` to emit the entry from the
674
+ archive, or `false` to skip it.
675
+ - `onentry` A function that gets called with `(entry)` for each entry
676
+ that passes the filter.
677
+ - `onwarn` A function that will get called with `(message, data)` for
678
+ any warnings encountered.
679
+
680
+ #### abort(message, error)
681
+
682
+ Stop all parsing activities. This is called when there are zlib
683
+ errors. It also emits a warning with the message and error provided.
684
+
685
+ ### class tar.ReadEntry extends [MiniPass](http://npm.im/minipass)
686
+
687
+ A representation of an entry that is being read out of a tar archive.
688
+
689
+ It has the following fields:
690
+
691
+ - `extended` The extended metadata object provided to the constructor.
692
+ - `globalExtended` The global extended metadata object provided to the
693
+ constructor.
694
+ - `remain` The number of bytes remaining to be written into the
695
+ stream.
696
+ - `blockRemain` The number of 512-byte blocks remaining to be written
697
+ into the stream.
698
+ - `ignore` Whether this entry should be ignored.
699
+ - `meta` True if this represents metadata about the next entry, false
700
+ if it represents a filesystem object.
701
+ - All the fields from the header, extended header, and global extended
702
+ header are added to the ReadEntry object. So it has `path`, `type`,
703
+ `size, `mode`, and so on.
704
+
705
+ #### constructor(header, extended, globalExtended)
706
+
707
+ Create a new ReadEntry object with the specified header, extended
708
+ header, and global extended header values.
709
+
710
+ ### class tar.WriteEntry extends [MiniPass](http://npm.im/minipass)
711
+
712
+ A representation of an entry that is being written from the file
713
+ system into a tar archive.
714
+
715
+ Emits data for the Header, and for the Pax Extended Header if one is
716
+ required, as well as any body data.
717
+
718
+ Creating a WriteEntry for a directory does not also create
719
+ WriteEntry objects for all of the directory contents.
720
+
721
+ It has the following fields:
722
+
723
+ - `path` The path field that will be written to the archive. By
724
+ default, this is also the path from the cwd to the file system
725
+ object.
726
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
727
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
728
+ that `mtime` is still included, because this is necessary other
729
+ time-based operations.
730
+ - `myuid` If supported, the uid of the user running the current
731
+ process.
732
+ - `myuser` The `env.USER` string if set, or `''`. Set as the entry
733
+ `uname` field if the file's `uid` matches `this.myuid`.
734
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
735
+ Defaults to 1 MB.
736
+ - `linkCache` A Map object containing the device and inode value for
737
+ any file whose nlink is > 1, to identify hard links.
738
+ - `statCache` A Map object that caches calls `lstat`.
739
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
740
+ from absolute paths.
741
+ - `cwd` The current working directory for creating the archive.
742
+ Defaults to `process.cwd()`.
743
+ - `absolute` The absolute path to the entry on the filesystem. By
744
+ default, this is `path.resolve(this.cwd, this.path)`, but it can be
745
+ overridden explicitly.
746
+ - `strict` Treat warnings as crash-worthy errors. Default false.
747
+ - `win32` True if on a windows platform. Causes behavior where paths
748
+ replace `\` with `/` and filenames containing the windows-compatible
749
+ forms of `<|>?:` characters are converted to actual `<|>?:` characters
750
+ in the archive.
751
+ - `noPax` Suppress pax extended headers. Note that this means that
752
+ long paths and linkpaths will be truncated, and large or negative
753
+ numeric values may be interpreted incorrectly.
754
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
755
+ Note that this prevents using other mtime-based features like
756
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
757
+
758
+
759
+ #### constructor(path, options)
760
+
761
+ `path` is the path of the entry as it is written in the archive.
762
+
763
+ The following options are supported:
764
+
765
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
766
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
767
+ that `mtime` is still included, because this is necessary other
768
+ time-based operations.
769
+ - `maxReadSize` The maximum buffer size for `fs.read()` operations.
770
+ Defaults to 1 MB.
771
+ - `linkCache` A Map object containing the device and inode value for
772
+ any file whose nlink is > 1, to identify hard links.
773
+ - `statCache` A Map object that caches calls `lstat`.
774
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
775
+ from absolute paths.
776
+ - `cwd` The current working directory for creating the archive.
777
+ Defaults to `process.cwd()`.
778
+ - `absolute` The absolute path to the entry on the filesystem. By
779
+ default, this is `path.resolve(this.cwd, this.path)`, but it can be
780
+ overridden explicitly.
781
+ - `strict` Treat warnings as crash-worthy errors. Default false.
782
+ - `win32` True if on a windows platform. Causes behavior where paths
783
+ replace `\` with `/`.
784
+ - `onwarn` A function that will get called with `(message, data)` for
785
+ any warnings encountered.
786
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
787
+ Note that this prevents using other mtime-based features like
788
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
789
+ - `umask` Set to restrict the modes on the entries in the archive,
790
+ somewhat like how umask works on file creation. Defaults to
791
+ `process.umask()` on unix systems, or `0o22` on Windows.
792
+
793
+ #### warn(message, data)
794
+
795
+ If strict, emit an error with the provided message.
796
+
797
+ Othewise, emit a `'warn'` event with the provided message and data.
798
+
799
+ ### class tar.WriteEntry.Sync
800
+
801
+ Synchronous version of tar.WriteEntry
802
+
803
+ ### class tar.WriteEntry.Tar
804
+
805
+ A version of tar.WriteEntry that gets its data from a tar.ReadEntry
806
+ instead of from the filesystem.
807
+
808
+ #### constructor(readEntry, options)
809
+
810
+ `readEntry` is the entry being read out of another archive.
811
+
812
+ The following options are supported:
813
+
814
+ - `portable` Omit metadata that is system-specific: `ctime`, `atime`,
815
+ `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note
816
+ that `mtime` is still included, because this is necessary other
817
+ time-based operations.
818
+ - `preservePaths` Allow absolute paths. By default, `/` is stripped
819
+ from absolute paths.
820
+ - `strict` Treat warnings as crash-worthy errors. Default false.
821
+ - `onwarn` A function that will get called with `(message, data)` for
822
+ any warnings encountered.
823
+ - `noMtime` Set to true to omit writing `mtime` values for entries.
824
+ Note that this prevents using other mtime-based features like
825
+ `tar.update` or the `keepNewer` option with the resulting tar archive.
826
+
827
+ ### class tar.Header
828
+
829
+ A class for reading and writing header blocks.
830
+
831
+ It has the following fields:
832
+
833
+ - `nullBlock` True if decoding a block which is entirely composed of
834
+ `0x00` null bytes. (Useful because tar files are terminated by
835
+ at least 2 null blocks.)
836
+ - `cksumValid` True if the checksum in the header is valid, false
837
+ otherwise.
838
+ - `needPax` True if the values, as encoded, will require a Pax
839
+ extended header.
840
+ - `path` The path of the entry.
841
+ - `mode` The 4 lowest-order octal digits of the file mode. That is,
842
+ read/write/execute permissions for world, group, and owner, and the
843
+ setuid, setgid, and sticky bits.
844
+ - `uid` Numeric user id of the file owner
845
+ - `gid` Numeric group id of the file owner
846
+ - `size` Size of the file in bytes
847
+ - `mtime` Modified time of the file
848
+ - `cksum` The checksum of the header. This is generated by adding all
849
+ the bytes of the header block, treating the checksum field itself as
850
+ all ascii space characters (that is, `0x20`).
851
+ - `type` The human-readable name of the type of entry this represents,
852
+ or the alphanumeric key if unknown.
853
+ - `typeKey` The alphanumeric key for the type of entry this header
854
+ represents.
855
+ - `linkpath` The target of Link and SymbolicLink entries.
856
+ - `uname` Human-readable user name of the file owner
857
+ - `gname` Human-readable group name of the file owner
858
+ - `devmaj` The major portion of the device number. Always `0` for
859
+ files, directories, and links.
860
+ - `devmin` The minor portion of the device number. Always `0` for
861
+ files, directories, and links.
862
+ - `atime` File access time.
863
+ - `ctime` File change time.
864
+
865
+ #### constructor(data, [offset=0])
866
+
867
+ `data` is optional. It is either a Buffer that should be interpreted
868
+ as a tar Header starting at the specified offset and continuing for
869
+ 512 bytes, or a data object of keys and values to set on the header
870
+ object, and eventually encode as a tar Header.
871
+
872
+ #### decode(block, offset)
873
+
874
+ Decode the provided buffer starting at the specified offset.
875
+
876
+ Buffer length must be greater than 512 bytes.
877
+
878
+ #### set(data)
879
+
880
+ Set the fields in the data object.
881
+
882
+ #### encode(buffer, offset)
883
+
884
+ Encode the header fields into the buffer at the specified offset.
885
+
886
+ Returns `this.needPax` to indicate whether a Pax Extended Header is
887
+ required to properly encode the specified data.
888
+
889
+ ### class tar.Pax
890
+
891
+ An object representing a set of key-value pairs in an Pax extended
892
+ header entry.
893
+
894
+ It has the following fields. Where the same name is used, they have
895
+ the same semantics as the tar.Header field of the same name.
896
+
897
+ - `global` True if this represents a global extended header, or false
898
+ if it is for a single entry.
899
+ - `atime`
900
+ - `charset`
901
+ - `comment`
902
+ - `ctime`
903
+ - `gid`
904
+ - `gname`
905
+ - `linkpath`
906
+ - `mtime`
907
+ - `path`
908
+ - `size`
909
+ - `uid`
910
+ - `uname`
911
+ - `dev`
912
+ - `ino`
913
+ - `nlink`
914
+
915
+ #### constructor(object, global)
916
+
917
+ Set the fields set in the object. `global` is a boolean that defaults
918
+ to false.
919
+
920
+ #### encode()
921
+
922
+ Return a Buffer containing the header and body for the Pax extended
923
+ header entry, or `null` if there is nothing to encode.
924
+
925
+ #### encodeBody()
926
+
927
+ Return a string representing the body of the pax extended header
928
+ entry.
929
+
930
+ #### encodeField(fieldName)
931
+
932
+ Return a string representing the key/value encoding for the specified
933
+ fieldName, or `''` if the field is unset.
934
+
935
+ ### tar.Pax.parse(string, extended, global)
936
+
937
+ Return a new Pax object created by parsing the contents of the string
938
+ provided.
939
+
940
+ If the `extended` object is set, then also add the fields from that
941
+ object. (This is necessary because multiple metadata entries can
942
+ occur in sequence.)
943
+
944
+ ### tar.types
945
+
946
+ A translation table for the `type` field in tar headers.
947
+
948
+ #### tar.types.name.get(code)
949
+
950
+ Get the human-readable name for a given alphanumeric code.
951
+
952
+ #### tar.types.code.get(name)
953
+
954
+ Get the alphanumeric code for a given human-readable name.