diff --git a/node_modules/.cache/esm/.data.blob b/node_modules/.cache/esm/.data.blob new file mode 100644 index 0000000000000..4129ea5998e1a Binary files /dev/null and b/node_modules/.cache/esm/.data.blob differ diff --git a/node_modules/.cache/esm/.data.json b/node_modules/.cache/esm/.data.json new file mode 100644 index 0000000000000..f851c60aec737 --- /dev/null +++ b/node_modules/.cache/esm/.data.json @@ -0,0 +1 @@ +{"map":{"4bcc649921137845.js":[0,1304],"07779371d9bcdfe7.js":[1304,31848],"a1dd45ce21137845.js":[31848,36152],"c68f825757a510ce.js":[36152,42304],"6eea19f457a510ce.js":[42304,50472],"a96a3ae957a510ce.js":[50472,51368],"249b34c957a510ce.js":[51368,52800],"d167523921137845.js":[52800,54472],"6368250b3460ae95.js":[54472,64864],"fd9a39b63460ae95.js":[64864,70280],"827da7f13460ae95.js":[70280,71352],"e380589c3460ae95.js":[71352,86144],"5c89a8627f0b843f.js":[86144,87104],"757252ca2f95aacc.js":[87104,89728],"f1377aed2d350237.js":[89728,91032],"90c86af42d350237.js":[91032,92112],"6c86a43bf1f0a572.js":[92112,95120],"27cf29e11771f47f.js":[95120,96928],"a126fac52d350237.js":[96928,98216],"903ec97349f7d246.js":[98216,104224],"d6b1a5cc2d350237.js":[104224,105216],"652a22bd2d350237.js":[105216,106312],"e46041010def8cae.js":[106312,108992],"bf748d6edb2fb243.js":[108992,110232],"8fb3696b3460ae95.js":[110232,117824],"6e772becc7eb21f6.js":[117824,118616],"3eb4319591adc060.js":[118616,119704],"46bcf78dc8a0631a.js":[119704,141392],"90d784883d1e01a1.js":[141392,150496],"7a844a993d1e01a1.js":[150496,154824],"106fca493d1e01a1.js":[154824,155672],"15be35003460ae95.js":[155672,156344],"ce123ba33460ae95.js":[156344,158744],"0901d4793460ae95.js":[158744,165784],"c4b8157a3460ae95.js":[165784,167048],"72d522f73460ae95.js":[167048,167944],"87d535e03460ae95.js":[167944,168928],"95ebed323460ae95.js":[168928,170272],"5daa52f93460ae95.js":[170272,174736],"60f2c5c03460ae95.js":[174736,178136],"032dd61a3460ae95.js":[178136,178992],"2eae96eb3460ae95.js":[178992,180144],"56220cae3460ae95.js":[180144,181120],"308ed2fc3460ae95.js":[181120,182136],"10bef34d3460ae95.js":[182136,183152],"982d93843460ae95.js":[183152,184168],"b810cce53460ae95.js":[184168,186320],"ceb824843460ae95.js":[186320,188264],"4020db4a3460ae95.js":[188264,191080],"b084cffd3460ae95.js":[191080,192984],"5ecd93133460ae95.js":[192984,194784],"9e647a303460ae95.js":[194784,195688],"14e198bc3460ae95.js":[195688,197312],"826ad8153460ae95.js":[197312,198512],"b0cb623d3460ae95.js":[198512,199624],"22094b093460ae95.js":[199624,200752],"e621b50e3460ae95.js":[200752,201912],"9a2117653460ae95.js":[201912,203248],"770b039b3460ae95.js":[203248,204568],"b445ec493460ae95.js":[204568,206160],"6050b3aedc569a8e.js":[206160,305496],"a57cc8d83460ae95.js":[305496,311816],"5bbeb335c511c9bd.js":[311816,312760],"0f5628d07bbf5e2b.js":[312760,313800],"fea194433460ae95.js":[313800,314928],"5a090291b1265ae5.js":[314928,316544],"3f171c9a0e13a01b.js":[316544,318024],"0b74009b3460ae95.js":[318024,318712],"3181bd913460ae95.js":[318712,321128],"6ce3e36a3460ae95.js":[321128,328184],"c41fb0f13460ae95.js":[328184,329464],"7ae873b23460ae95.js":[329464,330376],"d19c33293460ae95.js":[330376,331376],"f6a5ab073460ae95.js":[331376,332736],"7ac8e63d3460ae95.js":[332736,337216],"885439923460ae95.js":[337216,340632],"79b103f53460ae95.js":[340632,341504],"4ca9cd073460ae95.js":[341504,342672],"6368eaff3460ae95.js":[342672,343664],"6069c96e3460ae95.js":[343664,344696],"8fbe9f5d3460ae95.js":[344696,345728],"8a3e95f93460ae95.js":[345728,346760],"fe6ea95f3460ae95.js":[346760,348928],"d61181383460ae95.js":[348928,350888],"8c9da74d3460ae95.js":[350888,353712],"5fd4a5d53460ae95.js":[353712,355640],"c864808c3460ae95.js":[355640,357456],"37bde71c3460ae95.js":[357456,358384],"5522f9cb3460ae95.js":[358384,360024],"8379b1a23460ae95.js":[360024,361240],"3e818da03460ae95.js":[361240,362376],"0d4f801b3460ae95.js":[362376,363520],"38d5fbe53460ae95.js":[363520,364696],"1f248b433460ae95.js":[364696,366048],"b58e74223460ae95.js":[366048,367384],"e488e6883460ae95.js":[367384,368992],"3987a10c3460ae95.js":[368992,375328],"e79a9a501194c3a5.js":[375328,376936],"45d396698b91a4fe.js":[376936,377792],"5ea879023460ae95.js":[377792,380032],"a31ecd733460ae95.js":[380032,381816],"72689e479e359637.js":[381816,384344],"c7d681d33d1e01a1.js":[384344,385480],"27b79903d9bcdfe7.js":[385480,388104],"c2d48a5611e1cf2f.js":[388104,393784],"bd95a1cbc2cce000.js":[393784,395400],"a3a26e99c2cce000.js":[395400,397368],"c308578b6c7a370e.js":[397368,402208],"ffaea614db2fb243.js":[402208,404504],"375fe35fa64d3c66.js":[404504,405384],"d1731f20fbafa855.js":[405384,406312],"a5de0d289a2960f3.js":[406312,407200],"4731d2d7e8691b4c.js":[407200,408104],"d620319557a510ce.js":[408104,411624],"f810c3c211e1cf2f.js":[411624,413680],"6ac702a29a2960f3.js":[413680,414808],"154f8623a932150e.js":[414808,416096],"1ed6ea1cc7eb21f6.js":[416096,417480],"c1140e9502a7330b.js":[417480,421784],"8deaf0ac02a7330b.js":[421784,423104],"3de39d6221137845.js":[423104,425696],"59f2e00721137845.js":[425696,432320],"fb489729ee2e6385.js":[432320,433872],"1a6108d8949381e5.js":[433872,434592],"8a215617ed237473.js":[434592,435496],"16421edadb2fb243.js":[435496,451344],"01261cd2db2fb243.js":[451344,461472],"38864d23db2fb243.js":[461472,463912],"37f69b83ed237473.js":[463912,468208],"146a6fb6db2fb243.js":[468208,470840],"f2dcb781db2fb243.js":[470840,472800],"0801a3e5db2fb243.js":[472800,475864],"91312eeedb2fb243.js":[475864,477632],"7a207b7fdb2fb243.js":[477632,480840],"3b6504b7ed237473.js":[480840,483488],"20ca4040ed237473.js":[483488,500048],"68dcb23fdb2fb243.js":[500048,502904],"72af042eed237473.js":[502904,504272],"240b3df2db2fb243.js":[504272,505632],"e9b30599db2fb243.js":[505632,507328],"ff5f8efded237473.js":[507328,509288],"2fedd8d8ed237473.js":[509288,512440],"ea698191db2fb243.js":[512440,514376],"27d4b716db2fb243.js":[514376,517952],"d7aa69dbdb2fb243.js":[517952,525632],"f77f61acdb2fb243.js":[525632,528336],"95efb346ed237473.js":[528336,530768],"817825cadb2fb243.js":[530768,534808],"bafeb408db2fb243.js":[534808,537064],"56a56173db2fb243.js":[537064,540432],"b7953906db2fb243.js":[540432,542120],"479d2c59db2fb243.js":[542120,545888],"76f7b8ffdb2fb243.js":[545888,548736],"d97349c3db2fb243.js":[548736,550328],"b72c85c5db2fb243.js":[550328,553496],"7b6e32b2db2fb243.js":[553496,555400],"71a30454db2fb243.js":[555400,559376],"e7db54a9db2fb243.js":[559376,560616],"aeda560adb2fb243.js":[560616,562240],"87362b4eed237473.js":[562240,563520],"5586a11b21137845.js":[563520,567528],"9ac01a63c7eb21f6.js":[567528,574952],"5475fe4cb6142426.js":[574952,575808],"227c3384b6142426.js":[575808,578920],"510e81c3b6142426.js":[578920,580128],"d1c3f9ceb6142426.js":[580128,581616],"8e20b5f1b6142426.js":[581616,583288],"36631fd8b6142426.js":[583288,584728],"daaf293eb6142426.js":[584728,592352],"310819608524be10.js":[592352,593464],"f434313b9a2960f3.js":[593464,594296],"a17ba878b6142426.js":[594296,595024],"3261b6e7d9bcdfe7.js":[595024,596704],"6f413501a64d3c66.js":[596704,598816],"7b44115bb6142426.js":[598816,601056],"63450b39b6142426.js":[601056,602200],"679e71b4b6142426.js":[602200,609440],"d3dc197eaf35b0ed.js":[609440,610144],"e3d61160b6142426.js":[610144,612488],"01779f58b6142426.js":[612488,614472],"40fcb2acb6142426.js":[614472,615624],"91d7a96a59e3a5c1.js":[615624,617864],"25e63cfe11e1cf2f.js":[617864,625488],"d5a4c40511e1cf2f.js":[625488,627712],"d5999af5a64d3c66.js":[627712,632136],"9ebac25611e1cf2f.js":[632136,634320],"5c9e03cfa932150e.js":[634320,635464],"e21651cca932150e.js":[635464,636504],"fbecb1a3fbb51954.js":[636504,637360],"baedcd890746b45d.js":[637360,638336],"1c9c43b75c914323.js":[638336,639088],"cbe654779a2960f3.js":[639088,639928],"5bb5e783c7eb21f6.js":[639928,640728],"16523bc011e1cf2f.js":[640728,647528],"4de5acacc7eb21f6.js":[647528,650184],"7daeadeb11e1cf2f.js":[650184,651088],"21a859f311e1cf2f.js":[651088,652120],"f48ef24411e1cf2f.js":[652120,653096],"6c0723c111e1cf2f.js":[653096,654632],"5dfe04f957a510ce.js":[654632,655904],"f4680d3c11e1cf2f.js":[655904,657304],"a567b3ef11e1cf2f.js":[657304,659832],"50221e7711e1cf2f.js":[659832,664688],"d771579911e1cf2f.js":[664688,665896],"44a41bb611e1cf2f.js":[665896,666608],"8c33a61211e1cf2f.js":[666608,667776],"f7ab948711e1cf2f.js":[667776,668448],"03a60fda11e1cf2f.js":[668448,669104],"c2ba311011e1cf2f.js":[669104,669960],"f138e94cd9bcdfe7.js":[669960,671416],"ceeb921002a7330b.js":[671416,672232],"8aa7847102a7330b.js":[672232,673112],"5816381c02a7330b.js":[673112,673872],"893410ef02a7330b.js":[673872,674808],"78a3d8d821137845.js":[674808,677624],"f19ce16321137845.js":[677624,682832],"f682f2e91ba2ddcb.js":[682832,704592],"88a0f006949381e5.js":[704592,708088],"5f4fe0a552aacd1d.js":[708088,724280],"cc0ef42aa64d3c66.js":[724280,732096],"22e182f78524be10.js":[732096,737360],"ad517b9b9a2960f3.js":[737360,742912],"c0246a7052aacd1d.js":[742912,760464],"e9fb4171fd38840b.js":[760464,769248],"0e6a1023771cdbcf.js":[769248,771344],"7cd7f652c7eb21f6.js":[771344,775296],"76b3a14ec7eb21f6.js":[775296,776872],"f282b8bc949381e5.js":[776872,778288],"9bbd50c5af35b0ed.js":[778288,781168],"5d0c035f52aacd1d.js":[781168,784208],"b0e99c11f1ce72b1.js":[784208,786976],"0ca982f452aacd1d.js":[786976,787816],"50eee1bc1ba2ddcb.js":[787816,788952],"e4534bd1f87b83de.js":[788952,790064],"e20bb2601ba2ddcb.js":[790064,792128],"6d9c090252aacd1d.js":[792128,793008],"f1a0bc081ba2ddcb.js":[793008,793776],"06f4ce0d1ba2ddcb.js":[793776,794656],"c908709252aacd1d.js":[794656,795536],"70796505a932150e.js":[795536,800080],"88bec4439a2960f3.js":[800080,802024],"fd5625a29a2960f3.js":[802024,804408],"809ab6e1949381e5.js":[804408,805944],"926fa5604d6a6a14.js":[805944,807824],"1660e80f52aacd1d.js":[807824,811280],"4f1388bc949381e5.js":[811280,812088],"53621745949381e5.js":[812088,815424],"a0854ecd8c7f5525.js":[815424,816104],"ec85d716c7eb21f6.js":[816104,825112],"648f7837c7eb21f6.js":[825112,831184],"e9a53755c7eb21f6.js":[831184,835984],"25d07481f1ce72b1.js":[835984,843312],"4f9b9352c7eb21f6.js":[843312,844328],"00ec0a4ac7eb21f6.js":[844328,848304],"ee8a18fa6c7a370e.js":[848304,858496],"2baf262be0592814.js":[858496,859504],"908c5de2a932150e.js":[859504,864832],"9219df72c7eb21f6.js":[864832,868128],"2eaf7e166c7a370e.js":[868128,880248],"1708e59e57a510ce.js":[880248,888688],"36eb8b353d1e01a1.js":[888688,896208],"cb05bdac3d1e01a1.js":[896208,903424],"8d1c95413d1e01a1.js":[903424,905464],"d0b525a60beb919a.js":[905464,906656],"88a43cb2077984c2.js":[906656,909280],"d9eb5315d9bcdfe7.js":[909280,911104],"c81c20cf077984c2.js":[911104,912512],"f3f94c01077984c2.js":[912512,915256],"f877fd8f077984c2.js":[915256,916760],"d67657490beb919a.js":[916760,917576],"15f983c53d1e01a1.js":[917576,918416],"7d28f4db01b480c5.js":[918416,920640],"b950ca893d1e01a1.js":[920640,929592],"c09009503d1e01a1.js":[929592,931896],"3e48418c01b480c5.js":[931896,936912],"967614978524be10.js":[936912,939184],"12d60f9c0beb919a.js":[939184,939912],"c1d1074e8524be10.js":[939912,940608],"d9f248e38524be10.js":[940608,943144],"457159da8524be10.js":[943144,946152],"431623ce6c7a370e.js":[946152,950928],"a9a1e6116c7a370e.js":[950928,951720],"48d6546a771cdbcf.js":[951720,953264],"303d41904d6a6a14.js":[953264,958344],"35d595931400c1e7.js":[958344,959288],"6ac22420356a0c41.js":[959288,966592],"c01472bbaf35b0ed.js":[966592,967368],"4efa5737af35b0ed.js":[967368,968400],"a791679aaf35b0ed.js":[968400,969344],"137fe466af35b0ed.js":[969344,971184],"171e2c90af35b0ed.js":[971184,972520],"8fb4a211949381e5.js":[972520,974288],"858848e5ce065572.js":[974288,979912],"6d49cb6ce4fab372.js":[979912,987816],"db954cf2e4fab372.js":[987816,993928],"80eac2f77dc6c4fb.js":[993928,995288],"8b2392bfbd969993.js":[995288,996088],"2d75d81c3ff63b4e.js":[996088,997256],"45dca0b4af35b0ed.js":[997256,997984],"dadb112f08fde66d.js":[997984,1001360],"7faced77949381e5.js":[1001360,1003264],"b3812c2d1ba2ddcb.js":[1003264,1039336],"37f52a0a949381e5.js":[1039336,1041040],"8489aa71ee2e6385.js":[1041040,1049816],"5589f9e2ee2e6385.js":[1049816,1066064],"9d69a11ffd38840b.js":[1066064,1069384],"33932d95fd38840b.js":[1069384,1088720],"ee06b94baf35b0ed.js":[1088720,1090200],"46767505ce308a65.js":[1090200,1091096],"d067d798ce308a65.js":[1091096,1092232],"33acb45ace308a65.js":[1092232,1093112],"af2fe88dce308a65.js":[1093112,1101320],"d1e4a4a557a510ce.js":[1101320,1107152],"d63fb86857a510ce.js":[1107152,1112496],"489907f657a510ce.js":[1112496,1115424],"996deff8fd38840b.js":[1115424,1116544],"4824765afd38840b.js":[1116544,1118992],"b141bd40fd38840b.js":[1118992,1120696],"220f42e8fd38840b.js":[1120696,1121512],"06c9b585fd38840b.js":[1121512,1122640],"f6398abcfd38840b.js":[1122640,1123440],"47b16f9bfd38840b.js":[1123440,1124808],"b3585cddfd38840b.js":[1124808,1125576],"dcf5cd5efd38840b.js":[1125576,1127072],"b4ff685f02a7330b.js":[1127072,1127816],"8770cd990beb919a.js":[1127816,1129480],"27b19b9bb6142426.js":[1129480,1131480],"f32121ecb6142426.js":[1131480,1133648],"9ff8af2de98b8cc5.js":[1133648,1134984],"c729e23d59e3a5c1.js":[1134984,1136016],"22683689b6142426.js":[1136016,1137544],"d3b6a9f5077984c2.js":[1137544,1139128],"3bcbbd4bb6142426.js":[1139128,1146328],"98fc0f11817e0f11.js":[1146328,1155480],"b4b41d96949381e5.js":[1155480,1156968],"242f6bb0817e0f11.js":[1156968,1160616],"65f2ffb5949381e5.js":[1160616,1162144],"1c3cbfbd8b91a4fe.js":[1162144,1163952],"21ef77aa1ba2ddcb.js":[1163952,1166040],"c846e85e1ba2ddcb.js":[1166040,1169824],"681b83d41ba2ddcb.js":[1169824,1176560],"34c994041ba2ddcb.js":[1176560,1179608],"5ff5c329949381e5.js":[1179608,1180544],"c0c8be03949381e5.js":[1180544,1182232],"d1e5bedf1ba2ddcb.js":[1182232,1183176],"419932021ba2ddcb.js":[1183176,1184112],"eea1de8c949381e5.js":[1184112,1185152],"243952fd1ba2ddcb.js":[1185152,1186792],"07094fd5ce308a65.js":[1186792,1192608],"85b041121ba2ddcb.js":[1192608,1213936],"b4b52bf81ba2ddcb.js":[1213936,1219464],"e082023b949381e5.js":[1219464,1220352],"c5fe6bab2d619b95.js":[1220352,1223488],"575bc411949381e5.js":[1223488,1224392],"98132f07af35b0ed.js":[1224392,1225280],"e899472eaf35b0ed.js":[1225280,1226168],"ce8d1a519a2960f3.js":[1226168,1228208],"f1c2c2d0e8691b4c.js":[1228208,1229312],"908768a6e8691b4c.js":[1229312,1231128],"1ac10ddce8691b4c.js":[1231128,1232768],"caf3869de8691b4c.js":[1232768,1238400],"c215058ae8691b4c.js":[1238400,1242744],"5f40bbf1e8691b4c.js":[1242744,1243816],"e2fb2a95fbb51954.js":[1243816,1245464],"e36ee6acfbb51954.js":[1245464,1247232],"bfadab00fbb51954.js":[1247232,1249256],"7321134a1400c1e7.js":[1249256,1255312],"62afed70fbb51954.js":[1255312,1256056],"09c542391400c1e7.js":[1256056,1261688],"eeb5c6621400c1e7.js":[1261688,1265544],"dab59a991400c1e7.js":[1265544,1266616],"1b8119c13d1e01a1.js":[1266616,1273744],"d6c0b1dd3d1e01a1.js":[1273744,1276056],"f6ba20841400c1e7.js":[1276056,1277488],"d06141a41400c1e7.js":[1277488,1279976],"b539e5b91400c1e7.js":[1279976,1285712],"fb6466131400c1e7.js":[1285712,1287560],"ea3223ecfbb51954.js":[1287560,1291272],"a0e276e9fbb51954.js":[1291272,1292768],"15e5c22c1400c1e7.js":[1292768,1293976],"cd6764d41400c1e7.js":[1293976,1296248],"d43938161400c1e7.js":[1296248,1297000],"a3d29f7bc2cce000.js":[1297000,1303784],"e5eb9756fbb51954.js":[1303784,1305464],"d38d90881400c1e7.js":[1305464,1311264],"ad620de91400c1e7.js":[1311264,1313168],"31b071041400c1e7.js":[1313168,1314200],"5ab5f584fbb51954.js":[1314200,1315824],"45b64ad31400c1e7.js":[1315824,1321864],"a71f247cfbb51954.js":[1321864,1324032],"0f6cc3b51400c1e7.js":[1324032,1325856],"afcda76ee8691b4c.js":[1325856,1328592],"1034a6a5e8691b4c.js":[1328592,1330024],"55e13bf5e8691b4c.js":[1330024,1331784],"f8ea7e512d619b95.js":[1331784,1332456],"d5d075cb2d619b95.js":[1332456,1336992],"4bb485dc2d619b95.js":[1336992,1337768],"5344cf562d619b95.js":[1337768,1344368],"f832ff312d619b95.js":[1344368,1345616],"cd8cb1482d619b95.js":[1345616,1346680],"6d7e57212d619b95.js":[1346680,1348136],"0a918aaa2d619b95.js":[1348136,1350384],"174beff38524be10.js":[1350384,1352976],"d13d88213d1e01a1.js":[1352976,1354328],"07464f8fcd33734d.js":[1354328,1356912],"a4e0b7710beb919a.js":[1356912,1359952],"9aeb47fbce308a65.js":[1359952,1360888],"1a0c131efbb51954.js":[1360888,1361720],"362b7daecd33734d.js":[1361720,1363496],"126a2c42cd33734d.js":[1363496,1365336],"a413658b0beb919a.js":[1365336,1368928],"0d5131910beb919a.js":[1368928,1370368],"734c39d90beb919a.js":[1370368,1377984],"2cdec8c10beb919a.js":[1377984,1378704],"c6c0218f0beb919a.js":[1378704,1380936],"c3e816d90beb919a.js":[1380936,1382072],"9430084a0beb919a.js":[1382072,1389304],"d69ad0130beb919a.js":[1389304,1391640],"129b135f0beb919a.js":[1391640,1393616],"6a4fd5b90beb919a.js":[1393616,1394760],"7243614ff87b83de.js":[1394760,1396648],"4b46b8df1400c1e7.js":[1396648,1397392],"65ac56991400c1e7.js":[1397392,1398824],"4e2ea5931400c1e7.js":[1398824,1406440],"2756168e1400c1e7.js":[1406440,1407160],"43c074a31400c1e7.js":[1407160,1409392],"0bfeafdc1400c1e7.js":[1409392,1410528],"744ea3ee1400c1e7.js":[1410528,1417760],"20cd53501400c1e7.js":[1417760,1420096],"69fedb0d1400c1e7.js":[1420096,1422072],"38a958701400c1e7.js":[1422072,1423216],"ebc43ddba932150e.js":[1423216,1424024],"807c9aaaa64d3c66.js":[1424024,1426216],"4cf4eaaea64d3c66.js":[1426216,1427656],"25d2b36da64d3c66.js":[1427656,1435280],"7657ea5aa64d3c66.js":[1435280,1436000],"b9374310a64d3c66.js":[1436000,1438240],"0a0afce0a64d3c66.js":[1438240,1439384],"26b09845a64d3c66.js":[1439384,1446624],"b0e510e9a64d3c66.js":[1446624,1448960],"88c9ff51a64d3c66.js":[1448960,1450944],"99b69639a64d3c66.js":[1450944,1452096],"5eb2f40cf1ce72b1.js":[1452096,1454360],"97346bdfc2cce000.js":[1454360,1455792],"5e8defe1f1ce72b1.js":[1455792,1463408],"5df29895f1ce72b1.js":[1463408,1464120],"25fce45df1ce72b1.js":[1464120,1466352],"076adc79f1ce72b1.js":[1466352,1467488],"8fa945c2f1ce72b1.js":[1467488,1474720],"8f60a52ef1ce72b1.js":[1474720,1477048],"a919158bf1ce72b1.js":[1477048,1479024],"d326aca2f1ce72b1.js":[1479024,1480168],"c4c264cbf1ce72b1.js":[1480168,1481856],"7b7060b9f1ce72b1.js":[1481856,1483304],"91d8ee8cf1ce72b1.js":[1483304,1490928],"caa9a902f1ce72b1.js":[1490928,1491656],"d4281284f1ce72b1.js":[1491656,1493904],"f151d072f1ce72b1.js":[1493904,1495048],"d9597abdf1ce72b1.js":[1495048,1502288],"c72b15b8f1ce72b1.js":[1502288,1504632],"f4076e92f1ce72b1.js":[1504632,1506616],"16cb801ef1ce72b1.js":[1506616,1507776],"e73c699be8691b4c.js":[1507776,1509496],"358d2e2ae8691b4c.js":[1509496,1510944],"6fdd3302e8691b4c.js":[1510944,1518568],"f3a0dfc9e8691b4c.js":[1518568,1519296],"38e244bce8691b4c.js":[1519296,1521544],"5d30ae55e8691b4c.js":[1521544,1522688],"6353a824e8691b4c.js":[1522688,1529928],"fd7b0817e8691b4c.js":[1529928,1532272],"adb0223be8691b4c.js":[1532272,1534256],"f93f5307e8691b4c.js":[1534256,1535416],"287ae67c59e3a5c1.js":[1535416,1536616],"dcfe10692d619b95.js":[1536616,1538112],"f46ca05ea932150e.js":[1538112,1541648],"72a18ab62d619b95.js":[1541648,1544736],"4a4a66ad2d619b95.js":[1544736,1547288],"525c528a2d619b95.js":[1547288,1554248],"09f56bba2d619b95.js":[1554248,1558592],"73749ff62d619b95.js":[1558592,1559664],"b4ca00e42d619b95.js":[1559664,1562544],"579dd6972d619b95.js":[1562544,1564376],"f4dd36762d619b95.js":[1564376,1567000],"56271f402d619b95.js":[1567000,1568184],"74c8bb762d619b95.js":[1568184,1569096],"41ddba172d619b95.js":[1569096,1570464],"f67e7b772d619b95.js":[1570464,1571496],"4cd749a62d619b95.js":[1571496,1572168],"8c7c7e592d619b95.js":[1572168,1575192],"5b3ec4d52d619b95.js":[1575192,1576816],"3b71d89be8691b4c.js":[1576816,1579952],"6fa6690a8524be10.js":[1579952,1591056],"0e38bb5711e1cf2f.js":[1591056,1596112],"5bc08f0711e1cf2f.js":[1596112,1598480],"9edd688b11e1cf2f.js":[1598480,1599464],"e8215ce211e1cf2f.js":[1599464,1601144],"f0f81b9de8691b4c.js":[1601144,1603496],"be514d59e8691b4c.js":[1603496,1605784],"af889eafe8691b4c.js":[1605784,1606520],"621d0d5ce8691b4c.js":[1606520,1607408],"4f3fc729e8691b4c.js":[1607408,1608200],"5c4665c1e8691b4c.js":[1608200,1609280],"23238f32e8691b4c.js":[1609280,1610680],"0dccc119e8691b4c.js":[1610680,1612440],"f2e2bc6211e1cf2f.js":[1612440,1614008],"e2b9dae011e1cf2f.js":[1614008,1614880],"0b8f297d1ba2ddcb.js":[1614880,1616456],"da1192d31ba2ddcb.js":[1616456,1618032],"b9535dca1ba2ddcb.js":[1618032,1619456],"9cfb9ab61ba2ddcb.js":[1619456,1622200],"98d0d17c356a0c41.js":[1622200,1625192],"ad269f31949381e5.js":[1625192,1626336],"6cbfadbe1ba2ddcb.js":[1626336,1627056],"7e7113481ba2ddcb.js":[1627056,1627784],"be377c2c1ba2ddcb.js":[1627784,1628760],"31b35a391ba2ddcb.js":[1628760,1632616],"f1ba2406949381e5.js":[1632616,1633448],"adc162f3128f1cfa.js":[1633448,1634248],"4a1371ce59e3a5c1.js":[1634248,1635184],"00d95df159e3a5c1.js":[1635184,1636184],"7b5c8cd8fbb51954.js":[1636184,1637096],"a3ec0fc6817e0f11.js":[1637096,1646496],"7e5891cda932150e.js":[1646496,1651000],"188801a2949381e5.js":[1651000,1651744],"e1ecc1361ba2ddcb.js":[1651744,1652704],"9076369d1ba2ddcb.js":[1652704,1655896],"8bec415f1ba2ddcb.js":[1655896,1657024],"6a4d70581ba2ddcb.js":[1657024,1657976],"ba01d9f21ba2ddcb.js":[1657976,1658696],"fad4a1921ba2ddcb.js":[1658696,1660496],"c9fa1cb51ba2ddcb.js":[1660496,1661664],"d0a718581ba2ddcb.js":[1661664,1662408],"58264a881ba2ddcb.js":[1662408,1663368],"6a4b826e1ba2ddcb.js":[1663368,1664728],"6743457e1ba2ddcb.js":[1664728,1665504],"c3f2e4c01ba2ddcb.js":[1665504,1666976],"cd756d2b1ba2ddcb.js":[1666976,1669208],"8b707fd4817e0f11.js":[1669208,1685272],"759849f21ba2ddcb.js":[1685272,1689248],"4ac67086356a0c41.js":[1689248,1690448],"b31ad0d2356a0c41.js":[1690448,1691440],"e8de3f34356a0c41.js":[1691440,1693072],"6e28fa2b356a0c41.js":[1693072,1693976],"a5ce31d0356a0c41.js":[1693976,1695152],"669e9c648b91a4fe.js":[1695152,1695832],"bf5e439b8b91a4fe.js":[1695832,1697440],"38082ab68b91a4fe.js":[1697440,1700824],"81ef571bfbb51954.js":[1700824,1701768],"941b56a1fbb51954.js":[1701768,1702624],"62ff661efbb51954.js":[1702624,1703400],"5e630567fbb51954.js":[1703400,1704192],"a31a3ada8b91a4fe.js":[1704192,1707640],"21fa45f78b91a4fe.js":[1707640,1711840],"a4183fb9356a0c41.js":[1711840,1712584],"e44b8022356a0c41.js":[1712584,1713416],"a143b6fd52aacd1d.js":[1713416,1717576],"eb87d550949381e5.js":[1717576,1721992],"3fb160fbdb2fb243.js":[1721992,1723712],"05936d9c5c914323.js":[1723712,1726464],"5e349e8c5c914323.js":[1726464,1727352],"dc449859a932150e.js":[1727352,1728792],"70703a6759e3a5c1.js":[1728792,1729616],"3637d58c5c914323.js":[1729616,1731288],"520782f2a932150e.js":[1731288,1737656],"9b8e3b415c914323.js":[1737656,1739152],"1f5caf60949381e5.js":[1739152,1740296],"83bf543152aacd1d.js":[1740296,1742560],"e7471089356a0c41.js":[1742560,1748768],"37b21ae3356a0c41.js":[1748768,1750112],"2fdfc567db2fb243.js":[1750112,1752280],"18de0fccd9bcdfe7.js":[1752280,1755056],"72dffb7b3d1e01a1.js":[1755056,1756568],"19e040933d1e01a1.js":[1756568,1760040],"6bdb4716a64d3c66.js":[1760040,1762664],"fa253311a64d3c66.js":[1762664,1766136],"2cb783d4c2cce000.js":[1766136,1768488],"a79a5c74c2cce000.js":[1768488,1769936],"67c47388c2cce000.js":[1769936,1777568],"3c89d0c5c2cce000.js":[1777568,1778304],"296582c0c2cce000.js":[1778304,1780552],"0dc7ba78c2cce000.js":[1780552,1781704],"1bce9804c2cce000.js":[1781704,1788952],"5a9016f7c2cce000.js":[1788952,1791296],"260fea07c2cce000.js":[1791296,1793288],"9ce50ca2c2cce000.js":[1793288,1794448],"4e5d838fc2cce000.js":[1794448,1796216],"5f542b7da64d3c66.js":[1796216,1796952],"a3dd8cd9d9bcdfe7.js":[1796952,1798208],"588790b7d9bcdfe7.js":[1798208,1801672],"a490cdfae8691b4c.js":[1801672,1802592],"7d1dd094949381e5.js":[1802592,1803704],"3ad75907356a0c41.js":[1803704,1808128],"ab77ca87356a0c41.js":[1808128,1811568],"9fda784c077984c2.js":[1811568,1815200],"a33c5999949381e5.js":[1815200,1819352],"a3e56d3f1ba2ddcb.js":[1819352,1820272],"58b1f9cccd33734d.js":[1820272,1821888],"252052051ba2ddcb.js":[1821888,1831040],"c3bec0ad1ba2ddcb.js":[1831040,1832192],"97d0f3f21ba2ddcb.js":[1832192,1835424],"69a2a907949381e5.js":[1835424,1836528],"dbd230ef11e1cf2f.js":[1836528,1837408],"36b3c46911e1cf2f.js":[1837408,1840616],"09f2dbdd11e1cf2f.js":[1840616,1844080],"b6935e58c2cce000.js":[1844080,1845528],"fb66db5e11e1cf2f.js":[1845528,1847288],"7abe78e211e1cf2f.js":[1847288,1849216],"fec8139f52aacd1d.js":[1849216,1850104],"3912d55c1ba2ddcb.js":[1850104,1851040],"1b6c4485949381e5.js":[1851040,1852096],"693fc05a1ba2ddcb.js":[1852096,1853016],"41b3481ea932150e.js":[1853016,1853968],"ca025078a932150e.js":[1853968,1857472],"f5ea6968a932150e.js":[1857472,1858432],"b3cf4f200beb919a.js":[1858432,1865312],"89df9b2f0beb919a.js":[1865312,1867952],"05c82a06e0592814.js":[1867952,1870704],"7e061b471ba2ddcb.js":[1870704,1871792],"121de30b52aacd1d.js":[1871792,1874216],"69b5fa5e8cf3d03c.js":[1874216,1877808],"5fbaedba5c914323.js":[1877808,1880080],"fbad95b752aacd1d.js":[1880080,1881064],"2526b2cf1ba2ddcb.js":[1881064,1882328],"3f9e04c11ba2ddcb.js":[1882328,1883280],"8bf676b01ba2ddcb.js":[1883280,1884240],"20d5b9131ba2ddcb.js":[1884240,1885536],"e4e5dd521ba2ddcb.js":[1885536,1887840],"b2d89feb1ba2ddcb.js":[1887840,1889688],"7313efdd1ba2ddcb.js":[1889688,1890840],"64b6a6ae949381e5.js":[1890840,1893896],"f20343211ba2ddcb.js":[1893896,1895776],"3726a8d11ba2ddcb.js":[1895776,1897000],"9c87c60e1ba2ddcb.js":[1897000,1898040],"0fa51a001ba2ddcb.js":[1898040,1899576],"09c8bc071ba2ddcb.js":[1899576,1902552],"90c12e2f949381e5.js":[1902552,1903608],"c5ed417aaf35b0ed.js":[1903608,1907840],"aadcfa38e8691b4c.js":[1907840,1908544],"d991b67fe8691b4c.js":[1908544,1910320],"47859fcee8691b4c.js":[1910320,1912488],"b084fe29e8691b4c.js":[1912488,1917024],"1e10760ae8691b4c.js":[1917024,1923368],"d48cfe65356a0c41.js":[1923368,1924600],"474ac529e8691b4c.js":[1924600,1926088],"7f0222006c7a370e.js":[1926088,1932008],"91abc741e3076823.js":[1932008,1932800],"c8e87753e3076823.js":[1932800,1936784],"0f158498e3076823.js":[1936784,1946296],"9f83d8b7077984c2.js":[1946296,1947536],"f3168c813d1e01a1.js":[1947536,1948920],"f20877fee3076823.js":[1948920,1950576],"767ebe1221137845.js":[1950576,1954752],"35dafc0e06132a24.js":[1954752,1958808],"781623e606132a24.js":[1958808,1964680],"efd4c2643460ae95.js":[1964680,1965448],"89d97ac73460ae95.js":[1965448,1967352],"76cef8d83460ae95.js":[1967352,1969696],"c9a511643460ae95.js":[1969696,1971632],"127f9faa3460ae95.js":[1971632,1978000],"0e21c04e3460ae95.js":[1978000,1985512],"4226ae833460ae95.js":[1985512,1987144],"488858353460ae95.js":[1987144,1989128],"98c864573460ae95.js":[1989128,2002536],"0925ff663460ae95.js":[2002536,2004856],"e8db9a2c3460ae95.js":[2004856,2005752],"c978f4573460ae95.js":[2005752,2006704],"86564d453460ae95.js":[2006704,2007608],"db3e21f93460ae95.js":[2007608,2008744],"b8195d3c3460ae95.js":[2008744,2012280],"13a3bada3460ae95.js":[2012280,2017168],"a00591a03460ae95.js":[2017168,2018312],"607b449b3460ae95.js":[2018312,2019624],"c14882d63460ae95.js":[2019624,2021024],"ad1e7cc73460ae95.js":[2021024,2022232],"a16357b23460ae95.js":[2022232,2023040],"6ff419533460ae95.js":[2023040,2026912],"4fbb041e3460ae95.js":[2026912,2028976],"6840c6573460ae95.js":[2028976,2030304],"956307ba3460ae95.js":[2030304,2031128],"54f955193460ae95.js":[2031128,2032424],"8372ca6406132a24.js":[2032424,2058568],"be245bd506132a24.js":[2058568,2064096],"7080511d06132a24.js":[2064096,2071240],"c88d1606949381e5.js":[2071240,2074008],"6eb6e109949381e5.js":[2074008,2075128],"3c4d8db0949381e5.js":[2075128,2077224],"b682994fe8691b4c.js":[2077224,2087080],"849fb652e8691b4c.js":[2087080,2102992],"40138051e8691b4c.js":[2102992,2105712],"22b5013d06132a24.js":[2105712,2115048],"98b2676f06132a24.js":[2115048,2124616],"4763366206132a24.js":[2124616,2131832],"fad9001706132a24.js":[2131832,2147888],"ff1904d306132a24.js":[2147888,2155344],"1ab3008a06132a24.js":[2155344,2161384],"7443e4f606132a24.js":[2161384,2167416],"e305797106132a24.js":[2167416,2187264],"ee5c1c7a93efec47.js":[2187264,2190464],"1cd052defbb51954.js":[2190464,2191208],"121c3df4fbb51954.js":[2191208,2193688],"32176f518cf3d03c.js":[2193688,2198040],"5284bc3a8cf3d03c.js":[2198040,2199472],"fa8239718cf3d03c.js":[2199472,2207080],"b722f39f8cf3d03c.js":[2207080,2207792],"ffb37eda8cf3d03c.js":[2207792,2210024],"1c7d46588cf3d03c.js":[2210024,2211152],"c61852408cf3d03c.js":[2211152,2218376],"094c3f908cf3d03c.js":[2218376,2220704],"d976cf1f8cf3d03c.js":[2220704,2222672],"43d09d5d8cf3d03c.js":[2222672,2223816],"5ad925a8fbb51954.js":[2223816,2229240],"00f40964e98b8cc5.js":[2229240,2230840],"66e222caee2e6385.js":[2230840,2254560],"b6f27b6be98b8cc5.js":[2254560,2255256],"4618d653ee2e6385.js":[2255256,2259392],"47ec6770ee2e6385.js":[2259392,2260616],"a6a949ece98b8cc5.js":[2260616,2262264],"3a7392a3ee2e6385.js":[2262264,2265344],"02f40d0eee2e6385.js":[2265344,2266328],"b4cc7341ee2e6385.js":[2266328,2276136],"64573053ee2e6385.js":[2276136,2278296],"2681d3c8ee2e6385.js":[2278296,2280536],"4527f91eee2e6385.js":[2280536,2281608],"af5182edee2e6385.js":[2281608,2282896],"357b6f0ee98b8cc5.js":[2282896,2284664],"a3b901f1fbb51954.js":[2284664,2291880],"68f8d820c2cce000.js":[2291880,2292608],"77af7b4406132a24.js":[2292608,2299312],"a47e2aa3949381e5.js":[2299312,2306272],"ec680920356a0c41.js":[2306272,2307160],"349004d3128f1cfa.js":[2307160,2308224],"3394276ffbb51954.js":[2308224,2309320],"75f46fd1fbb51954.js":[2309320,2310760],"d4c94d24fbb51954.js":[2310760,2318384],"df83f1eafbb51954.js":[2318384,2319112],"6f6227e8fbb51954.js":[2319112,2321352],"157f0240fbb51954.js":[2321352,2322496],"b0e00bb7fbb51954.js":[2322496,2329736],"75bc6186fbb51954.js":[2329736,2332072],"c0685e86fbb51954.js":[2332072,2334056],"05705441fbb51954.js":[2334056,2335208],"74cfa005128f1cfa.js":[2335208,2337408],"4cf82aa2128f1cfa.js":[2337408,2338768],"29a03864128f1cfa.js":[2338768,2344216],"8b30eb97128f1cfa.js":[2344216,2345040],"21dfeef1128f1cfa.js":[2345040,2348872],"63265540128f1cfa.js":[2348872,2350736],"3938328d128f1cfa.js":[2350736,2352656],"dde510de128f1cfa.js":[2352656,2353816],"27d52b6806132a24.js":[2353816,2365608],"bda5990206132a24.js":[2365608,2376528],"2e87891906132a24.js":[2376528,2384672],"1040f9fa06132a24.js":[2384672,2397520],"48fde36306132a24.js":[2397520,2406432],"aafaa0e906132a24.js":[2406432,2441976],"016a056406132a24.js":[2441976,2457376],"bffbd98b06132a24.js":[2457376,2465056],"31b2a77a06132a24.js":[2465056,2472144],"9b838a6606132a24.js":[2472144,2474544],"6c092b1706132a24.js":[2474544,2480128],"2acd579a3460ae95.js":[2480128,2483616],"7c4a091812e6bcd5.js":[2483616,2485160],"3f9305f906132a24.js":[2485160,2490672],"211cf6d606132a24.js":[2490672,2496336],"9b9978a006132a24.js":[2496336,2501912],"b4cbae7006132a24.js":[2501912,2512992],"3b4503bc06132a24.js":[2512992,2518568],"3749407606132a24.js":[2518568,2526736],"df709e9206132a24.js":[2526736,2532160],"fc8b68dd06132a24.js":[2532160,2538664],"dac6ae0a06132a24.js":[2538664,2541960],"3f96921306132a24.js":[2541960,2547232],"4cc95a5f06132a24.js":[2547232,2550280],"58bbc95506132a24.js":[2550280,2557048],"8a7730d006132a24.js":[2557048,2562032],"90bace7c06132a24.js":[2562032,2567096],"9c7546aa06132a24.js":[2567096,2572024],"9e98839a06132a24.js":[2572024,2577008],"eb5776c406132a24.js":[2577008,2583136],"b16e767b06132a24.js":[2583136,2590912],"1402b44d06132a24.js":[2590912,2614656],"787d1d0706132a24.js":[2614656,2620544],"540ffc4506132a24.js":[2620544,2625856],"0dda87a106132a24.js":[2625856,2629240],"1ec71cb506132a24.js":[2629240,2631384],"bee7caaa06132a24.js":[2631384,2649688],"2920597906132a24.js":[2649688,2654192],"52c3b1e906132a24.js":[2654192,2657920],"452a749f06132a24.js":[2657920,2662336],"62bfb32a06132a24.js":[2662336,2663960],"f9a061a406132a24.js":[2663960,2672488],"4799e81906132a24.js":[2672488,2676744],"b4f355d306132a24.js":[2676744,2681544],"6622e44806132a24.js":[2681544,2685056],"bbc26c4106132a24.js":[2685056,2689416],"747348fc06132a24.js":[2689416,2696184],"42a1f8aa06132a24.js":[2696184,2699704],"0666bfa506132a24.js":[2699704,2706408],"e6c6e2af06132a24.js":[2706408,2710496],"4277d63d06132a24.js":[2710496,2716776],"2a26b58c06132a24.js":[2716776,2722928],"6785f48d06132a24.js":[2722928,2731592],"cda3908f06132a24.js":[2731592,2743720],"9859139f06132a24.js":[2743720,2750824],"f72e208f06132a24.js":[2750824,2758728],"598f7ab11ba2ddcb.js":[2758728,2766296],"08ef1d59949381e5.js":[2766296,2767008],"d42ce918b6142426.js":[2767008,2770136],"7f384b52b6142426.js":[2770136,2771752],"679bccc11400c1e7.js":[2771752,2773048],"43d2b09f1ba2ddcb.js":[2773048,2777824],"3c080774949381e5.js":[2777824,2780064],"27518be41ba2ddcb.js":[2780064,2781760],"4aae3448949381e5.js":[2781760,2784816],"6076b72e1ba2ddcb.js":[2784816,2786312],"b2fe52551ba2ddcb.js":[2786312,2788696],"a7bac1fee98b8cc5.js":[2788696,2792392],"4e325868cad2f3bb.js":[2792392,2794944],"882db2add9bcdfe7.js":[2794944,2796880],"9a014426f87b83de.js":[2796880,2807968],"f73ae395f87b83de.js":[2807968,2808736],"1821f1bfe0592814.js":[2808736,2811736],"5ab31df9f87b83de.js":[2811736,2813528],"b381bf0cf87b83de.js":[2813528,2816232],"5878489cf87b83de.js":[2816232,2817032],"13f0fec5f87b83de.js":[2817032,2817760],"820f3de3d9bcdfe7.js":[2817760,2819928],"7d583c234d6a6a14.js":[2819928,2820848],"5565fe34d9bcdfe7.js":[2820848,2856760],"1914dbb2fbafa855.js":[2856760,2858848],"32a2beeefbafa855.js":[2858848,2862728],"56c93cbafbafa855.js":[2862728,2865272],"8686ec7257a510ce.js":[2865272,2866656],"95fc48d357a510ce.js":[2866656,2868840],"c8f49194fbafa855.js":[2868840,2875696],"0e09b4d2077984c2.js":[2875696,2877560],"6d9fd6dece308a65.js":[2877560,2879816],"9a261ed2ce308a65.js":[2879816,2883648],"d858e057ce308a65.js":[2883648,2890736],"0d47ec06ce308a65.js":[2890736,2893208],"9bb6f5b7ce308a65.js":[2893208,2894888],"f9bec914ce308a65.js":[2894888,2898736],"8b117f56ce308a65.js":[2898736,2901216],"92564acace308a65.js":[2901216,2904776],"dfb8d7e3ce308a65.js":[2904776,2908912],"c2190d34ce308a65.js":[2908912,2912648],"f5957635ce308a65.js":[2912648,2914728],"e03b47b1ce308a65.js":[2914728,2916536],"18951e35ce308a65.js":[2916536,2918304],"7fb916c7fbafa855.js":[2918304,2919176],"68106521fbafa855.js":[2919176,2920272],"b1170bf4fbafa855.js":[2920272,2921128],"1a873dd1fbafa855.js":[2921128,2922816],"307a74a7fbafa855.js":[2922816,2925968],"64ee5934fbafa855.js":[2925968,2929416],"b5e0bef6ce308a65.js":[2929416,2932800],"594f7958ce308a65.js":[2932800,2936536],"121fd348ce308a65.js":[2936536,2938512],"2cd79643ce308a65.js":[2938512,2940336],"c9e834aace308a65.js":[2940336,2943904],"e54fa112ce308a65.js":[2943904,2945472],"d761ab0dce308a65.js":[2945472,2948288],"9fa73207ce308a65.js":[2948288,2952440],"429e27efce308a65.js":[2952440,2955688],"129c1446ce308a65.js":[2955688,2962464],"31d6f4e0ce308a65.js":[2962464,2964016],"7621059057a510ce.js":[2964016,2966904],"509ddac28c7f5525.js":[2966904,2972600],"a09369d6cad2f3bb.js":[2972600,2973912],"359f538faf35b0ed.js":[2973912,2977152],"3ff7bd714d6a6a14.js":[2977152,2979432],"a8e220cf077984c2.js":[2979432,2980752],"11ca72366c7a370e.js":[2980752,2983536],"c1a7b4f36c7a370e.js":[2983536,2984208],"1cc48b7b8b91a4fe.js":[2984208,2989128],"238a0444f1ce72b1.js":[2989128,2991104],"abb4dc66f1ce72b1.js":[2991104,2995144],"cd3a04aea64d3c66.js":[2995144,2998424],"fc898c2359e3a5c1.js":[2998424,3000696],"09c39ac1a64d3c66.js":[3000696,3001432],"1b738f76fbafa855.js":[3001432,3002320],"fe4e93befbafa855.js":[3002320,3003328],"04db5827fbafa855.js":[3003328,3004312],"d1589778fbafa855.js":[3004312,3005152],"5c160e6dfbafa855.js":[3005152,3005880],"986fa5ddfbafa855.js":[3005880,3006704],"ecc102eefbafa855.js":[3006704,3007456],"435dc933fbafa855.js":[3007456,3008336],"32047b2efbafa855.js":[3008336,3009152],"95c6f803fbafa855.js":[3009152,3010384],"664fe414f1ce72b1.js":[3010384,3011168],"1e407f0f4d6a6a14.js":[3011168,3012288],"f68771f19a2960f3.js":[3012288,3013720],"57a62156d9bcdfe7.js":[3013720,3015496],"1ed7397fd9bcdfe7.js":[3015496,3017584],"6d62016ccd33734d.js":[3017584,3018480],"d8eedb62cd33734d.js":[3018480,3020304],"d5d7cd03cd33734d.js":[3020304,3022464],"e0f22c51cd33734d.js":[3022464,3023744],"174b1bcbcd33734d.js":[3023744,3025416],"1df92752d9bcdfe7.js":[3025416,3026848],"3bb5524d57a510ce.js":[3026848,3029968],"5a6e545d0746b45d.js":[3029968,3035304],"33c084430746b45d.js":[3035304,3037568],"edb535fd0746b45d.js":[3037568,3040664],"86c0758ccad2f3bb.js":[3040664,3041584],"cb7dcc6e0746b45d.js":[3041584,3046608],"4b4881870746b45d.js":[3046608,3047344],"f1680f010746b45d.js":[3047344,3048144],"3bdd926c4d6a6a14.js":[3048144,3050168],"f43d86c60746b45d.js":[3050168,3051632],"c7d7a038f1ce72b1.js":[3051632,3052456],"b27007d80746b45d.js":[3052456,3053256],"baa9408c5c914323.js":[3053256,3055208],"13bbf0300746b45d.js":[3055208,3056376],"b3a666c50746b45d.js":[3056376,3065696],"e3eada9e0746b45d.js":[3065696,3066672],"40f01e150746b45d.js":[3066672,3069240],"616b07a40746b45d.js":[3069240,3069968],"eab827250746b45d.js":[3069968,3070696],"a99ad3400746b45d.js":[3070696,3071448],"c0a4f42f0746b45d.js":[3071448,3072176],"de906c750746b45d.js":[3072176,3072912],"3884a16e0746b45d.js":[3072912,3073656],"fcf0144c0746b45d.js":[3073656,3074384],"11da83700746b45d.js":[3074384,3075112],"a394beef0746b45d.js":[3075112,3075840],"e16289a00746b45d.js":[3075840,3076568],"306171600746b45d.js":[3076568,3077312],"cd9588490746b45d.js":[3077312,3078056],"18a39f3b0746b45d.js":[3078056,3078808],"5b4976b20746b45d.js":[3078808,3079552],"c45901b90746b45d.js":[3079552,3080280],"b0cc07fc0746b45d.js":[3080280,3081008],"ea3528f80746b45d.js":[3081008,3081736],"40610bc80746b45d.js":[3081736,3082480],"357216340746b45d.js":[3082480,3083224],"77a396320746b45d.js":[3083224,3083960],"68c2b1c90746b45d.js":[3083960,3084704],"683d7175bc5c122c.js":[3084704,3085984],"eee9a2c50746b45d.js":[3085984,3086832],"fd31ed8e0746b45d.js":[3086832,3087856],"a7f97d830746b45d.js":[3087856,3089064],"41404bdd0746b45d.js":[3089064,3089792],"0d5a811857a510ce.js":[3089792,3090544],"cfd5723157a510ce.js":[3090544,3092536],"4aca19d8d9bcdfe7.js":[3092536,3094504],"41198c8fd9bcdfe7.js":[3094504,3096440],"e7f18520c7eb21f6.js":[3096440,3098248],"607d3ee6d9bcdfe7.js":[3098248,3099408],"805c7a5ad9bcdfe7.js":[3099408,3101344],"c6ec15a9d9bcdfe7.js":[3101344,3106280],"cd71944fd9bcdfe7.js":[3106280,3109352],"f0cfaa57f87b83de.js":[3109352,3112160],"ac0ab1f88524be10.js":[3112160,3114272],"4e677cd81ba2ddcb.js":[3114272,3115952],"3fd239891ba2ddcb.js":[3115952,3118408],"21a2ce66e8691b4c.js":[3118408,3119112],"6262d37d06132a24.js":[3119112,3123376],"ed5c3aa706132a24.js":[3123376,3128200],"2af6a05706132a24.js":[3128200,3132728],"fa255d1106132a24.js":[3132728,3140216],"97a983a706132a24.js":[3140216,3149888],"48b98b3e06132a24.js":[3149888,3156504],"cd25658606132a24.js":[3156504,3161272],"ca970e5406132a24.js":[3161272,3168016],"7ecbbb3906132a24.js":[3168016,3173248],"6f15317a06132a24.js":[3173248,3178440],"307ad0bc06132a24.js":[3178440,3183664],"fd0592bf06132a24.js":[3183664,3188824],"62d64ab706132a24.js":[3188824,3199256],"839806c806132a24.js":[3199256,3210096],"161b85d4949381e5.js":[3210096,3211376],"1069c208949381e5.js":[3211376,3212112],"f885375c949381e5.js":[3212112,3213032],"eb363ae506132a24.js":[3213032,3222800],"60b6b8f406132a24.js":[3222800,3227984],"e39303e106132a24.js":[3227984,3233880],"e5e82bf506132a24.js":[3233880,3238952],"4552e0d206132a24.js":[3238952,3243968],"0f2ecacf06132a24.js":[3243968,3247240],"a629d20806132a24.js":[3247240,3253488],"3185d50906132a24.js":[3253488,3255768],"9c0a694d06132a24.js":[3255768,3270544],"df15b03d06132a24.js":[3270544,3275568],"5c44282f06132a24.js":[3275568,3283208],"9cc09c1f16687672.js":[3283208,3296800],"ca5ee7e11ba2ddcb.js":[3296800,3301424],"03e300d09a2960f3.js":[3301424,3303168],"010723158524be10.js":[3303168,3306096],"a3b7717aee2e6385.js":[3306096,3307024],"da37eb313d1e01a1.js":[3307024,3310208],"0167ba29d78182e9.js":[3310208,3312920],"a2656d8c817e0f11.js":[3312920,3314024],"d2ea6de5d78182e9.js":[3314024,3315256],"f9db893f817e0f11.js":[3315256,3316720],"4ac8b70c16687672.js":[3316720,3321328],"ce13359816687672.js":[3321328,3327000],"91d2f66316687672.js":[3327000,3332032],"010590a816687672.js":[3332032,3337128],"6e897b0816687672.js":[3337128,3341272],"0a4c712a16687672.js":[3341272,3345920],"df2525ca16687672.js":[3345920,3351624],"c4c783e216687672.js":[3351624,3356480],"af98803016687672.js":[3356480,3362672],"8f4d0bda16687672.js":[3362672,3367360],"aafe1a3716687672.js":[3367360,3373944],"3ed1b92d16687672.js":[3373944,3378400],"78dd1fed16687672.js":[3378400,3383008],"0bfd8ac316687672.js":[3383008,3387480],"9e6335f416687672.js":[3387480,3391384],"d78ec56c16687672.js":[3391384,3401776],"9e01492b16687672.js":[3401776,3406632],"65c4bfb5e8691b4c.js":[3406632,3407336],"4fce261016687672.js":[3407336,3411984],"e9b3862416687672.js":[3411984,3415576],"d5dadd3916687672.js":[3415576,3422440],"c7d7bfdc16687672.js":[3422440,3426792],"aa16c52916687672.js":[3426792,3431288],"cf2f2f5016687672.js":[3431288,3437120],"3c94f95f16687672.js":[3437120,3440496],"586e9fe916687672.js":[3440496,3445104],"e1d7a77316687672.js":[3445104,3452528],"c21ff77a16687672.js":[3452528,3455824],"9216ffbf16687672.js":[3455824,3460056],"9a06862516687672.js":[3460056,3464400],"0fcd430616687672.js":[3464400,3470688],"06ab0b0416687672.js":[3470688,3476808],"c285913c16687672.js":[3476808,3485976],"c40bf0e416687672.js":[3485976,3494496],"05022a9d16687672.js":[3494496,3501024],"adf4f46f16687672.js":[3501024,3506152],"bf75042c949381e5.js":[3506152,3507648],"a0ff100416687672.js":[3507648,3512008],"403bc9c316687672.js":[3512008,3516192],"9cd6b3ae16687672.js":[3516192,3527184],"0ed518fd16687672.js":[3527184,3532128],"0c6a693716687672.js":[3532128,3536960],"32ff6abd16687672.js":[3536960,3541968],"6a4651911ba2ddcb.js":[3541968,3556080],"f1892f651ba2ddcb.js":[3556080,3563336],"cb79e25c817e0f11.js":[3563336,3576640],"5ce6c7d7949381e5.js":[3576640,3577664],"1864b024ee2e6385.js":[3577664,3580192],"e8d5779216687672.js":[3580192,3583616],"5fe1da2316687672.js":[3583616,3590464],"db4e4bd216687672.js":[3590464,3594384],"cfdf33d316687672.js":[3594384,3597568],"0f3f36bd16687672.js":[3597568,3603320],"24f36e3f16687672.js":[3603320,3608192],"1af975ae16687672.js":[3608192,3613072],"357105c416687672.js":[3613072,3617680],"5e45d54b16687672.js":[3617680,3621728],"3779a6e316687672.js":[3621728,3625632],"4321123316687672.js":[3625632,3629352],"1b704bb116687672.js":[3629352,3634072],"83b72aeb16687672.js":[3634072,3637672],"fa163c0216687672.js":[3637672,3641952],"06b75f8516687672.js":[3641952,3655960],"a7834a4716687672.js":[3655960,3660040],"1f093e2e16687672.js":[3660040,3666880],"e2a34c0f16687672.js":[3666880,3672144],"c99bb1a516687672.js":[3672144,3676792],"5ad804b916687672.js":[3676792,3681360],"0bd8334216687672.js":[3681360,3691856],"cb946d6816687672.js":[3691856,3699112],"11f0665a16687672.js":[3699112,3708264],"8502e0b716687672.js":[3708264,3714840],"c04bc3b116687672.js":[3714840,3716608],"5e22684516687672.js":[3716608,3724288],"9b7d372616687672.js":[3724288,3733920],"0559a28516687672.js":[3733920,3737968],"f2050d8416687672.js":[3737968,3746976],"ee6e988c16687672.js":[3746976,3749248],"bb12169f16687672.js":[3749248,3752656],"82f6ea8416687672.js":[3752656,3757736],"8433d3ee16687672.js":[3757736,3766344],"30dbbc32949381e5.js":[3766344,3769656],"338ab305949381e5.js":[3769656,3771120],"4d0b94f916687672.js":[3771120,3776712],"68415d2416687672.js":[3776712,3779936],"e915e84316687672.js":[3779936,3782136],"9300f11f16687672.js":[3782136,3785424],"78a7c49816687672.js":[3785424,3789160],"2da696e016687672.js":[3789160,3797296],"70e24ecf16687672.js":[3797296,3805104],"99b9077f16687672.js":[3805104,3807288],"2a33b1f0949381e5.js":[3807288,3813112],"dda64da58c7f5525.js":[3813112,3813792],"bf2a19b08c7f5525.js":[3813792,3814488],"87be401f16687672.js":[3814488,3819144],"39747a3816687672.js":[3819144,3823856],"19c3745f16687672.js":[3823856,3828536],"60e73e0116687672.js":[3828536,3834248],"85ce3b2c16687672.js":[3834248,3840184],"01a565fe16687672.js":[3840184,3846184],"d478126d16687672.js":[3846184,3852704],"c71b3f7d16687672.js":[3852704,3859408],"dc04213c16687672.js":[3859408,3870912],"d0118ead16687672.js":[3870912,3880744],"c4f7ba2516687672.js":[3880744,3917040],"8bc675e216687672.js":[3917040,3922120],"f33cf37916687672.js":[3922120,3935520],"12ef983616687672.js":[3935520,3940216],"ac16088216687672.js":[3940216,3947384],"1621565e949381e5.js":[3947384,3949072],"107ddad116687672.js":[3949072,3955408],"66fb950215ce5db0.js":[3955408,3960640],"7dc16ab815ce5db0.js":[3960640,3967704],"1cfa8d2315ce5db0.js":[3967704,3974176],"0754d6e915ce5db0.js":[3974176,3976624],"de7afdda15ce5db0.js":[3976624,3983792],"86442adc15ce5db0.js":[3983792,3988416],"62f7e79215ce5db0.js":[3988416,3994040],"9ff680d315ce5db0.js":[3994040,4000840],"af2a330115ce5db0.js":[4000840,4008440],"95d8147915ce5db0.js":[4008440,4016464],"e11993b915ce5db0.js":[4016464,4021968],"6929eb4615ce5db0.js":[4021968,4025224],"dee59d2c15ce5db0.js":[4025224,4030728],"a062315115ce5db0.js":[4030728,4036048],"0297c4d415ce5db0.js":[4036048,4041312],"8f3c85bd949381e5.js":[4041312,4045728],"ad8956838c7f5525.js":[4045728,4046424],"70525f28d78182e9.js":[4046424,4047248],"62d6832ed78182e9.js":[4047248,4049808],"6c8447e8d78182e9.js":[4049808,4051192],"cc3387e48c7f5525.js":[4051192,4051904],"05b65a49949381e5.js":[4051904,4053072],"cca2da75949381e5.js":[4053072,4054648],"b94f7047c7eb21f6.js":[4054648,4056368],"73cb19998c7f5525.js":[4056368,4058872],"40851e228c7f5525.js":[4058872,4059560],"eb91786b8c7f5525.js":[4059560,4062016],"551dbdcb8c7f5525.js":[4062016,4063112],"ae1975548c7f5525.js":[4063112,4064272],"91484f78e8691b4c.js":[4064272,4065256],"fb815e588c7f5525.js":[4065256,4066608],"f40fd3778c7f5525.js":[4066608,4067464],"bcf6b459d78182e9.js":[4067464,4068248],"0a0530428c7f5525.js":[4068248,4069032],"85624f7f8c7f5525.js":[4069032,4069728],"30dc9a12356a0c41.js":[4069728,4072256],"c17708ae8c7f5525.js":[4072256,4072952],"e0f8ef3e8c7f5525.js":[4072952,4073648],"8e359666817e0f11.js":[4073648,4074712],"842368938c7f5525.js":[4074712,4075424],"6a2c169c8c7f5525.js":[4075424,4076120],"e9e65b308c7f5525.js":[4076120,4076808],"db7c60668c7f5525.js":[4076808,4077496],"44c5e6a98c7f5525.js":[4077496,4078184],"9a304e25d78182e9.js":[4078184,4080336],"95d171158c7f5525.js":[4080336,4081024],"4b88082b8c7f5525.js":[4081024,4084440],"a56ec2a68c7f5525.js":[4084440,4087760],"06768f258c7f5525.js":[4087760,4088448],"027807fad78182e9.js":[4088448,4090000],"4b4829838c7f5525.js":[4090000,4090688],"264000c8d78182e9.js":[4090688,4093328],"abb2f21fd78182e9.js":[4093328,4096648],"2838c0608c7f5525.js":[4096648,4097336],"94bc3f26d78182e9.js":[4097336,4099728],"482c7e32d78182e9.js":[4099728,4103048],"57a7b1eb8c7f5525.js":[4103048,4103760],"a750b47fc7eb21f6.js":[4103760,4107104],"552572048c7f5525.js":[4107104,4107816],"a0495db88c7f5525.js":[4107816,4108504],"c902f5438c7f5525.js":[4108504,4109200],"dec050458c7f5525.js":[4109200,4109880],"0ceb57cd8c7f5525.js":[4109880,4110576],"6c84989115ce5db0.js":[4110576,4116752],"d36c11bf15ce5db0.js":[4116752,4127464],"5394aef215ce5db0.js":[4127464,4130440],"f9ea4eca15ce5db0.js":[4130440,4132968],"2367ef9715ce5db0.js":[4132968,4143384],"6e75318515ce5db0.js":[4143384,4154408],"b8961a5115ce5db0.js":[4154408,4158048],"e294db1915ce5db0.js":[4158048,4181632],"711f49d515ce5db0.js":[4181632,4186704],"593de69515ce5db0.js":[4186704,4195336],"20a518f515ce5db0.js":[4195336,4201248],"0497279c15ce5db0.js":[4201248,4209752],"fefbbe0815ce5db0.js":[4209752,4222712],"731795da15ce5db0.js":[4222712,4224208],"02b72e5215ce5db0.js":[4224208,4230776],"7d8eaded15ce5db0.js":[4230776,4238320],"6737a38115ce5db0.js":[4238320,4243088],"a492b56215ce5db0.js":[4243088,4249056],"c10fc2c815ce5db0.js":[4249056,4253864],"c3d2cdb215ce5db0.js":[4253864,4258888],"5fe1f34d15ce5db0.js":[4258888,4265784],"43b2128915ce5db0.js":[4265784,4271016],"43a3e7e615ce5db0.js":[4271016,4274520],"0099b9b715ce5db0.js":[4274520,4281536],"8f61adfc15ce5db0.js":[4281536,4290384],"052615c615ce5db0.js":[4290384,4295912],"8943de3b15ce5db0.js":[4295912,4300856],"7263a73515ce5db0.js":[4300856,4306408],"df66d5f815ce5db0.js":[4306408,4313040],"10515cf415ce5db0.js":[4313040,4318448],"c4d12dc015ce5db0.js":[4318448,4324920],"dd97066415ce5db0.js":[4324920,4330688],"7f6c08ea15ce5db0.js":[4330688,4335864],"616a1aca15ce5db0.js":[4335864,4342816],"bb5a2f2c15ce5db0.js":[4342816,4348480],"1a5c812115ce5db0.js":[4348480,4353496],"cb7314d615ce5db0.js":[4353496,4359048],"4df19d9215ce5db0.js":[4359048,4361880],"b1b5003415ce5db0.js":[4361880,4364976],"34f5f1d615ce5db0.js":[4364976,4387344],"b645253e15ce5db0.js":[4387344,4393632],"fd5624ca52aacd1d.js":[4393632,4397968],"7889555015ce5db0.js":[4397968,4403056],"eb4699fc15ce5db0.js":[4403056,4407040],"1f4c349b15ce5db0.js":[4407040,4413072],"c0b750d715ce5db0.js":[4413072,4418848],"93c9f8c315ce5db0.js":[4418848,4429064],"054b431715ce5db0.js":[4429064,4432584],"df21937315ce5db0.js":[4432584,4442320],"9f3a91eb15ce5db0.js":[4442320,4446304],"b1cbb5b13460ae95.js":[4446304,4454232],"8847fd1115ce5db0.js":[4454232,4457432],"ac56d33b15ce5db0.js":[4457432,4463296],"360fa10915ce5db0.js":[4463296,4468136],"046bae4115ce5db0.js":[4468136,4473872],"7d8528cc15ce5db0.js":[4473872,4475464],"7896528115ce5db0.js":[4475464,4479616],"1963e50815ce5db0.js":[4479616,4482064],"25e8cfb915ce5db0.js":[4482064,4486824],"a11a711b15ce5db0.js":[4486824,4490632],"f0fb774a15ce5db0.js":[4490632,4493136],"528ad25615ce5db0.js":[4493136,4496624],"2dc31956949381e5.js":[4496624,4500672],"3e63ce129a2960f3.js":[4500672,4502248],"167b19a08b91a4fe.js":[4502248,4503992],"e32ad74a9a2960f3.js":[4503992,4507656],"a8e52eca949381e5.js":[4507656,4509096],"a0e941ed15ce5db0.js":[4509096,4515352],"5c9c6c9615ce5db0.js":[4515352,4520456],"0526816f15ce5db0.js":[4520456,4523512],"e226fbcd15ce5db0.js":[4523512,4535544],"d3a2a6ee949381e5.js":[4535544,4540632],"850827d915ce5db0.js":[4540632,4543896],"008deaa715ce5db0.js":[4543896,4549288],"49a57ba315ce5db0.js":[4549288,4553800],"e792d50115ce5db0.js":[4553800,4560624],"10f253d615ce5db0.js":[4560624,4565864],"84c03627949381e5.js":[4565864,4569136],"ab3fd97c949381e5.js":[4569136,4570888],"032bf14ee8691b4c.js":[4570888,4574792],"45aabd2e15ce5db0.js":[4574792,4580168],"e6006355949381e5.js":[4580168,4588464],"aa9e68be15ce5db0.js":[4588464,4589960],"a7bd86bb15ce5db0.js":[4589960,4594936],"04e8a37615ce5db0.js":[4594936,4601592],"faab67fc15ce5db0.js":[4601592,4617176],"6f77466915ce5db0.js":[4617176,4625472],"d7b658ee15ce5db0.js":[4625472,4637024],"d5d3d21c15ce5db0.js":[4637024,4642384],"a8e41f5415ce5db0.js":[4642384,4647056],"9bd2717d15ce5db0.js":[4647056,4650776],"4573d6af15ce5db0.js":[4650776,4656976],"ce410be315ce5db0.js":[4656976,4661544],"aa7d3a3815ce5db0.js":[4661544,4667560],"0dcd25c993efec47.js":[4667560,4673080],"d2779cd993efec47.js":[4673080,4681968],"23fe29d593efec47.js":[4681968,4688424],"cac7583693efec47.js":[4688424,4689568],"9631423421137845.js":[4689568,4692656],"8710956e21137845.js":[4692656,4696512],"c419249c21137845.js":[4696512,4702416],"095f603921137845.js":[4702416,4706216],"ea05511721137845.js":[4706216,4708424],"862393ee21137845.js":[4708424,4716320],"775b70b321137845.js":[4716320,4721272]},"version":"3.2.5"} \ No newline at end of file diff --git a/node_modules/.cache/esm/01261cd2db2fb243.js b/node_modules/.cache/esm/01261cd2db2fb243.js new file mode 100644 index 0000000000000..c5617ee870d50 --- /dev/null +++ b/node_modules/.cache/esm/01261cd2db2fb243.js @@ -0,0 +1,384 @@ +"use strict"; +var es5 = require("./es5"); +var canEvaluate = typeof navigator == "undefined"; + +var errorObj = {e: {}}; +var tryCatchTarget; +var globalObject = typeof self !== "undefined" ? self : + typeof window !== "undefined" ? window : + typeof global !== "undefined" ? global : + this !== undefined ? this : null; + +function tryCatcher() { + try { + var target = tryCatchTarget; + tryCatchTarget = null; + return target.apply(this, arguments); + } catch (e) { + errorObj.e = e; + return errorObj; + } +} +function tryCatch(fn) { + tryCatchTarget = fn; + return tryCatcher; +} + +var inherits = function(Child, Parent) { + var hasProp = {}.hasOwnProperty; + + function T() { + this.constructor = Child; + this.constructor$ = Parent; + for (var propertyName in Parent.prototype) { + if (hasProp.call(Parent.prototype, propertyName) && + propertyName.charAt(propertyName.length-1) !== "$" + ) { + this[propertyName + "$"] = Parent.prototype[propertyName]; + } + } + } + T.prototype = Parent.prototype; + Child.prototype = new T(); + return Child.prototype; +}; + + +function isPrimitive(val) { + return val == null || val === true || val === false || + typeof val === "string" || typeof val === "number"; + +} + +function isObject(value) { + return typeof value === "function" || + typeof value === "object" && value !== null; +} + +function maybeWrapAsError(maybeError) { + if (!isPrimitive(maybeError)) return maybeError; + + return new Error(safeToString(maybeError)); +} + +function withAppended(target, appendee) { + var len = target.length; + var ret = new Array(len + 1); + var i; + for (i = 0; i < len; ++i) { + ret[i] = target[i]; + } + ret[i] = appendee; + return ret; +} + +function getDataPropertyOrDefault(obj, key, defaultValue) { + if (es5.isES5) { + var desc = Object.getOwnPropertyDescriptor(obj, key); + + if (desc != null) { + return desc.get == null && desc.set == null + ? desc.value + : defaultValue; + } + } else { + return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; + } +} + +function notEnumerableProp(obj, name, value) { + if (isPrimitive(obj)) return obj; + var descriptor = { + value: value, + configurable: true, + enumerable: false, + writable: true + }; + es5.defineProperty(obj, name, descriptor); + return obj; +} + +function thrower(r) { + throw r; +} + +var inheritedDataKeys = (function() { + var excludedPrototypes = [ + Array.prototype, + Object.prototype, + Function.prototype + ]; + + var isExcludedProto = function(val) { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (excludedPrototypes[i] === val) { + return true; + } + } + return false; + }; + + if (es5.isES5) { + var getKeys = Object.getOwnPropertyNames; + return function(obj) { + var ret = []; + var visitedKeys = Object.create(null); + while (obj != null && !isExcludedProto(obj)) { + var keys; + try { + keys = getKeys(obj); + } catch (e) { + return ret; + } + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (visitedKeys[key]) continue; + visitedKeys[key] = true; + var desc = Object.getOwnPropertyDescriptor(obj, key); + if (desc != null && desc.get == null && desc.set == null) { + ret.push(key); + } + } + obj = es5.getPrototypeOf(obj); + } + return ret; + }; + } else { + var hasProp = {}.hasOwnProperty; + return function(obj) { + if (isExcludedProto(obj)) return []; + var ret = []; + + /*jshint forin:false */ + enumeration: for (var key in obj) { + if (hasProp.call(obj, key)) { + ret.push(key); + } else { + for (var i = 0; i < excludedPrototypes.length; ++i) { + if (hasProp.call(excludedPrototypes[i], key)) { + continue enumeration; + } + } + ret.push(key); + } + } + return ret; + }; + } + +})(); + +var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; +function isClass(fn) { + try { + if (typeof fn === "function") { + var keys = es5.names(fn.prototype); + + var hasMethods = es5.isES5 && keys.length > 1; + var hasMethodsOtherThanConstructor = keys.length > 0 && + !(keys.length === 1 && keys[0] === "constructor"); + var hasThisAssignmentAndStaticMethods = + thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; + + if (hasMethods || hasMethodsOtherThanConstructor || + hasThisAssignmentAndStaticMethods) { + return true; + } + } + return false; + } catch (e) { + return false; + } +} + +function toFastProperties(obj) { + /*jshint -W027,-W055,-W031*/ + function FakeConstructor() {} + FakeConstructor.prototype = obj; + var receiver = new FakeConstructor(); + function ic() { + return typeof receiver.foo; + } + ic(); + ic(); + return obj; + eval(obj); +} + +var rident = /^[a-z$_][a-z$_0-9]*$/i; +function isIdentifier(str) { + return rident.test(str); +} + +function filledRange(count, prefix, suffix) { + var ret = new Array(count); + for(var i = 0; i < count; ++i) { + ret[i] = prefix + i + suffix; + } + return ret; +} + +function safeToString(obj) { + try { + return obj + ""; + } catch (e) { + return "[no string representation]"; + } +} + +function isError(obj) { + return obj instanceof Error || + (obj !== null && + typeof obj === "object" && + typeof obj.message === "string" && + typeof obj.name === "string"); +} + +function markAsOriginatingFromRejection(e) { + try { + notEnumerableProp(e, "isOperational", true); + } + catch(ignore) {} +} + +function originatesFromRejection(e) { + if (e == null) return false; + return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || + e["isOperational"] === true); +} + +function canAttachTrace(obj) { + return isError(obj) && es5.propertyIsWritable(obj, "stack"); +} + +var ensureErrorObject = (function() { + if (!("stack" in new Error())) { + return function(value) { + if (canAttachTrace(value)) return value; + try {throw new Error(safeToString(value));} + catch(err) {return err;} + }; + } else { + return function(value) { + if (canAttachTrace(value)) return value; + return new Error(safeToString(value)); + }; + } +})(); + +function classString(obj) { + return {}.toString.call(obj); +} + +function copyDescriptors(from, to, filter) { + var keys = es5.names(from); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (filter(key)) { + try { + es5.defineProperty(to, key, es5.getDescriptor(from, key)); + } catch (ignore) {} + } + } +} + +var asArray = function(v) { + if (es5.isArray(v)) { + return v; + } + return null; +}; + +if (typeof Symbol !== "undefined" && Symbol.iterator) { + var ArrayFrom = typeof Array.from === "function" ? function(v) { + return Array.from(v); + } : function(v) { + var ret = []; + var it = v[Symbol.iterator](); + var itResult; + while (!((itResult = it.next()).done)) { + ret.push(itResult.value); + } + return ret; + }; + + asArray = function(v) { + if (es5.isArray(v)) { + return v; + } else if (v != null && typeof v[Symbol.iterator] === "function") { + return ArrayFrom(v); + } + return null; + }; +} + +var isNode = typeof process !== "undefined" && + classString(process).toLowerCase() === "[object process]"; + +var hasEnvVariables = typeof process !== "undefined" && + typeof process.env !== "undefined"; + +function env(key) { + return hasEnvVariables ? process.env[key] : undefined; +} + +function getNativePromise() { + if (typeof Promise === "function") { + try { + var promise = new Promise(function(){}); + if ({}.toString.call(promise) === "[object Promise]") { + return Promise; + } + } catch (e) {} + } +} + +function domainBind(self, cb) { + return self.bind(cb); +} + +var ret = { + isClass: isClass, + isIdentifier: isIdentifier, + inheritedDataKeys: inheritedDataKeys, + getDataPropertyOrDefault: getDataPropertyOrDefault, + thrower: thrower, + isArray: es5.isArray, + asArray: asArray, + notEnumerableProp: notEnumerableProp, + isPrimitive: isPrimitive, + isObject: isObject, + isError: isError, + canEvaluate: canEvaluate, + errorObj: errorObj, + tryCatch: tryCatch, + inherits: inherits, + withAppended: withAppended, + maybeWrapAsError: maybeWrapAsError, + toFastProperties: toFastProperties, + filledRange: filledRange, + toString: safeToString, + canAttachTrace: canAttachTrace, + ensureErrorObject: ensureErrorObject, + originatesFromRejection: originatesFromRejection, + markAsOriginatingFromRejection: markAsOriginatingFromRejection, + classString: classString, + copyDescriptors: copyDescriptors, + hasDevTools: typeof chrome !== "undefined" && chrome && + typeof chrome.loadTimes === "function", + isNode: isNode, + hasEnvVariables: hasEnvVariables, + env: env, + global: globalObject, + getNativePromise: getNativePromise, + domainBind: domainBind +}; +ret.isRecentNode = ret.isNode && (function() { + var version = process.versions.node.split(".").map(Number); + return (version[0] === 0 && version[1] > 10) || (version[0] > 0); +})(); + +if (ret.isNode) ret.toFastProperties(process); + +try {throw new Error(); } catch (e) {ret.lastLineError = e;} +module.exports = ret; diff --git a/node_modules/block-stream/LICENCE b/node_modules/block-stream/LICENCE deleted file mode 100644 index 74489e2e2658e..0000000000000 --- a/node_modules/block-stream/LICENCE +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) Isaac Z. Schlueter -All rights reserved. - -The BSD License - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/block-stream/LICENSE b/node_modules/block-stream/LICENSE deleted file mode 100644 index 19129e315fe59..0000000000000 --- a/node_modules/block-stream/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/block-stream/README.md b/node_modules/block-stream/README.md deleted file mode 100644 index c16e9c468891d..0000000000000 --- a/node_modules/block-stream/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# block-stream - -A stream of blocks. - -Write data into it, and it'll output data in buffer blocks the size you -specify, padding with zeroes if necessary. - -```javascript -var block = new BlockStream(512) -fs.createReadStream("some-file").pipe(block) -block.pipe(fs.createWriteStream("block-file")) -``` - -When `.end()` or `.flush()` is called, it'll pad the block with zeroes. diff --git a/node_modules/block-stream/block-stream.js b/node_modules/block-stream/block-stream.js deleted file mode 100644 index 008de035c2edc..0000000000000 --- a/node_modules/block-stream/block-stream.js +++ /dev/null @@ -1,209 +0,0 @@ -// write data to it, and it'll emit data in 512 byte blocks. -// if you .end() or .flush(), it'll emit whatever it's got, -// padded with nulls to 512 bytes. - -module.exports = BlockStream - -var Stream = require("stream").Stream - , inherits = require("inherits") - , assert = require("assert").ok - , debug = process.env.DEBUG ? console.error : function () {} - -function BlockStream (size, opt) { - this.writable = this.readable = true - this._opt = opt || {} - this._chunkSize = size || 512 - this._offset = 0 - this._buffer = [] - this._bufferLength = 0 - if (this._opt.nopad) this._zeroes = false - else { - this._zeroes = new Buffer(this._chunkSize) - for (var i = 0; i < this._chunkSize; i ++) { - this._zeroes[i] = 0 - } - } -} - -inherits(BlockStream, Stream) - -BlockStream.prototype.write = function (c) { - // debug(" BS write", c) - if (this._ended) throw new Error("BlockStream: write after end") - if (c && !Buffer.isBuffer(c)) c = new Buffer(c + "") - if (c.length) { - this._buffer.push(c) - this._bufferLength += c.length - } - // debug("pushed onto buffer", this._bufferLength) - if (this._bufferLength >= this._chunkSize) { - if (this._paused) { - // debug(" BS paused, return false, need drain") - this._needDrain = true - return false - } - this._emitChunk() - } - return true -} - -BlockStream.prototype.pause = function () { - // debug(" BS pausing") - this._paused = true -} - -BlockStream.prototype.resume = function () { - // debug(" BS resume") - this._paused = false - return this._emitChunk() -} - -BlockStream.prototype.end = function (chunk) { - // debug("end", chunk) - if (typeof chunk === "function") cb = chunk, chunk = null - if (chunk) this.write(chunk) - this._ended = true - this.flush() -} - -BlockStream.prototype.flush = function () { - this._emitChunk(true) -} - -BlockStream.prototype._emitChunk = function (flush) { - // debug("emitChunk flush=%j emitting=%j paused=%j", flush, this._emitting, this._paused) - - // emit a chunk - if (flush && this._zeroes) { - // debug(" BS push zeroes", this._bufferLength) - // push a chunk of zeroes - var padBytes = (this._bufferLength % this._chunkSize) - if (padBytes !== 0) padBytes = this._chunkSize - padBytes - if (padBytes > 0) { - // debug("padBytes", padBytes, this._zeroes.slice(0, padBytes)) - this._buffer.push(this._zeroes.slice(0, padBytes)) - this._bufferLength += padBytes - // debug(this._buffer[this._buffer.length - 1].length, this._bufferLength) - } - } - - if (this._emitting || this._paused) return - this._emitting = true - - // debug(" BS entering loops") - var bufferIndex = 0 - while (this._bufferLength >= this._chunkSize && - (flush || !this._paused)) { - // debug(" BS data emission loop", this._bufferLength) - - var out - , outOffset = 0 - , outHas = this._chunkSize - - while (outHas > 0 && (flush || !this._paused) ) { - // debug(" BS data inner emit loop", this._bufferLength) - var cur = this._buffer[bufferIndex] - , curHas = cur.length - this._offset - // debug("cur=", cur) - // debug("curHas=%j", curHas) - // If it's not big enough to fill the whole thing, then we'll need - // to copy multiple buffers into one. However, if it is big enough, - // then just slice out the part we want, to save unnecessary copying. - // Also, need to copy if we've already done some copying, since buffers - // can't be joined like cons strings. - if (out || curHas < outHas) { - out = out || new Buffer(this._chunkSize) - cur.copy(out, outOffset, - this._offset, this._offset + Math.min(curHas, outHas)) - } else if (cur.length === outHas && this._offset === 0) { - // shortcut -- cur is exactly long enough, and no offset. - out = cur - } else { - // slice out the piece of cur that we need. - out = cur.slice(this._offset, this._offset + outHas) - } - - if (curHas > outHas) { - // means that the current buffer couldn't be completely output - // update this._offset to reflect how much WAS written - this._offset += outHas - outHas = 0 - } else { - // output the entire current chunk. - // toss it away - outHas -= curHas - outOffset += curHas - bufferIndex ++ - this._offset = 0 - } - } - - this._bufferLength -= this._chunkSize - assert(out.length === this._chunkSize) - // debug("emitting data", out) - // debug(" BS emitting, paused=%j", this._paused, this._bufferLength) - this.emit("data", out) - out = null - } - // debug(" BS out of loops", this._bufferLength) - - // whatever is left, it's not enough to fill up a block, or we're paused - this._buffer = this._buffer.slice(bufferIndex) - if (this._paused) { - // debug(" BS paused, leaving", this._bufferLength) - this._needsDrain = true - this._emitting = false - return - } - - // if flushing, and not using null-padding, then need to emit the last - // chunk(s) sitting in the queue. We know that it's not enough to - // fill up a whole block, because otherwise it would have been emitted - // above, but there may be some offset. - var l = this._buffer.length - if (flush && !this._zeroes && l) { - if (l === 1) { - if (this._offset) { - this.emit("data", this._buffer[0].slice(this._offset)) - } else { - this.emit("data", this._buffer[0]) - } - } else { - var outHas = this._bufferLength - , out = new Buffer(outHas) - , outOffset = 0 - for (var i = 0; i < l; i ++) { - var cur = this._buffer[i] - , curHas = cur.length - this._offset - cur.copy(out, outOffset, this._offset) - this._offset = 0 - outOffset += curHas - this._bufferLength -= curHas - } - this.emit("data", out) - } - // truncate - this._buffer.length = 0 - this._bufferLength = 0 - this._offset = 0 - } - - // now either drained or ended - // debug("either draining, or ended", this._bufferLength, this._ended) - // means that we've flushed out all that we can so far. - if (this._needDrain) { - // debug("emitting drain", this._bufferLength) - this._needDrain = false - this.emit("drain") - } - - if ((this._bufferLength === 0) && this._ended && !this._endEmitted) { - // debug("emitting end", this._bufferLength) - this._endEmitted = true - this.emit("end") - } - - this._emitting = false - - // debug(" BS no longer emitting", flush, this._paused, this._emitting, this._bufferLength, this._chunkSize) -} diff --git a/node_modules/block-stream/package.json b/node_modules/block-stream/package.json deleted file mode 100644 index d7d591cf904b0..0000000000000 --- a/node_modules/block-stream/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "_from": "block-stream@*", - "_id": "block-stream@0.0.9", - "_inBundle": false, - "_integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "_location": "/block-stream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "block-stream@*", - "name": "block-stream", - "escapedName": "block-stream", - "rawSpec": "*", - "saveSpec": null, - "fetchSpec": "*" - }, - "_requiredBy": [ - "/node-gyp/tar" - ], - "_resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "_shasum": "13ebfe778a03205cfe03751481ebb4b3300c126a", - "_spec": "block-stream@*", - "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/tar", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/block-stream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "inherits": "~2.0.0" - }, - "deprecated": false, - "description": "a stream of blocks", - "devDependencies": { - "tap": "^5.7.1" - }, - "engines": { - "node": "0.4 || >=0.5.8" - }, - "files": [ - "block-stream.js" - ], - "homepage": "https://github.com/isaacs/block-stream#readme", - "license": "ISC", - "main": "block-stream.js", - "name": "block-stream", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/block-stream.git" - }, - "scripts": { - "test": "tap test/*.js --cov" - }, - "version": "0.0.9" -} diff --git a/node_modules/fstream/.npmignore b/node_modules/fstream/.npmignore deleted file mode 100644 index 494272a81afb6..0000000000000 --- a/node_modules/fstream/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -.*.swp -node_modules/ -examples/deep-copy/ -examples/path/ -examples/filter-copy/ diff --git a/node_modules/fstream/.travis.yml b/node_modules/fstream/.travis.yml deleted file mode 100644 index 9f5972ab5aa1c..0000000000000 --- a/node_modules/fstream/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "6" - - "4" - - "0.10" - - "0.12" -before_install: - - "npm config set spin false" - - "npm install -g npm/npm" diff --git a/node_modules/fstream/LICENSE b/node_modules/fstream/LICENSE deleted file mode 100644 index 19129e315fe59..0000000000000 --- a/node_modules/fstream/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/fstream/README.md b/node_modules/fstream/README.md deleted file mode 100644 index 9d8cb77e5c30b..0000000000000 --- a/node_modules/fstream/README.md +++ /dev/null @@ -1,76 +0,0 @@ -Like FS streams, but with stat on them, and supporting directories and -symbolic links, as well as normal files. Also, you can use this to set -the stats on a file, even if you don't change its contents, or to create -a symlink, etc. - -So, for example, you can "write" a directory, and it'll call `mkdir`. You -can specify a uid and gid, and it'll call `chown`. You can specify a -`mtime` and `atime`, and it'll call `utimes`. You can call it a symlink -and provide a `linkpath` and it'll call `symlink`. - -Note that it won't automatically resolve symbolic links. So, if you -call `fstream.Reader('/some/symlink')` then you'll get an object -that stats and then ends immediately (since it has no data). To follow -symbolic links, do this: `fstream.Reader({path:'/some/symlink', follow: -true })`. - -There are various checks to make sure that the bytes emitted are the -same as the intended size, if the size is set. - -## Examples - -```javascript -fstream - .Writer({ path: "path/to/file" - , mode: 0755 - , size: 6 - }) - .write("hello\n") - .end() -``` - -This will create the directories if they're missing, and then write -`hello\n` into the file, chmod it to 0755, and assert that 6 bytes have -been written when it's done. - -```javascript -fstream - .Writer({ path: "path/to/file" - , mode: 0755 - , size: 6 - , flags: "a" - }) - .write("hello\n") - .end() -``` - -You can pass flags in, if you want to append to a file. - -```javascript -fstream - .Writer({ path: "path/to/symlink" - , linkpath: "./file" - , SymbolicLink: true - , mode: "0755" // octal strings supported - }) - .end() -``` - -If isSymbolicLink is a function, it'll be called, and if it returns -true, then it'll treat it as a symlink. If it's not a function, then -any truish value will make a symlink, or you can set `type: -'SymbolicLink'`, which does the same thing. - -Note that the linkpath is relative to the symbolic link location, not -the parent dir or cwd. - -```javascript -fstream - .Reader("path/to/dir") - .pipe(fstream.Writer("path/to/other/dir")) -``` - -This will do like `cp -Rp path/to/dir path/to/other/dir`. If the other -dir exists and isn't a directory, then it'll emit an error. It'll also -set the uid, gid, mode, etc. to be identical. In this way, it's more -like `rsync -a` than simply a copy. diff --git a/node_modules/fstream/examples/filter-pipe.js b/node_modules/fstream/examples/filter-pipe.js deleted file mode 100644 index 83dadef8a6f39..0000000000000 --- a/node_modules/fstream/examples/filter-pipe.js +++ /dev/null @@ -1,134 +0,0 @@ -var fstream = require('../fstream.js') -var path = require('path') - -var r = fstream.Reader({ - path: path.dirname(__dirname), - filter: function () { - return !this.basename.match(/^\./) && - !this.basename.match(/^node_modules$/) && - !this.basename.match(/^deep-copy$/) && - !this.basename.match(/^filter-copy$/) - } -}) - -// this writer will only write directories -var w = fstream.Writer({ - path: path.resolve(__dirname, 'filter-copy'), - type: 'Directory', - filter: function () { - return this.type === 'Directory' - } -}) - -var indent = '' - -r.on('entry', appears) -r.on('ready', function () { - console.error('ready to begin!', r.path) -}) - -function appears (entry) { - console.error(indent + 'a %s appears!', entry.type, entry.basename, typeof entry.basename) - if (foggy) { - console.error('FOGGY!') - var p = entry - do { - console.error(p.depth, p.path, p._paused) - p = p.parent - } while (p) - - throw new Error('\u001b[mshould not have entries while foggy') - } - indent += '\t' - entry.on('data', missile(entry)) - entry.on('end', runaway(entry)) - entry.on('entry', appears) -} - -var foggy -function missile (entry) { - function liftFog (who) { - if (!foggy) return - if (who) { - console.error('%s breaks the spell!', who && who.path) - } else { - console.error('the spell expires!') - } - console.error('\u001b[mthe fog lifts!\n') - clearTimeout(foggy) - foggy = null - if (entry._paused) entry.resume() - } - - if (entry.type === 'Directory') { - var ended = false - entry.once('end', function () { ended = true }) - return function (c) { - // throw in some pathological pause()/resume() behavior - // just for extra fun. - process.nextTick(function () { - if (!foggy && !ended) { // && Math.random() < 0.3) { - console.error(indent + '%s casts a spell', entry.basename) - console.error('\na slowing fog comes over the battlefield...\n\u001b[32m') - entry.pause() - entry.once('resume', liftFog) - foggy = setTimeout(liftFog, 1000) - } - }) - } - } - - return function (c) { - var e = Math.random() < 0.5 - console.error(indent + '%s %s for %d damage!', - entry.basename, - e ? 'is struck' : 'fires a chunk', - c.length) - } -} - -function runaway (entry) { - return function () { - var e = Math.random() < 0.5 - console.error(indent + '%s %s', - entry.basename, - e ? 'turns to flee' : 'is vanquished!') - indent = indent.slice(0, -1) - } -} - -w.on('entry', attacks) -// w.on('ready', function () { attacks(w) }) -function attacks (entry) { - console.error(indent + '%s %s!', entry.basename, - entry.type === 'Directory' ? 'calls for backup' : 'attacks') - entry.on('entry', attacks) -} - -var ended = false -var i = 1 -r.on('end', function () { - if (foggy) clearTimeout(foggy) - console.error("\u001b[mIT'S OVER!!") - console.error('A WINNAR IS YOU!') - - console.log('ok ' + (i++) + ' A WINNAR IS YOU') - ended = true - // now go through and verify that everything in there is a dir. - var p = path.resolve(__dirname, 'filter-copy') - var checker = fstream.Reader({ path: p }) - checker.checker = true - checker.on('child', function (e) { - var ok = e.type === 'Directory' - console.log((ok ? '' : 'not ') + 'ok ' + (i++) + - ' should be a dir: ' + - e.path.substr(checker.path.length + 1)) - }) -}) - -process.on('exit', function () { - console.log((ended ? '' : 'not ') + 'ok ' + (i) + ' ended') - console.log('1..' + i) -}) - -r.pipe(w) diff --git a/node_modules/fstream/examples/pipe.js b/node_modules/fstream/examples/pipe.js deleted file mode 100644 index 3de42ef32bfd7..0000000000000 --- a/node_modules/fstream/examples/pipe.js +++ /dev/null @@ -1,118 +0,0 @@ -var fstream = require('../fstream.js') -var path = require('path') - -var r = fstream.Reader({ - path: path.dirname(__dirname), - filter: function () { - return !this.basename.match(/^\./) && - !this.basename.match(/^node_modules$/) && - !this.basename.match(/^deep-copy$/) - } -}) - -var w = fstream.Writer({ - path: path.resolve(__dirname, 'deep-copy'), - type: 'Directory' -}) - -var indent = '' - -r.on('entry', appears) -r.on('ready', function () { - console.error('ready to begin!', r.path) -}) - -function appears (entry) { - console.error(indent + 'a %s appears!', entry.type, entry.basename, typeof entry.basename, entry) - if (foggy) { - console.error('FOGGY!') - var p = entry - do { - console.error(p.depth, p.path, p._paused) - p = p.parent - } while (p) - - throw new Error('\u001b[mshould not have entries while foggy') - } - indent += '\t' - entry.on('data', missile(entry)) - entry.on('end', runaway(entry)) - entry.on('entry', appears) -} - -var foggy -function missile (entry) { - function liftFog (who) { - if (!foggy) return - if (who) { - console.error('%s breaks the spell!', who && who.path) - } else { - console.error('the spell expires!') - } - console.error('\u001b[mthe fog lifts!\n') - clearTimeout(foggy) - foggy = null - if (entry._paused) entry.resume() - } - - if (entry.type === 'Directory') { - var ended = false - entry.once('end', function () { ended = true }) - return function (c) { - // throw in some pathological pause()/resume() behavior - // just for extra fun. - process.nextTick(function () { - if (!foggy && !ended) { // && Math.random() < 0.3) { - console.error(indent + '%s casts a spell', entry.basename) - console.error('\na slowing fog comes over the battlefield...\n\u001b[32m') - entry.pause() - entry.once('resume', liftFog) - foggy = setTimeout(liftFog, 10) - } - }) - } - } - - return function (c) { - var e = Math.random() < 0.5 - console.error(indent + '%s %s for %d damage!', - entry.basename, - e ? 'is struck' : 'fires a chunk', - c.length) - } -} - -function runaway (entry) { - return function () { - var e = Math.random() < 0.5 - console.error(indent + '%s %s', - entry.basename, - e ? 'turns to flee' : 'is vanquished!') - indent = indent.slice(0, -1) - } -} - -w.on('entry', attacks) -// w.on('ready', function () { attacks(w) }) -function attacks (entry) { - console.error(indent + '%s %s!', entry.basename, - entry.type === 'Directory' ? 'calls for backup' : 'attacks') - entry.on('entry', attacks) -} - -var ended = false -r.on('end', function () { - if (foggy) clearTimeout(foggy) - console.error("\u001b[mIT'S OVER!!") - console.error('A WINNAR IS YOU!') - - console.log('ok 1 A WINNAR IS YOU') - ended = true -}) - -process.on('exit', function () { - console.log((ended ? '' : 'not ') + 'ok 2 ended') - console.log('1..2') -}) - -r.pipe(w) diff --git a/node_modules/fstream/examples/reader.js b/node_modules/fstream/examples/reader.js deleted file mode 100644 index 19affbe7e6e23..0000000000000 --- a/node_modules/fstream/examples/reader.js +++ /dev/null @@ -1,68 +0,0 @@ -var fstream = require('../fstream.js') -var tap = require('tap') -var fs = require('fs') -var path = require('path') -var dir = path.dirname(__dirname) - -tap.test('reader test', function (t) { - var children = -1 - var gotReady = false - var ended = false - - var r = fstream.Reader({ - path: dir, - filter: function () { - // return this.parent === r - return this.parent === r || this === r - } - }) - - r.on('ready', function () { - gotReady = true - children = fs.readdirSync(dir).length - console.error('Setting expected children to ' + children) - t.equal(r.type, 'Directory', 'should be a directory') - }) - - r.on('entry', function (entry) { - children-- - if (!gotReady) { - t.fail('children before ready!') - } - t.equal(entry.dirname, r.path, 'basename is parent dir') - }) - - r.on('error', function (er) { - t.fail(er) - t.end() - process.exit(1) - }) - - r.on('end', function () { - t.equal(children, 0, 'should have seen all children') - ended = true - }) - - var closed = false - r.on('close', function () { - t.ok(ended, 'saw end before close') - t.notOk(closed, 'close should only happen once') - closed = true - t.end() - }) -}) - -tap.test('reader error test', function (t) { - // assumes non-root on a *nix system - var r = fstream.Reader({ path: '/etc/shadow' }) - - r.once('error', function (er) { - t.ok(true) - t.end() - }) - - r.on('end', function () { - t.fail('reader ended without error') - t.end() - }) -}) diff --git a/node_modules/fstream/examples/symlink-write.js b/node_modules/fstream/examples/symlink-write.js deleted file mode 100644 index 19e81eea9fe80..0000000000000 --- a/node_modules/fstream/examples/symlink-write.js +++ /dev/null @@ -1,27 +0,0 @@ -var fstream = require('../fstream.js') -var notOpen = false -process.chdir(__dirname) - -fstream - .Writer({ - path: 'path/to/symlink', - linkpath: './file', - isSymbolicLink: true, - mode: '0755' // octal strings supported - }) - .on('close', function () { - notOpen = true - var fs = require('fs') - var s = fs.lstatSync('path/to/symlink') - var isSym = s.isSymbolicLink() - console.log((isSym ? '' : 'not ') + 'ok 1 should be symlink') - var t = fs.readlinkSync('path/to/symlink') - var isTarget = t === './file' - console.log((isTarget ? '' : 'not ') + 'ok 2 should link to ./file') - }) - .end() - -process.on('exit', function () { - console.log((notOpen ? '' : 'not ') + 'ok 3 should be closed') - console.log('1..3') -}) diff --git a/node_modules/fstream/fstream.js b/node_modules/fstream/fstream.js deleted file mode 100644 index c0eb3bea78803..0000000000000 --- a/node_modules/fstream/fstream.js +++ /dev/null @@ -1,35 +0,0 @@ -exports.Abstract = require('./lib/abstract.js') -exports.Reader = require('./lib/reader.js') -exports.Writer = require('./lib/writer.js') - -exports.File = { - Reader: require('./lib/file-reader.js'), - Writer: require('./lib/file-writer.js') -} - -exports.Dir = { - Reader: require('./lib/dir-reader.js'), - Writer: require('./lib/dir-writer.js') -} - -exports.Link = { - Reader: require('./lib/link-reader.js'), - Writer: require('./lib/link-writer.js') -} - -exports.Proxy = { - Reader: require('./lib/proxy-reader.js'), - Writer: require('./lib/proxy-writer.js') -} - -exports.Reader.Dir = exports.DirReader = exports.Dir.Reader -exports.Reader.File = exports.FileReader = exports.File.Reader -exports.Reader.Link = exports.LinkReader = exports.Link.Reader -exports.Reader.Proxy = exports.ProxyReader = exports.Proxy.Reader - -exports.Writer.Dir = exports.DirWriter = exports.Dir.Writer -exports.Writer.File = exports.FileWriter = exports.File.Writer -exports.Writer.Link = exports.LinkWriter = exports.Link.Writer -exports.Writer.Proxy = exports.ProxyWriter = exports.Proxy.Writer - -exports.collect = require('./lib/collect.js') diff --git a/node_modules/fstream/lib/abstract.js b/node_modules/fstream/lib/abstract.js deleted file mode 100644 index 97c120e1d5277..0000000000000 --- a/node_modules/fstream/lib/abstract.js +++ /dev/null @@ -1,85 +0,0 @@ -// the parent class for all fstreams. - -module.exports = Abstract - -var Stream = require('stream').Stream -var inherits = require('inherits') - -function Abstract () { - Stream.call(this) -} - -inherits(Abstract, Stream) - -Abstract.prototype.on = function (ev, fn) { - if (ev === 'ready' && this.ready) { - process.nextTick(fn.bind(this)) - } else { - Stream.prototype.on.call(this, ev, fn) - } - return this -} - -Abstract.prototype.abort = function () { - this._aborted = true - this.emit('abort') -} - -Abstract.prototype.destroy = function () {} - -Abstract.prototype.warn = function (msg, code) { - var self = this - var er = decorate(msg, code, self) - if (!self.listeners('warn')) { - console.error('%s %s\n' + - 'path = %s\n' + - 'syscall = %s\n' + - 'fstream_type = %s\n' + - 'fstream_path = %s\n' + - 'fstream_unc_path = %s\n' + - 'fstream_class = %s\n' + - 'fstream_stack =\n%s\n', - code || 'UNKNOWN', - er.stack, - er.path, - er.syscall, - er.fstream_type, - er.fstream_path, - er.fstream_unc_path, - er.fstream_class, - er.fstream_stack.join('\n')) - } else { - self.emit('warn', er) - } -} - -Abstract.prototype.info = function (msg, code) { - this.emit('info', msg, code) -} - -Abstract.prototype.error = function (msg, code, th) { - var er = decorate(msg, code, this) - if (th) throw er - else this.emit('error', er) -} - -function decorate (er, code, self) { - if (!(er instanceof Error)) er = new Error(er) - er.code = er.code || code - er.path = er.path || self.path - er.fstream_type = er.fstream_type || self.type - er.fstream_path = er.fstream_path || self.path - if (self._path !== self.path) { - er.fstream_unc_path = er.fstream_unc_path || self._path - } - if (self.linkpath) { - er.fstream_linkpath = er.fstream_linkpath || self.linkpath - } - er.fstream_class = er.fstream_class || self.constructor.name - er.fstream_stack = er.fstream_stack || - new Error().stack.split(/\n/).slice(3).map(function (s) { - return s.replace(/^ {4}at /, '') - }) - - return er -} diff --git a/node_modules/fstream/lib/collect.js b/node_modules/fstream/lib/collect.js deleted file mode 100644 index e5d4f35833476..0000000000000 --- a/node_modules/fstream/lib/collect.js +++ /dev/null @@ -1,70 +0,0 @@ -module.exports = collect - -function collect (stream) { - if (stream._collected) return - - if (stream._paused) return stream.on('resume', collect.bind(null, stream)) - - stream._collected = true - stream.pause() - - stream.on('data', save) - stream.on('end', save) - var buf = [] - function save (b) { - if (typeof b === 'string') b = new Buffer(b) - if (Buffer.isBuffer(b) && !b.length) return - buf.push(b) - } - - stream.on('entry', saveEntry) - var entryBuffer = [] - function saveEntry (e) { - collect(e) - entryBuffer.push(e) - } - - stream.on('proxy', proxyPause) - function proxyPause (p) { - p.pause() - } - - // replace the pipe method with a new version that will - // unlock the buffered stuff. if you just call .pipe() - // without a destination, then it'll re-play the events. - stream.pipe = (function (orig) { - return function (dest) { - // console.error(' === open the pipes', dest && dest.path) - - // let the entries flow through one at a time. - // Once they're all done, then we can resume completely. - var e = 0 - ;(function unblockEntry () { - var entry = entryBuffer[e++] - // console.error(" ==== unblock entry", entry && entry.path) - if (!entry) return resume() - entry.on('end', unblockEntry) - if (dest) dest.add(entry) - else stream.emit('entry', entry) - })() - - function resume () { - stream.removeListener('entry', saveEntry) - stream.removeListener('data', save) - stream.removeListener('end', save) - - stream.pipe = orig - if (dest) stream.pipe(dest) - - buf.forEach(function (b) { - if (b) stream.emit('data', b) - else stream.emit('end') - }) - - stream.resume() - } - - return dest - } - })(stream.pipe) -} diff --git a/node_modules/fstream/lib/dir-reader.js b/node_modules/fstream/lib/dir-reader.js deleted file mode 100644 index 820cdc85a8e9c..0000000000000 --- a/node_modules/fstream/lib/dir-reader.js +++ /dev/null @@ -1,252 +0,0 @@ -// A thing that emits "entry" events with Reader objects -// Pausing it causes it to stop emitting entry events, and also -// pauses the current entry if there is one. - -module.exports = DirReader - -var fs = require('graceful-fs') -var inherits = require('inherits') -var path = require('path') -var Reader = require('./reader.js') -var assert = require('assert').ok - -inherits(DirReader, Reader) - -function DirReader (props) { - var self = this - if (!(self instanceof DirReader)) { - throw new Error('DirReader must be called as constructor.') - } - - // should already be established as a Directory type - if (props.type !== 'Directory' || !props.Directory) { - throw new Error('Non-directory type ' + props.type) - } - - self.entries = null - self._index = -1 - self._paused = false - self._length = -1 - - if (props.sort) { - this.sort = props.sort - } - - Reader.call(this, props) -} - -DirReader.prototype._getEntries = function () { - var self = this - - // race condition. might pause() before calling _getEntries, - // and then resume, and try to get them a second time. - if (self._gotEntries) return - self._gotEntries = true - - fs.readdir(self._path, function (er, entries) { - if (er) return self.error(er) - - self.entries = entries - - self.emit('entries', entries) - if (self._paused) self.once('resume', processEntries) - else processEntries() - - function processEntries () { - self._length = self.entries.length - if (typeof self.sort === 'function') { - self.entries = self.entries.sort(self.sort.bind(self)) - } - self._read() - } - }) -} - -// start walking the dir, and emit an "entry" event for each one. -DirReader.prototype._read = function () { - var self = this - - if (!self.entries) return self._getEntries() - - if (self._paused || self._currentEntry || self._aborted) { - // console.error('DR paused=%j, current=%j, aborted=%j', self._paused, !!self._currentEntry, self._aborted) - return - } - - self._index++ - if (self._index >= self.entries.length) { - if (!self._ended) { - self._ended = true - self.emit('end') - self.emit('close') - } - return - } - - // ok, handle this one, then. - - // save creating a proxy, by stat'ing the thing now. - var p = path.resolve(self._path, self.entries[self._index]) - assert(p !== self._path) - assert(self.entries[self._index]) - - // set this to prevent trying to _read() again in the stat time. - self._currentEntry = p - fs[ self.props.follow ? 'stat' : 'lstat' ](p, function (er, stat) { - if (er) return self.error(er) - - var who = self._proxy || self - - stat.path = p - stat.basename = path.basename(p) - stat.dirname = path.dirname(p) - var childProps = self.getChildProps.call(who, stat) - childProps.path = p - childProps.basename = path.basename(p) - childProps.dirname = path.dirname(p) - - var entry = Reader(childProps, stat) - - // console.error("DR Entry", p, stat.size) - - self._currentEntry = entry - - // "entry" events are for direct entries in a specific dir. - // "child" events are for any and all children at all levels. - // This nomenclature is not completely final. - - entry.on('pause', function (who) { - if (!self._paused && !entry._disowned) { - self.pause(who) - } - }) - - entry.on('resume', function (who) { - if (self._paused && !entry._disowned) { - self.resume(who) - } - }) - - entry.on('stat', function (props) { - self.emit('_entryStat', entry, props) - if (entry._aborted) return - if (entry._paused) { - entry.once('resume', function () { - self.emit('entryStat', entry, props) - }) - } else self.emit('entryStat', entry, props) - }) - - entry.on('ready', function EMITCHILD () { - // console.error("DR emit child", entry._path) - if (self._paused) { - // console.error(" DR emit child - try again later") - // pause the child, and emit the "entry" event once we drain. - // console.error("DR pausing child entry") - entry.pause(self) - return self.once('resume', EMITCHILD) - } - - // skip over sockets. they can't be piped around properly, - // so there's really no sense even acknowledging them. - // if someone really wants to see them, they can listen to - // the "socket" events. - if (entry.type === 'Socket') { - self.emit('socket', entry) - } else { - self.emitEntry(entry) - } - }) - - var ended = false - entry.on('close', onend) - entry.on('disown', onend) - function onend () { - if (ended) return - ended = true - self.emit('childEnd', entry) - self.emit('entryEnd', entry) - self._currentEntry = null - if (!self._paused) { - self._read() - } - } - - // XXX Remove this. Works in node as of 0.6.2 or so. - // Long filenames should not break stuff. - entry.on('error', function (er) { - if (entry._swallowErrors) { - self.warn(er) - entry.emit('end') - entry.emit('close') - } else { - self.emit('error', er) - } - }) - - // proxy up some events. - ;[ - 'child', - 'childEnd', - 'warn' - ].forEach(function (ev) { - entry.on(ev, self.emit.bind(self, ev)) - }) - }) -} - -DirReader.prototype.disown = function (entry) { - entry.emit('beforeDisown') - entry._disowned = true - entry.parent = entry.root = null - if (entry === this._currentEntry) { - this._currentEntry = null - } - entry.emit('disown') -} - -DirReader.prototype.getChildProps = function () { - return { - depth: this.depth + 1, - root: this.root || this, - parent: this, - follow: this.follow, - filter: this.filter, - sort: this.props.sort, - hardlinks: this.props.hardlinks - } -} - -DirReader.prototype.pause = function (who) { - var self = this - if (self._paused) return - who = who || self - self._paused = true - if (self._currentEntry && self._currentEntry.pause) { - self._currentEntry.pause(who) - } - self.emit('pause', who) -} - -DirReader.prototype.resume = function (who) { - var self = this - if (!self._paused) return - who = who || self - - self._paused = false - // console.error('DR Emit Resume', self._path) - self.emit('resume', who) - if (self._paused) { - // console.error('DR Re-paused', self._path) - return - } - - if (self._currentEntry) { - if (self._currentEntry.resume) self._currentEntry.resume(who) - } else self._read() -} - -DirReader.prototype.emitEntry = function (entry) { - this.emit('entry', entry) - this.emit('child', entry) -} diff --git a/node_modules/fstream/lib/dir-writer.js b/node_modules/fstream/lib/dir-writer.js deleted file mode 100644 index ec50dca900dcf..0000000000000 --- a/node_modules/fstream/lib/dir-writer.js +++ /dev/null @@ -1,174 +0,0 @@ -// It is expected that, when .add() returns false, the consumer -// of the DirWriter will pause until a "drain" event occurs. Note -// that this is *almost always going to be the case*, unless the -// thing being written is some sort of unsupported type, and thus -// skipped over. - -module.exports = DirWriter - -var Writer = require('./writer.js') -var inherits = require('inherits') -var mkdir = require('mkdirp') -var path = require('path') -var collect = require('./collect.js') - -inherits(DirWriter, Writer) - -function DirWriter (props) { - var self = this - if (!(self instanceof DirWriter)) { - self.error('DirWriter must be called as constructor.', null, true) - } - - // should already be established as a Directory type - if (props.type !== 'Directory' || !props.Directory) { - self.error('Non-directory type ' + props.type + ' ' + - JSON.stringify(props), null, true) - } - - Writer.call(this, props) -} - -DirWriter.prototype._create = function () { - var self = this - mkdir(self._path, Writer.dirmode, function (er) { - if (er) return self.error(er) - // ready to start getting entries! - self.ready = true - self.emit('ready') - self._process() - }) -} - -// a DirWriter has an add(entry) method, but its .write() doesn't -// do anything. Why a no-op rather than a throw? Because this -// leaves open the door for writing directory metadata for -// gnu/solaris style dumpdirs. -DirWriter.prototype.write = function () { - return true -} - -DirWriter.prototype.end = function () { - this._ended = true - this._process() -} - -DirWriter.prototype.add = function (entry) { - var self = this - - // console.error('\tadd', entry._path, '->', self._path) - collect(entry) - if (!self.ready || self._currentEntry) { - self._buffer.push(entry) - return false - } - - // create a new writer, and pipe the incoming entry into it. - if (self._ended) { - return self.error('add after end') - } - - self._buffer.push(entry) - self._process() - - return this._buffer.length === 0 -} - -DirWriter.prototype._process = function () { - var self = this - - // console.error('DW Process p=%j', self._processing, self.basename) - - if (self._processing) return - - var entry = self._buffer.shift() - if (!entry) { - // console.error("DW Drain") - self.emit('drain') - if (self._ended) self._finish() - return - } - - self._processing = true - // console.error("DW Entry", entry._path) - - self.emit('entry', entry) - - // ok, add this entry - // - // don't allow recursive copying - var p = entry - var pp - do { - pp = p._path || p.path - if (pp === self.root._path || pp === self._path || - (pp && pp.indexOf(self._path) === 0)) { - // console.error('DW Exit (recursive)', entry.basename, self._path) - self._processing = false - if (entry._collected) entry.pipe() - return self._process() - } - p = p.parent - } while (p) - - // console.error("DW not recursive") - - // chop off the entry's root dir, replace with ours - var props = { - parent: self, - root: self.root || self, - type: entry.type, - depth: self.depth + 1 - } - - pp = entry._path || entry.path || entry.props.path - if (entry.parent) { - pp = pp.substr(entry.parent._path.length + 1) - } - // get rid of any ../../ shenanigans - props.path = path.join(self.path, path.join('/', pp)) - - // if i have a filter, the child should inherit it. - props.filter = self.filter - - // all the rest of the stuff, copy over from the source. - Object.keys(entry.props).forEach(function (k) { - if (!props.hasOwnProperty(k)) { - props[k] = entry.props[k] - } - }) - - // not sure at this point what kind of writer this is. - var child = self._currentChild = new Writer(props) - child.on('ready', function () { - // console.error("DW Child Ready", child.type, child._path) - // console.error(" resuming", entry._path) - entry.pipe(child) - entry.resume() - }) - - // XXX Make this work in node. - // Long filenames should not break stuff. - child.on('error', function (er) { - if (child._swallowErrors) { - self.warn(er) - child.emit('end') - child.emit('close') - } else { - self.emit('error', er) - } - }) - - // we fire _end internally *after* end, so that we don't move on - // until any "end" listeners have had their chance to do stuff. - child.on('close', onend) - var ended = false - function onend () { - if (ended) return - ended = true - // console.error("* DW Child end", child.basename) - self._currentChild = null - self._processing = false - self._process() - } -} diff --git a/node_modules/fstream/lib/file-reader.js b/node_modules/fstream/lib/file-reader.js deleted file mode 100644 index baa01f4b3db7e..0000000000000 --- a/node_modules/fstream/lib/file-reader.js +++ /dev/null @@ -1,150 +0,0 @@ -// Basically just a wrapper around an fs.ReadStream - -module.exports = FileReader - -var fs = require('graceful-fs') -var inherits = require('inherits') -var Reader = require('./reader.js') -var EOF = {EOF: true} -var CLOSE = {CLOSE: true} - -inherits(FileReader, Reader) - -function FileReader (props) { - // console.error(" FR create", props.path, props.size, new Error().stack) - var self = this - if (!(self instanceof FileReader)) { - throw new Error('FileReader must be called as constructor.') - } - - // should already be established as a File type - // XXX Todo: preserve hardlinks by tracking dev+inode+nlink, - // with a HardLinkReader class. - if (!((props.type === 'Link' && props.Link) || - (props.type === 'File' && props.File))) { - throw new Error('Non-file type ' + props.type) - } - - self._buffer = [] - self._bytesEmitted = 0 - Reader.call(self, props) -} - -FileReader.prototype._getStream = function () { - var self = this - var stream = self._stream = fs.createReadStream(self._path, self.props) - - if (self.props.blksize) { - stream.bufferSize = self.props.blksize - } - - stream.on('open', self.emit.bind(self, 'open')) - - stream.on('data', function (c) { - // console.error('\t\t%d %s', c.length, self.basename) - self._bytesEmitted += c.length - // no point saving empty chunks - if (!c.length) { - return - } else if (self._paused || self._buffer.length) { - self._buffer.push(c) - self._read() - } else self.emit('data', c) - }) - - stream.on('end', function () { - if (self._paused || self._buffer.length) { - // console.error('FR Buffering End', self._path) - self._buffer.push(EOF) - self._read() - } else { - self.emit('end') - } - - if (self._bytesEmitted !== self.props.size) { - self.error("Didn't get expected byte count\n" + - 'expect: ' + self.props.size + '\n' + - 'actual: ' + self._bytesEmitted) - } - }) - - stream.on('close', function () { - if (self._paused || self._buffer.length) { - // console.error('FR Buffering Close', self._path) - self._buffer.push(CLOSE) - self._read() - } else { - // console.error('FR close 1', self._path) - self.emit('close') - } - }) - - stream.on('error', function (e) { - self.emit('error', e) - }) - - self._read() -} - -FileReader.prototype._read = function () { - var self = this - // console.error('FR _read', self._path) - if (self._paused) { - // console.error('FR _read paused', self._path) - return - } - - if (!self._stream) { - // console.error('FR _getStream calling', self._path) - return self._getStream() - } - - // clear out the buffer, if there is one. - if (self._buffer.length) { - // console.error('FR _read has buffer', self._buffer.length, self._path) - var buf = self._buffer - for (var i = 0, l = buf.length; i < l; i++) { - var c = buf[i] - if (c === EOF) { - // console.error('FR Read emitting buffered end', self._path) - self.emit('end') - } else if (c === CLOSE) { - // console.error('FR Read emitting buffered close', self._path) - self.emit('close') - } else { - // console.error('FR Read emitting buffered data', self._path) - self.emit('data', c) - } - - if (self._paused) { - // console.error('FR Read Re-pausing at '+i, self._path) - self._buffer = buf.slice(i) - return - } - } - self._buffer.length = 0 - } -// console.error("FR _read done") -// that's about all there is to it. -} - -FileReader.prototype.pause = function (who) { - var self = this - // console.error('FR Pause', self._path) - if (self._paused) return - who = who || self - self._paused = true - if (self._stream) self._stream.pause() - self.emit('pause', who) -} - -FileReader.prototype.resume = function (who) { - var self = this - // console.error('FR Resume', self._path) - if (!self._paused) return - who = who || self - self.emit('resume', who) - self._paused = false - if (self._stream) self._stream.resume() - self._read() -} diff --git a/node_modules/fstream/lib/file-writer.js b/node_modules/fstream/lib/file-writer.js deleted file mode 100644 index 4c803d8d68d2f..0000000000000 --- a/node_modules/fstream/lib/file-writer.js +++ /dev/null @@ -1,107 +0,0 @@ -module.exports = FileWriter - -var fs = require('graceful-fs') -var Writer = require('./writer.js') -var inherits = require('inherits') -var EOF = {} - -inherits(FileWriter, Writer) - -function FileWriter (props) { - var self = this - if (!(self instanceof FileWriter)) { - throw new Error('FileWriter must be called as constructor.') - } - - // should already be established as a File type - if (props.type !== 'File' || !props.File) { - throw new Error('Non-file type ' + props.type) - } - - self._buffer = [] - self._bytesWritten = 0 - - Writer.call(this, props) -} - -FileWriter.prototype._create = function () { - var self = this - if (self._stream) return - - var so = {} - if (self.props.flags) so.flags = self.props.flags - so.mode = Writer.filemode - if (self._old && self._old.blksize) so.bufferSize = self._old.blksize - - self._stream = fs.createWriteStream(self._path, so) - - self._stream.on('open', function () { - // console.error("FW open", self._buffer, self._path) - self.ready = true - self._buffer.forEach(function (c) { - if (c === EOF) self._stream.end() - else self._stream.write(c) - }) - self.emit('ready') - // give this a kick just in case it needs it. - self.emit('drain') - }) - - self._stream.on('error', function (er) { self.emit('error', er) }) - - self._stream.on('drain', function () { self.emit('drain') }) - - self._stream.on('close', function () { - // console.error('\n\nFW Stream Close', self._path, self.size) - self._finish() - }) -} - -FileWriter.prototype.write = function (c) { - var self = this - - self._bytesWritten += c.length - - if (!self.ready) { - if (!Buffer.isBuffer(c) && typeof c !== 'string') { - throw new Error('invalid write data') - } - self._buffer.push(c) - return false - } - - var ret = self._stream.write(c) - // console.error('\t-- fw wrote, _stream says', ret, self._stream._queue.length) - - // allow 2 buffered writes, because otherwise there's just too - // much stop and go bs. - if (ret === false && self._stream._queue) { - return self._stream._queue.length <= 2 - } else { - return ret - } -} - -FileWriter.prototype.end = function (c) { - var self = this - - if (c) self.write(c) - - if (!self.ready) { - self._buffer.push(EOF) - return false - } - - return self._stream.end() -} - -FileWriter.prototype._finish = function () { - var self = this - if (typeof self.size === 'number' && self._bytesWritten !== self.size) { - self.error( - 'Did not get expected byte count.\n' + - 'expect: ' + self.size + '\n' + - 'actual: ' + self._bytesWritten) - } - Writer.prototype._finish.call(self) -} diff --git a/node_modules/fstream/lib/get-type.js b/node_modules/fstream/lib/get-type.js deleted file mode 100644 index 19f6a657db847..0000000000000 --- a/node_modules/fstream/lib/get-type.js +++ /dev/null @@ -1,33 +0,0 @@ -module.exports = getType - -function getType (st) { - var types = [ - 'Directory', - 'File', - 'SymbolicLink', - 'Link', // special for hardlinks from tarballs - 'BlockDevice', - 'CharacterDevice', - 'FIFO', - 'Socket' - ] - var type - - if (st.type && types.indexOf(st.type) !== -1) { - st[st.type] = true - return st.type - } - - for (var i = 0, l = types.length; i < l; i++) { - type = types[i] - var is = st[type] || st['is' + type] - if (typeof is === 'function') is = is.call(st) - if (is) { - st[type] = true - st.type = type - return type - } - } - - return null -} diff --git a/node_modules/fstream/lib/link-reader.js b/node_modules/fstream/lib/link-reader.js deleted file mode 100644 index fb4cc67a98dc5..0000000000000 --- a/node_modules/fstream/lib/link-reader.js +++ /dev/null @@ -1,53 +0,0 @@ -// Basically just a wrapper around an fs.readlink -// -// XXX: Enhance this to support the Link type, by keeping -// a lookup table of {:}, so that hardlinks -// can be preserved in tarballs. - -module.exports = LinkReader - -var fs = require('graceful-fs') -var inherits = require('inherits') -var Reader = require('./reader.js') - -inherits(LinkReader, Reader) - -function LinkReader (props) { - var self = this - if (!(self instanceof LinkReader)) { - throw new Error('LinkReader must be called as constructor.') - } - - if (!((props.type === 'Link' && props.Link) || - (props.type === 'SymbolicLink' && props.SymbolicLink))) { - throw new Error('Non-link type ' + props.type) - } - - Reader.call(self, props) -} - -// When piping a LinkReader into a LinkWriter, we have to -// already have the linkpath property set, so that has to -// happen *before* the "ready" event, which means we need to -// override the _stat method. -LinkReader.prototype._stat = function (currentStat) { - var self = this - fs.readlink(self._path, function (er, linkpath) { - if (er) return self.error(er) - self.linkpath = self.props.linkpath = linkpath - self.emit('linkpath', linkpath) - Reader.prototype._stat.call(self, currentStat) - }) -} - -LinkReader.prototype._read = function () { - var self = this - if (self._paused) return - // basically just a no-op, since we got all the info we need - // from the _stat method - if (!self._ended) { - self.emit('end') - self.emit('close') - self._ended = true - } -} diff --git a/node_modules/fstream/lib/link-writer.js b/node_modules/fstream/lib/link-writer.js deleted file mode 100644 index af54284008faa..0000000000000 --- a/node_modules/fstream/lib/link-writer.js +++ /dev/null @@ -1,95 +0,0 @@ -module.exports = LinkWriter - -var fs = require('graceful-fs') -var Writer = require('./writer.js') -var inherits = require('inherits') -var path = require('path') -var rimraf = require('rimraf') - -inherits(LinkWriter, Writer) - -function LinkWriter (props) { - var self = this - if (!(self instanceof LinkWriter)) { - throw new Error('LinkWriter must be called as constructor.') - } - - // should already be established as a Link type - if (!((props.type === 'Link' && props.Link) || - (props.type === 'SymbolicLink' && props.SymbolicLink))) { - throw new Error('Non-link type ' + props.type) - } - - if (props.linkpath === '') props.linkpath = '.' - if (!props.linkpath) { - self.error('Need linkpath property to create ' + props.type) - } - - Writer.call(this, props) -} - -LinkWriter.prototype._create = function () { - // console.error(" LW _create") - var self = this - var hard = self.type === 'Link' || process.platform === 'win32' - var link = hard ? 'link' : 'symlink' - var lp = hard ? path.resolve(self.dirname, self.linkpath) : self.linkpath - - // can only change the link path by clobbering - // For hard links, let's just assume that's always the case, since - // there's no good way to read them if we don't already know. - if (hard) return clobber(self, lp, link) - - fs.readlink(self._path, function (er, p) { - // only skip creation if it's exactly the same link - if (p && p === lp) return finish(self) - clobber(self, lp, link) - }) -} - -function clobber (self, lp, link) { - rimraf(self._path, function (er) { - if (er) return self.error(er) - create(self, lp, link) - }) -} - -function create (self, lp, link) { - fs[link](lp, self._path, function (er) { - // if this is a hard link, and we're in the process of writing out a - // directory, it's very possible that the thing we're linking to - // doesn't exist yet (especially if it was intended as a symlink), - // so swallow ENOENT errors here and just soldier in. - // Additionally, an EPERM or EACCES can happen on win32 if it's trying - // to make a link to a directory. Again, just skip it. - // A better solution would be to have fs.symlink be supported on - // windows in some nice fashion. - if (er) { - if ((er.code === 'ENOENT' || - er.code === 'EACCES' || - er.code === 'EPERM') && process.platform === 'win32') { - self.ready = true - self.emit('ready') - self.emit('end') - self.emit('close') - self.end = self._finish = function () {} - } else return self.error(er) - } - finish(self) - }) -} - -function finish (self) { - self.ready = true - self.emit('ready') - if (self._ended && !self._finished) self._finish() -} - -LinkWriter.prototype.end = function () { - // console.error("LW finish in end") - this._ended = true - if (this.ready) { - this._finished = true - this._finish() - } -} diff --git a/node_modules/fstream/lib/proxy-reader.js b/node_modules/fstream/lib/proxy-reader.js deleted file mode 100644 index 4f431c9d9e27d..0000000000000 --- a/node_modules/fstream/lib/proxy-reader.js +++ /dev/null @@ -1,95 +0,0 @@ -// A reader for when we don't yet know what kind of thing -// the thing is. - -module.exports = ProxyReader - -var Reader = require('./reader.js') -var getType = require('./get-type.js') -var inherits = require('inherits') -var fs = require('graceful-fs') - -inherits(ProxyReader, Reader) - -function ProxyReader (props) { - var self = this - if (!(self instanceof ProxyReader)) { - throw new Error('ProxyReader must be called as constructor.') - } - - self.props = props - self._buffer = [] - self.ready = false - - Reader.call(self, props) -} - -ProxyReader.prototype._stat = function () { - var self = this - var props = self.props - // stat the thing to see what the proxy should be. - var stat = props.follow ? 'stat' : 'lstat' - - fs[stat](props.path, function (er, current) { - var type - if (er || !current) { - type = 'File' - } else { - type = getType(current) - } - - props[type] = true - props.type = self.type = type - - self._old = current - self._addProxy(Reader(props, current)) - }) -} - -ProxyReader.prototype._addProxy = function (proxy) { - var self = this - if (self._proxyTarget) { - return self.error('proxy already set') - } - - self._proxyTarget = proxy - proxy._proxy = self - - ;[ - 'error', - 'data', - 'end', - 'close', - 'linkpath', - 'entry', - 'entryEnd', - 'child', - 'childEnd', - 'warn', - 'stat' - ].forEach(function (ev) { - // console.error('~~ proxy event', ev, self.path) - proxy.on(ev, self.emit.bind(self, ev)) - }) - - self.emit('proxy', proxy) - - proxy.on('ready', function () { - // console.error("~~ proxy is ready!", self.path) - self.ready = true - self.emit('ready') - }) - - var calls = self._buffer - self._buffer.length = 0 - calls.forEach(function (c) { - proxy[c[0]].apply(proxy, c[1]) - }) -} - -ProxyReader.prototype.pause = function () { - return this._proxyTarget ? this._proxyTarget.pause() : false -} - -ProxyReader.prototype.resume = function () { - return this._proxyTarget ? this._proxyTarget.resume() : false -} diff --git a/node_modules/fstream/lib/proxy-writer.js b/node_modules/fstream/lib/proxy-writer.js deleted file mode 100644 index a6544621bfbe7..0000000000000 --- a/node_modules/fstream/lib/proxy-writer.js +++ /dev/null @@ -1,111 +0,0 @@ -// A writer for when we don't know what kind of thing -// the thing is. That is, it's not explicitly set, -// so we're going to make it whatever the thing already -// is, or "File" -// -// Until then, collect all events. - -module.exports = ProxyWriter - -var Writer = require('./writer.js') -var getType = require('./get-type.js') -var inherits = require('inherits') -var collect = require('./collect.js') -var fs = require('fs') - -inherits(ProxyWriter, Writer) - -function ProxyWriter (props) { - var self = this - if (!(self instanceof ProxyWriter)) { - throw new Error('ProxyWriter must be called as constructor.') - } - - self.props = props - self._needDrain = false - - Writer.call(self, props) -} - -ProxyWriter.prototype._stat = function () { - var self = this - var props = self.props - // stat the thing to see what the proxy should be. - var stat = props.follow ? 'stat' : 'lstat' - - fs[stat](props.path, function (er, current) { - var type - if (er || !current) { - type = 'File' - } else { - type = getType(current) - } - - props[type] = true - props.type = self.type = type - - self._old = current - self._addProxy(Writer(props, current)) - }) -} - -ProxyWriter.prototype._addProxy = function (proxy) { - // console.error("~~ set proxy", this.path) - var self = this - if (self._proxy) { - return self.error('proxy already set') - } - - self._proxy = proxy - ;[ - 'ready', - 'error', - 'close', - 'pipe', - 'drain', - 'warn' - ].forEach(function (ev) { - proxy.on(ev, self.emit.bind(self, ev)) - }) - - self.emit('proxy', proxy) - - var calls = self._buffer - calls.forEach(function (c) { - // console.error("~~ ~~ proxy buffered call", c[0], c[1]) - proxy[c[0]].apply(proxy, c[1]) - }) - self._buffer.length = 0 - if (self._needsDrain) self.emit('drain') -} - -ProxyWriter.prototype.add = function (entry) { - // console.error("~~ proxy add") - collect(entry) - - if (!this._proxy) { - this._buffer.push(['add', [entry]]) - this._needDrain = true - return false - } - return this._proxy.add(entry) -} - -ProxyWriter.prototype.write = function (c) { - // console.error('~~ proxy write') - if (!this._proxy) { - this._buffer.push(['write', [c]]) - this._needDrain = true - return false - } - return this._proxy.write(c) -} - -ProxyWriter.prototype.end = function (c) { - // console.error('~~ proxy end') - if (!this._proxy) { - this._buffer.push(['end', [c]]) - return false - } - return this._proxy.end(c) -} diff --git a/node_modules/fstream/lib/reader.js b/node_modules/fstream/lib/reader.js deleted file mode 100644 index be4f570eeb281..0000000000000 --- a/node_modules/fstream/lib/reader.js +++ /dev/null @@ -1,255 +0,0 @@ -module.exports = Reader - -var fs = require('graceful-fs') -var Stream = require('stream').Stream -var inherits = require('inherits') -var path = require('path') -var getType = require('./get-type.js') -var hardLinks = Reader.hardLinks = {} -var Abstract = require('./abstract.js') - -// Must do this *before* loading the child classes -inherits(Reader, Abstract) - -var LinkReader = require('./link-reader.js') - -function Reader (props, currentStat) { - var self = this - if (!(self instanceof Reader)) return new Reader(props, currentStat) - - if (typeof props === 'string') { - props = { path: props } - } - - // polymorphism. - // call fstream.Reader(dir) to get a DirReader object, etc. - // Note that, unlike in the Writer case, ProxyReader is going - // to be the *normal* state of affairs, since we rarely know - // the type of a file prior to reading it. - - var type - var ClassType - - if (props.type && typeof props.type === 'function') { - type = props.type - ClassType = type - } else { - type = getType(props) - ClassType = Reader - } - - if (currentStat && !type) { - type = getType(currentStat) - props[type] = true - props.type = type - } - - switch (type) { - case 'Directory': - ClassType = require('./dir-reader.js') - break - - case 'Link': - // XXX hard links are just files. - // However, it would be good to keep track of files' dev+inode - // and nlink values, and create a HardLinkReader that emits - // a linkpath value of the original copy, so that the tar - // writer can preserve them. - // ClassType = HardLinkReader - // break - - case 'File': - ClassType = require('./file-reader.js') - break - - case 'SymbolicLink': - ClassType = LinkReader - break - - case 'Socket': - ClassType = require('./socket-reader.js') - break - - case null: - ClassType = require('./proxy-reader.js') - break - } - - if (!(self instanceof ClassType)) { - return new ClassType(props) - } - - Abstract.call(self) - - if (!props.path) { - self.error('Must provide a path', null, true) - } - - self.readable = true - self.writable = false - - self.type = type - self.props = props - self.depth = props.depth = props.depth || 0 - self.parent = props.parent || null - self.root = props.root || (props.parent && props.parent.root) || self - - self._path = self.path = path.resolve(props.path) - if (process.platform === 'win32') { - self.path = self._path = self.path.replace(/\?/g, '_') - if (self._path.length >= 260) { - // how DOES one create files on the moon? - // if the path has spaces in it, then UNC will fail. - self._swallowErrors = true - // if (self._path.indexOf(" ") === -1) { - self._path = '\\\\?\\' + self.path.replace(/\//g, '\\') - // } - } - } - self.basename = props.basename = path.basename(self.path) - self.dirname = props.dirname = path.dirname(self.path) - - // these have served their purpose, and are now just noisy clutter - props.parent = props.root = null - - // console.error("\n\n\n%s setting size to", props.path, props.size) - self.size = props.size - self.filter = typeof props.filter === 'function' ? props.filter : null - if (props.sort === 'alpha') props.sort = alphasort - - // start the ball rolling. - // this will stat the thing, and then call self._read() - // to start reading whatever it is. - // console.error("calling stat", props.path, currentStat) - self._stat(currentStat) -} - -function alphasort (a, b) { - return a === b ? 0 - : a.toLowerCase() > b.toLowerCase() ? 1 - : a.toLowerCase() < b.toLowerCase() ? -1 - : a > b ? 1 - : -1 -} - -Reader.prototype._stat = function (currentStat) { - var self = this - var props = self.props - var stat = props.follow ? 'stat' : 'lstat' - // console.error("Reader._stat", self._path, currentStat) - if (currentStat) process.nextTick(statCb.bind(null, null, currentStat)) - else fs[stat](self._path, statCb) - - function statCb (er, props_) { - // console.error("Reader._stat, statCb", self._path, props_, props_.nlink) - if (er) return self.error(er) - - Object.keys(props_).forEach(function (k) { - props[k] = props_[k] - }) - - // if it's not the expected size, then abort here. - if (undefined !== self.size && props.size !== self.size) { - return self.error('incorrect size') - } - self.size = props.size - - var type = getType(props) - var handleHardlinks = props.hardlinks !== false - - // special little thing for handling hardlinks. - if (handleHardlinks && type !== 'Directory' && props.nlink && props.nlink > 1) { - var k = props.dev + ':' + props.ino - // console.error("Reader has nlink", self._path, k) - if (hardLinks[k] === self._path || !hardLinks[k]) { - hardLinks[k] = self._path - } else { - // switch into hardlink mode. - type = self.type = self.props.type = 'Link' - self.Link = self.props.Link = true - self.linkpath = self.props.linkpath = hardLinks[k] - // console.error("Hardlink detected, switching mode", self._path, self.linkpath) - // Setting __proto__ would arguably be the "correct" - // approach here, but that just seems too wrong. - self._stat = self._read = LinkReader.prototype._read - } - } - - if (self.type && self.type !== type) { - self.error('Unexpected type: ' + type) - } - - // if the filter doesn't pass, then just skip over this one. - // still have to emit end so that dir-walking can move on. - if (self.filter) { - var who = self._proxy || self - // special handling for ProxyReaders - if (!self.filter.call(who, who, props)) { - if (!self._disowned) { - self.abort() - self.emit('end') - self.emit('close') - } - return - } - } - - // last chance to abort or disown before the flow starts! - var events = ['_stat', 'stat', 'ready'] - var e = 0 - ;(function go () { - if (self._aborted) { - self.emit('end') - self.emit('close') - return - } - - if (self._paused && self.type !== 'Directory') { - self.once('resume', go) - return - } - - var ev = events[e++] - if (!ev) { - return self._read() - } - self.emit(ev, props) - go() - })() - } -} - -Reader.prototype.pipe = function (dest) { - var self = this - if (typeof dest.add === 'function') { - // piping to a multi-compatible, and we've got directory entries. - self.on('entry', function (entry) { - var ret = dest.add(entry) - if (ret === false) { - self.pause() - } - }) - } - - // console.error("R Pipe apply Stream Pipe") - return Stream.prototype.pipe.apply(this, arguments) -} - -Reader.prototype.pause = function (who) { - this._paused = true - who = who || this - this.emit('pause', who) - if (this._stream) this._stream.pause(who) -} - -Reader.prototype.resume = function (who) { - this._paused = false - who = who || this - this.emit('resume', who) - if (this._stream) this._stream.resume(who) - this._read() -} - -Reader.prototype._read = function () { - this.error('Cannot read unknown type: ' + this.type) -} diff --git a/node_modules/fstream/lib/socket-reader.js b/node_modules/fstream/lib/socket-reader.js deleted file mode 100644 index e0456ba890ede..0000000000000 --- a/node_modules/fstream/lib/socket-reader.js +++ /dev/null @@ -1,36 +0,0 @@ -// Just get the stats, and then don't do anything. -// You can't really "read" from a socket. You "connect" to it. -// Mostly, this is here so that reading a dir with a socket in it -// doesn't blow up. - -module.exports = SocketReader - -var inherits = require('inherits') -var Reader = require('./reader.js') - -inherits(SocketReader, Reader) - -function SocketReader (props) { - var self = this - if (!(self instanceof SocketReader)) { - throw new Error('SocketReader must be called as constructor.') - } - - if (!(props.type === 'Socket' && props.Socket)) { - throw new Error('Non-socket type ' + props.type) - } - - Reader.call(self, props) -} - -SocketReader.prototype._read = function () { - var self = this - if (self._paused) return - // basically just a no-op, since we got all the info we have - // from the _stat method - if (!self._ended) { - self.emit('end') - self.emit('close') - self._ended = true - } -} diff --git a/node_modules/fstream/lib/writer.js b/node_modules/fstream/lib/writer.js deleted file mode 100644 index 140e449e06dd5..0000000000000 --- a/node_modules/fstream/lib/writer.js +++ /dev/null @@ -1,390 +0,0 @@ -module.exports = Writer - -var fs = require('graceful-fs') -var inherits = require('inherits') -var rimraf = require('rimraf') -var mkdir = require('mkdirp') -var path = require('path') -var umask = process.platform === 'win32' ? 0 : process.umask() -var getType = require('./get-type.js') -var Abstract = require('./abstract.js') - -// Must do this *before* loading the child classes -inherits(Writer, Abstract) - -Writer.dirmode = parseInt('0777', 8) & (~umask) -Writer.filemode = parseInt('0666', 8) & (~umask) - -var DirWriter = require('./dir-writer.js') -var LinkWriter = require('./link-writer.js') -var FileWriter = require('./file-writer.js') -var ProxyWriter = require('./proxy-writer.js') - -// props is the desired state. current is optionally the current stat, -// provided here so that subclasses can avoid statting the target -// more than necessary. -function Writer (props, current) { - var self = this - - if (typeof props === 'string') { - props = { path: props } - } - - // polymorphism. - // call fstream.Writer(dir) to get a DirWriter object, etc. - var type = getType(props) - var ClassType = Writer - - switch (type) { - case 'Directory': - ClassType = DirWriter - break - case 'File': - ClassType = FileWriter - break - case 'Link': - case 'SymbolicLink': - ClassType = LinkWriter - break - case null: - default: - // Don't know yet what type to create, so we wrap in a proxy. - ClassType = ProxyWriter - break - } - - if (!(self instanceof ClassType)) return new ClassType(props) - - // now get down to business. - - Abstract.call(self) - - if (!props.path) self.error('Must provide a path', null, true) - - // props is what we want to set. - // set some convenience properties as well. - self.type = props.type - self.props = props - self.depth = props.depth || 0 - self.clobber = props.clobber === false ? props.clobber : true - self.parent = props.parent || null - self.root = props.root || (props.parent && props.parent.root) || self - - self._path = self.path = path.resolve(props.path) - if (process.platform === 'win32') { - self.path = self._path = self.path.replace(/\?/g, '_') - if (self._path.length >= 260) { - self._swallowErrors = true - self._path = '\\\\?\\' + self.path.replace(/\//g, '\\') - } - } - self.basename = path.basename(props.path) - self.dirname = path.dirname(props.path) - self.linkpath = props.linkpath || null - - props.parent = props.root = null - - // console.error("\n\n\n%s setting size to", props.path, props.size) - self.size = props.size - - if (typeof props.mode === 'string') { - props.mode = parseInt(props.mode, 8) - } - - self.readable = false - self.writable = true - - // buffer until ready, or while handling another entry - self._buffer = [] - self.ready = false - - self.filter = typeof props.filter === 'function' ? props.filter : null - - // start the ball rolling. - // this checks what's there already, and then calls - // self._create() to call the impl-specific creation stuff. - self._stat(current) -} - -// Calling this means that it's something we can't create. -// Just assert that it's already there, otherwise raise a warning. -Writer.prototype._create = function () { - var self = this - fs[self.props.follow ? 'stat' : 'lstat'](self._path, function (er) { - if (er) { - return self.warn('Cannot create ' + self._path + '\n' + - 'Unsupported type: ' + self.type, 'ENOTSUP') - } - self._finish() - }) -} - -Writer.prototype._stat = function (current) { - var self = this - var props = self.props - var stat = props.follow ? 'stat' : 'lstat' - var who = self._proxy || self - - if (current) statCb(null, current) - else fs[stat](self._path, statCb) - - function statCb (er, current) { - if (self.filter && !self.filter.call(who, who, current)) { - self._aborted = true - self.emit('end') - self.emit('close') - return - } - - // if it's not there, great. We'll just create it. - // if it is there, then we'll need to change whatever differs - if (er || !current) { - return create(self) - } - - self._old = current - var currentType = getType(current) - - // if it's a type change, then we need to clobber or error. - // if it's not a type change, then let the impl take care of it. - if (currentType !== self.type) { - return rimraf(self._path, function (er) { - if (er) return self.error(er) - self._old = null - create(self) - }) - } - - // otherwise, just handle in the app-specific way - // this creates a fs.WriteStream, or mkdir's, or whatever - create(self) - } -} - -function create (self) { - // console.error("W create", self._path, Writer.dirmode) - - // XXX Need to clobber non-dirs that are in the way, - // unless { clobber: false } in the props. - mkdir(path.dirname(self._path), Writer.dirmode, function (er, made) { - // console.error("W created", path.dirname(self._path), er) - if (er) return self.error(er) - - // later on, we have to set the mode and owner for these - self._madeDir = made - return self._create() - }) -} - -function endChmod (self, want, current, path, cb) { - var wantMode = want.mode - var chmod = want.follow || self.type !== 'SymbolicLink' - ? 'chmod' : 'lchmod' - - if (!fs[chmod]) return cb() - if (typeof wantMode !== 'number') return cb() - - var curMode = current.mode & parseInt('0777', 8) - wantMode = wantMode & parseInt('0777', 8) - if (wantMode === curMode) return cb() - - fs[chmod](path, wantMode, cb) -} - -function endChown (self, want, current, path, cb) { - // Don't even try it unless root. Too easy to EPERM. - if (process.platform === 'win32') return cb() - if (!process.getuid || process.getuid() !== 0) return cb() - if (typeof want.uid !== 'number' && - typeof want.gid !== 'number') return cb() - - if (current.uid === want.uid && - current.gid === want.gid) return cb() - - var chown = (self.props.follow || self.type !== 'SymbolicLink') - ? 'chown' : 'lchown' - if (!fs[chown]) return cb() - - if (typeof want.uid !== 'number') want.uid = current.uid - if (typeof want.gid !== 'number') want.gid = current.gid - - fs[chown](path, want.uid, want.gid, cb) -} - -function endUtimes (self, want, current, path, cb) { - if (!fs.utimes || process.platform === 'win32') return cb() - - var utimes = (want.follow || self.type !== 'SymbolicLink') - ? 'utimes' : 'lutimes' - - if (utimes === 'lutimes' && !fs[utimes]) { - utimes = 'utimes' - } - - if (!fs[utimes]) return cb() - - var curA = current.atime - var curM = current.mtime - var meA = want.atime - var meM = want.mtime - - if (meA === undefined) meA = curA - if (meM === undefined) meM = curM - - if (!isDate(meA)) meA = new Date(meA) - if (!isDate(meM)) meA = new Date(meM) - - if (meA.getTime() === curA.getTime() && - meM.getTime() === curM.getTime()) return cb() - - fs[utimes](path, meA, meM, cb) -} - -// XXX This function is beastly. Break it up! -Writer.prototype._finish = function () { - var self = this - - if (self._finishing) return - self._finishing = true - - // console.error(" W Finish", self._path, self.size) - - // set up all the things. - // At this point, we're already done writing whatever we've gotta write, - // adding files to the dir, etc. - var todo = 0 - var errState = null - var done = false - - if (self._old) { - // the times will almost *certainly* have changed. - // adds the utimes syscall, but remove another stat. - self._old.atime = new Date(0) - self._old.mtime = new Date(0) - // console.error(" W Finish Stale Stat", self._path, self.size) - setProps(self._old) - } else { - var stat = self.props.follow ? 'stat' : 'lstat' - // console.error(" W Finish Stating", self._path, self.size) - fs[stat](self._path, function (er, current) { - // console.error(" W Finish Stated", self._path, self.size, current) - if (er) { - // if we're in the process of writing out a - // directory, it's very possible that the thing we're linking to - // doesn't exist yet (especially if it was intended as a symlink), - // so swallow ENOENT errors here and just soldier on. - if (er.code === 'ENOENT' && - (self.type === 'Link' || self.type === 'SymbolicLink') && - process.platform === 'win32') { - self.ready = true - self.emit('ready') - self.emit('end') - self.emit('close') - self.end = self._finish = function () {} - return - } else return self.error(er) - } - setProps(self._old = current) - }) - } - - return - - function setProps (current) { - todo += 3 - endChmod(self, self.props, current, self._path, next('chmod')) - endChown(self, self.props, current, self._path, next('chown')) - endUtimes(self, self.props, current, self._path, next('utimes')) - } - - function next (what) { - return function (er) { - // console.error(" W Finish", what, todo) - if (errState) return - if (er) { - er.fstream_finish_call = what - return self.error(errState = er) - } - if (--todo > 0) return - if (done) return - done = true - - // we may still need to set the mode/etc. on some parent dirs - // that were created previously. delay end/close until then. - if (!self._madeDir) return end() - else endMadeDir(self, self._path, end) - - function end (er) { - if (er) { - er.fstream_finish_call = 'setupMadeDir' - return self.error(er) - } - // all the props have been set, so we're completely done. - self.emit('end') - self.emit('close') - } - } - } -} - -function endMadeDir (self, p, cb) { - var made = self._madeDir - // everything *between* made and path.dirname(self._path) - // needs to be set up. Note that this may just be one dir. - var d = path.dirname(p) - - endMadeDir_(self, d, function (er) { - if (er) return cb(er) - if (d === made) { - return cb() - } - endMadeDir(self, d, cb) - }) -} - -function endMadeDir_ (self, p, cb) { - var dirProps = {} - Object.keys(self.props).forEach(function (k) { - dirProps[k] = self.props[k] - - // only make non-readable dirs if explicitly requested. - if (k === 'mode' && self.type !== 'Directory') { - dirProps[k] = dirProps[k] | parseInt('0111', 8) - } - }) - - var todo = 3 - var errState = null - fs.stat(p, function (er, current) { - if (er) return cb(errState = er) - endChmod(self, dirProps, current, p, next) - endChown(self, dirProps, current, p, next) - endUtimes(self, dirProps, current, p, next) - }) - - function next (er) { - if (errState) return - if (er) return cb(errState = er) - if (--todo === 0) return cb() - } -} - -Writer.prototype.pipe = function () { - this.error("Can't pipe from writable stream") -} - -Writer.prototype.add = function () { - this.error("Can't add to non-Directory type") -} - -Writer.prototype.write = function () { - return true -} - -function objectToString (d) { - return Object.prototype.toString.call(d) -} - -function isDate (d) { - return typeof d === 'object' && objectToString(d) === '[object Date]' -} diff --git a/node_modules/fstream/package.json b/node_modules/fstream/package.json deleted file mode 100644 index 25418b6709e64..0000000000000 --- a/node_modules/fstream/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "fstream@^1.0.0", - "_id": "fstream@1.0.11", - "_inBundle": false, - "_integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "_location": "/fstream", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "fstream@^1.0.0", - "name": "fstream", - "escapedName": "fstream", - "rawSpec": "^1.0.0", - "saveSpec": null, - "fetchSpec": "^1.0.0" - }, - "_requiredBy": [ - "/node-gyp", - "/node-gyp/tar" - ], - "_resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "_shasum": "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171", - "_spec": "fstream@^1.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/node-gyp", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/npm/fstream/issues" - }, - "bundleDependencies": false, - "dependencies": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - }, - "deprecated": false, - "description": "Advanced file system stream things", - "devDependencies": { - "standard": "^4.0.0", - "tap": "^1.2.0" - }, - "engines": { - "node": ">=0.6" - }, - "homepage": "https://github.com/npm/fstream#readme", - "license": "ISC", - "main": "fstream.js", - "name": "fstream", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/fstream.git" - }, - "scripts": { - "test": "standard && tap examples/*.js" - }, - "version": "1.0.11" -} diff --git a/node_modules/node-gyp/CHANGELOG.md b/node_modules/node-gyp/CHANGELOG.md index 33bbfad5dec9a..05167c92dc640 100644 --- a/node_modules/node-gyp/CHANGELOG.md +++ b/node_modules/node-gyp/CHANGELOG.md @@ -1,3 +1,11 @@ +v4.0.0 2019-04-24 +================= + +* [[`ceed5cbe10`](https://github.com/nodejs/node-gyp/commit/ceed5cbe10)] - **deps**: updated tar package version to 4.4.8 (Pobegaylo Maksim) [#1713](https://github.com/nodejs/node-gyp/pull/1713) +* [[`374519e066`](https://github.com/nodejs/node-gyp/commit/374519e066)] - **(SEMVER-MAJOR)** Upgrade to tar v3 (isaacs) [#1212](https://github.com/nodejs/node-gyp/pull/1212) +* [[`e6699d13cd`](https://github.com/nodejs/node-gyp/commit/e6699d13cd)] - **test**: fix addon test for Node.js 12 and V8 7.4 (Richard Lau) [#1705](https://github.com/nodejs/node-gyp/pull/1705) +* [[`0c6bf530a0`](https://github.com/nodejs/node-gyp/commit/0c6bf530a0)] - **lib**: use print() for python version detection (GreenAddress) [#1534](https://github.com/nodejs/node-gyp/pull/1534) + v3.8.0 2018-08-09 ================= diff --git a/node_modules/node-gyp/lib/configure.js b/node_modules/node-gyp/lib/configure.js index 35e6787d1f3e3..a42abe59724c7 100644 --- a/node_modules/node-gyp/lib/configure.js +++ b/node_modules/node-gyp/lib/configure.js @@ -448,7 +448,7 @@ PythonFinder.prototype = { }, checkPythonVersion: function checkPythonVersion () { - var args = ['-c', 'import sys; print "%s.%s.%s" % sys.version_info[:3];'] + var args = ['-c', 'import sys; print("%s.%s.%s" % sys.version_info[:3]);'] var env = extend({}, this.env) env.TERM = 'dumb' diff --git a/node_modules/node-gyp/lib/install.js b/node_modules/node-gyp/lib/install.js index cb84972e18325..8a615dfb38880 100644 --- a/node_modules/node-gyp/lib/install.js +++ b/node_modules/node-gyp/lib/install.js @@ -20,10 +20,8 @@ var fs = require('graceful-fs') , rm = require('rimraf') , path = require('path') , crypto = require('crypto') - , zlib = require('zlib') , log = require('npmlog') , semver = require('semver') - , fstream = require('fstream') , request = require('request') , mkdir = require('mkdirp') , processRelease = require('./process-release') @@ -148,41 +146,33 @@ function install (fs, gyp, argv, callback) { var tarPath = gyp.opts.tarball var badDownload = false , extractCount = 0 - , gunzip = zlib.createGunzip() - , extracter = tar.Extract({ path: devDir, strip: 1, filter: isValid }) var contentShasums = {} var expectShasums = {} // checks if a file to be extracted from the tarball is valid. // only .h header files and the gyp files get extracted - function isValid () { - var name = this.path.substring(devDir.length + 1) - var isValid = valid(name) - if (name === '' && this.type === 'Directory') { - // the first directory entry is ok - return true - } + function isValid (path, entry) { + var isValid = valid(path) if (isValid) { - log.verbose('extracted file from tarball', name) + log.verbose('extracted file from tarball', path) extractCount++ } else { // invalid - log.silly('ignoring from tarball', name) + log.silly('ignoring from tarball', path) } return isValid } - gunzip.on('error', cb) - extracter.on('error', cb) - extracter.on('end', afterTarball) - - // download the tarball, gunzip and extract! + // download the tarball and extract! if (tarPath) { - var input = fs.createReadStream(tarPath) - input.pipe(gunzip).pipe(extracter) - return + return tar.extract({ + file: tarPath, + strip: 1, + filter: isValid, + cwd: devDir + }).then(afterTarball, cb) } try { @@ -222,7 +212,11 @@ function install (fs, gyp, argv, callback) { }) // start unzipping and untaring - req.pipe(gunzip).pipe(extracter) + res.pipe(tar.extract({ + strip: 1, + cwd: devDir, + filter: isValid + }).on('close', afterTarball).on('error', cb)) }) // invoked after the tarball has finished being extracted diff --git a/node_modules/node-gyp/node_modules/tar/.npmignore b/node_modules/node-gyp/node_modules/tar/.npmignore deleted file mode 100644 index c167ad5b1c12f..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -.*.swp -node_modules -examples/extract/ -test/tmp/ -test/fixtures/ diff --git a/node_modules/node-gyp/node_modules/tar/.travis.yml b/node_modules/node-gyp/node_modules/tar/.travis.yml deleted file mode 100644 index fca8ef019405d..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: node_js -node_js: - - 0.10 - - 0.11 diff --git a/node_modules/node-gyp/node_modules/tar/LICENSE b/node_modules/node-gyp/node_modules/tar/LICENSE deleted file mode 100644 index 019b7e40ea056..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/LICENSE +++ /dev/null @@ -1,12 +0,0 @@ -The ISC License -Copyright (c) Isaac Z. Schlueter and Contributors -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/node-gyp/node_modules/tar/README.md b/node_modules/node-gyp/node_modules/tar/README.md deleted file mode 100644 index cfda2ac180611..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# node-tar - -Tar for Node.js. - -[![NPM](https://nodei.co/npm/tar.png)](https://nodei.co/npm/tar/) - -## API - -See `examples/` for usage examples. - -### var tar = require('tar') - -Returns an object with `.Pack`, `.Extract` and `.Parse` methods. - -### tar.Pack([properties]) - -Returns a through stream. Use -[fstream](https://npmjs.org/package/fstream) to write files into the -pack stream and you will receive tar archive data from the pack -stream. - -This only works with directories, it does not work with individual files. - -The optional `properties` object are used to set properties in the tar -'Global Extended Header'. If the `fromBase` property is set to true, -the tar will contain files relative to the path passed, and not with -the path included. - -### tar.Extract([options]) - -Returns a through stream. Write tar data to the stream and the files -in the tarball will be extracted onto the filesystem. - -`options` can be: - -```js -{ - path: '/path/to/extract/tar/into', - strip: 0, // how many path segments to strip from the root when extracting -} -``` - -`options` also get passed to the `fstream.Writer` instance that `tar` -uses internally. - -### tar.Parse() - -Returns a writable stream. Write tar data to it and it will emit -`entry` events for each entry parsed from the tarball. This is used by -`tar.Extract`. diff --git a/node_modules/node-gyp/node_modules/tar/examples/extracter.js b/node_modules/node-gyp/node_modules/tar/examples/extracter.js deleted file mode 100644 index f6253a72c5cd3..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/examples/extracter.js +++ /dev/null @@ -1,19 +0,0 @@ -var tar = require("../tar.js") - , fs = require("fs") - - -function onError(err) { - console.error('An error occurred:', err) -} - -function onEnd() { - console.log('Extracted!') -} - -var extractor = tar.Extract({path: __dirname + "/extract"}) - .on('error', onError) - .on('end', onEnd); - -fs.createReadStream(__dirname + "/../test/fixtures/c.tar") - .on('error', onError) - .pipe(extractor); diff --git a/node_modules/node-gyp/node_modules/tar/examples/packer.js b/node_modules/node-gyp/node_modules/tar/examples/packer.js deleted file mode 100644 index 039969ce300d1..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/examples/packer.js +++ /dev/null @@ -1,24 +0,0 @@ -var tar = require("../tar.js") - , fstream = require("fstream") - , fs = require("fs") - -var dirDest = fs.createWriteStream('dir.tar') - - -function onError(err) { - console.error('An error occurred:', err) -} - -function onEnd() { - console.log('Packed!') -} - -var packer = tar.Pack({ noProprietary: true }) - .on('error', onError) - .on('end', onEnd); - -// This must be a "directory" -fstream.Reader({ path: __dirname, type: "Directory" }) - .on('error', onError) - .pipe(packer) - .pipe(dirDest) diff --git a/node_modules/node-gyp/node_modules/tar/examples/reader.js b/node_modules/node-gyp/node_modules/tar/examples/reader.js deleted file mode 100644 index 39f3f0888a2cf..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/examples/reader.js +++ /dev/null @@ -1,36 +0,0 @@ -var tar = require("../tar.js") - , fs = require("fs") - -fs.createReadStream(__dirname + "/../test/fixtures/c.tar") - .pipe(tar.Parse()) - .on("extendedHeader", function (e) { - console.error("extended pax header", e.props) - e.on("end", function () { - console.error("extended pax fields:", e.fields) - }) - }) - .on("ignoredEntry", function (e) { - console.error("ignoredEntry?!?", e.props) - }) - .on("longLinkpath", function (e) { - console.error("longLinkpath entry", e.props) - e.on("end", function () { - console.error("value=%j", e.body.toString()) - }) - }) - .on("longPath", function (e) { - console.error("longPath entry", e.props) - e.on("end", function () { - console.error("value=%j", e.body.toString()) - }) - }) - .on("entry", function (e) { - console.error("entry", e.props) - e.on("data", function (c) { - console.error(" >>>" + c.toString().replace(/\n/g, "\\n")) - }) - e.on("end", function () { - console.error(" << 0 - return !this._needDrain -} - -EntryWriter.prototype.end = function (c) { - // console.error(".. ew end") - if (c) this._buffer.push(c) - this._buffer.push(EOF) - this._ended = true - this._process() - this._needDrain = this._buffer.length > 0 -} - -EntryWriter.prototype.pause = function () { - // console.error(".. ew pause") - this._paused = true - this.emit("pause") -} - -EntryWriter.prototype.resume = function () { - // console.error(".. ew resume") - this._paused = false - this.emit("resume") - this._process() -} - -EntryWriter.prototype.add = function (entry) { - // console.error(".. ew add") - if (!this.parent) return this.emit("error", new Error("no parent")) - - // make sure that the _header and such is emitted, and clear out - // the _currentEntry link on the parent. - if (!this._ended) this.end() - - return this.parent.add(entry) -} - -EntryWriter.prototype._header = function () { - // console.error(".. ew header") - if (this._didHeader) return - this._didHeader = true - - var headerBlock = TarHeader.encode(this.props) - - if (this.props.needExtended && !this._meta) { - var me = this - - ExtendedHeaderWriter = ExtendedHeaderWriter || - require("./extended-header-writer.js") - - ExtendedHeaderWriter(this.props) - .on("data", function (c) { - me.emit("data", c) - }) - .on("error", function (er) { - me.emit("error", er) - }) - .end() - } - - // console.error(".. .. ew headerBlock emitting") - this.emit("data", headerBlock) - this.emit("header") -} - -EntryWriter.prototype._process = function () { - // console.error(".. .. ew process") - if (!this._didHeader && !this._meta) { - this._header() - } - - if (this._paused || this._processing) { - // console.error(".. .. .. paused=%j, processing=%j", this._paused, this._processing) - return - } - - this._processing = true - - var buf = this._buffer - for (var i = 0; i < buf.length; i ++) { - // console.error(".. .. .. i=%d", i) - - var c = buf[i] - - if (c === EOF) this._stream.end() - else this._stream.write(c) - - if (this._paused) { - // console.error(".. .. .. paused mid-emission") - this._processing = false - if (i < buf.length) { - this._needDrain = true - this._buffer = buf.slice(i + 1) - } - return - } - } - - // console.error(".. .. .. emitted") - this._buffer.length = 0 - this._processing = false - - // console.error(".. .. .. emitting drain") - this.emit("drain") -} - -EntryWriter.prototype.destroy = function () {} diff --git a/node_modules/node-gyp/node_modules/tar/lib/entry.js b/node_modules/node-gyp/node_modules/tar/lib/entry.js deleted file mode 100644 index 591202bd3b9af..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/entry.js +++ /dev/null @@ -1,220 +0,0 @@ -// A passthrough read/write stream that sets its properties -// based on a header, extendedHeader, and globalHeader -// -// Can be either a file system object of some sort, or -// a pax/ustar metadata entry. - -module.exports = Entry - -var TarHeader = require("./header.js") - , tar = require("../tar") - , assert = require("assert").ok - , Stream = require("stream").Stream - , inherits = require("inherits") - , fstream = require("fstream").Abstract - -function Entry (header, extended, global) { - Stream.call(this) - this.readable = true - this.writable = true - - this._needDrain = false - this._paused = false - this._reading = false - this._ending = false - this._ended = false - this._remaining = 0 - this._abort = false - this._queue = [] - this._index = 0 - this._queueLen = 0 - - this._read = this._read.bind(this) - - this.props = {} - this._header = header - this._extended = extended || {} - - // globals can change throughout the course of - // a file parse operation. Freeze it at its current state. - this._global = {} - var me = this - Object.keys(global || {}).forEach(function (g) { - me._global[g] = global[g] - }) - - this._setProps() -} - -inherits(Entry, Stream) - -Entry.prototype.write = function (c) { - if (this._ending) this.error("write() after end()", null, true) - if (this._remaining === 0) { - this.error("invalid bytes past eof") - } - - // often we'll get a bunch of \0 at the end of the last write, - // since chunks will always be 512 bytes when reading a tarball. - if (c.length > this._remaining) { - c = c.slice(0, this._remaining) - } - this._remaining -= c.length - - // put it on the stack. - var ql = this._queueLen - this._queue.push(c) - this._queueLen ++ - - this._read() - - // either paused, or buffered - if (this._paused || ql > 0) { - this._needDrain = true - return false - } - - return true -} - -Entry.prototype.end = function (c) { - if (c) this.write(c) - this._ending = true - this._read() -} - -Entry.prototype.pause = function () { - this._paused = true - this.emit("pause") -} - -Entry.prototype.resume = function () { - // console.error(" Tar Entry resume", this.path) - this.emit("resume") - this._paused = false - this._read() - return this._queueLen - this._index > 1 -} - - // This is bound to the instance -Entry.prototype._read = function () { - // console.error(" Tar Entry _read", this.path) - - if (this._paused || this._reading || this._ended) return - - // set this flag so that event handlers don't inadvertently - // get multiple _read() calls running. - this._reading = true - - // have any data to emit? - while (this._index < this._queueLen && !this._paused) { - var chunk = this._queue[this._index ++] - this.emit("data", chunk) - } - - // check if we're drained - if (this._index >= this._queueLen) { - this._queue.length = this._queueLen = this._index = 0 - if (this._needDrain) { - this._needDrain = false - this.emit("drain") - } - if (this._ending) { - this._ended = true - this.emit("end") - } - } - - // if the queue gets too big, then pluck off whatever we can. - // this should be fairly rare. - var mql = this._maxQueueLen - if (this._queueLen > mql && this._index > 0) { - mql = Math.min(this._index, mql) - this._index -= mql - this._queueLen -= mql - this._queue = this._queue.slice(mql) - } - - this._reading = false -} - -Entry.prototype._setProps = function () { - // props = extended->global->header->{} - var header = this._header - , extended = this._extended - , global = this._global - , props = this.props - - // first get the values from the normal header. - var fields = tar.fields - for (var f = 0; fields[f] !== null; f ++) { - var field = fields[f] - , val = header[field] - if (typeof val !== "undefined") props[field] = val - } - - // next, the global header for this file. - // numeric values, etc, will have already been parsed. - ;[global, extended].forEach(function (p) { - Object.keys(p).forEach(function (f) { - if (typeof p[f] !== "undefined") props[f] = p[f] - }) - }) - - // no nulls allowed in path or linkpath - ;["path", "linkpath"].forEach(function (p) { - if (props.hasOwnProperty(p)) { - props[p] = props[p].split("\0")[0] - } - }) - - - // set date fields to be a proper date - ;["mtime", "ctime", "atime"].forEach(function (p) { - if (props.hasOwnProperty(p)) { - props[p] = new Date(props[p] * 1000) - } - }) - - // set the type so that we know what kind of file to create - var type - switch (tar.types[props.type]) { - case "OldFile": - case "ContiguousFile": - type = "File" - break - - case "GNUDumpDir": - type = "Directory" - break - - case undefined: - type = "Unknown" - break - - case "Link": - case "SymbolicLink": - case "CharacterDevice": - case "BlockDevice": - case "Directory": - case "FIFO": - default: - type = tar.types[props.type] - } - - this.type = type - this.path = props.path - this.size = props.size - - // size is special, since it signals when the file needs to end. - this._remaining = props.size -} - -// the parser may not call write if _abort is true. -// useful for skipping data from some files quickly. -Entry.prototype.abort = function(){ - this._abort = true -} - -Entry.prototype.warn = fstream.warn -Entry.prototype.error = fstream.error diff --git a/node_modules/node-gyp/node_modules/tar/lib/extended-header-writer.js b/node_modules/node-gyp/node_modules/tar/lib/extended-header-writer.js deleted file mode 100644 index 1728c4583ae06..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/extended-header-writer.js +++ /dev/null @@ -1,191 +0,0 @@ - -module.exports = ExtendedHeaderWriter - -var inherits = require("inherits") - , EntryWriter = require("./entry-writer.js") - -inherits(ExtendedHeaderWriter, EntryWriter) - -var tar = require("../tar.js") - , path = require("path") - , TarHeader = require("./header.js") - -// props is the props of the thing we need to write an -// extended header for. -// Don't be shy with it. Just encode everything. -function ExtendedHeaderWriter (props) { - // console.error(">> ehw ctor") - var me = this - - if (!(me instanceof ExtendedHeaderWriter)) { - return new ExtendedHeaderWriter(props) - } - - me.fields = props - - var p = - { path : ("PaxHeader" + path.join("/", props.path || "")) - .replace(/\\/g, "/").substr(0, 100) - , mode : props.mode || 0666 - , uid : props.uid || 0 - , gid : props.gid || 0 - , size : 0 // will be set later - , mtime : props.mtime || Date.now() / 1000 - , type : "x" - , linkpath : "" - , ustar : "ustar\0" - , ustarver : "00" - , uname : props.uname || "" - , gname : props.gname || "" - , devmaj : props.devmaj || 0 - , devmin : props.devmin || 0 - } - - - EntryWriter.call(me, p) - // console.error(">> ehw props", me.props) - me.props = p - - me._meta = true -} - -ExtendedHeaderWriter.prototype.end = function () { - // console.error(">> ehw end") - var me = this - - if (me._ended) return - me._ended = true - - me._encodeFields() - - if (me.props.size === 0) { - // nothing to write! - me._ready = true - me._stream.end() - return - } - - me._stream.write(TarHeader.encode(me.props)) - me.body.forEach(function (l) { - me._stream.write(l) - }) - me._ready = true - - // console.error(">> ehw _process calling end()", me.props) - this._stream.end() -} - -ExtendedHeaderWriter.prototype._encodeFields = function () { - // console.error(">> ehw _encodeFields") - this.body = [] - if (this.fields.prefix) { - this.fields.path = this.fields.prefix + "/" + this.fields.path - this.fields.prefix = "" - } - encodeFields(this.fields, "", this.body, this.fields.noProprietary) - var me = this - this.body.forEach(function (l) { - me.props.size += l.length - }) -} - -function encodeFields (fields, prefix, body, nop) { - // console.error(">> >> ehw encodeFields") - // "%d %s=%s\n", , , - // The length is a decimal number, and includes itself and the \n - // Numeric values are decimal strings. - - Object.keys(fields).forEach(function (k) { - var val = fields[k] - , numeric = tar.numeric[k] - - if (prefix) k = prefix + "." + k - - // already including NODETAR.type, don't need File=true also - if (k === fields.type && val === true) return - - switch (k) { - // don't include anything that's always handled just fine - // in the normal header, or only meaningful in the context - // of nodetar - case "mode": - case "cksum": - case "ustar": - case "ustarver": - case "prefix": - case "basename": - case "dirname": - case "needExtended": - case "block": - case "filter": - return - - case "rdev": - if (val === 0) return - break - - case "nlink": - case "dev": // Truly a hero among men, Creator of Star! - case "ino": // Speak his name with reverent awe! It is: - k = "SCHILY." + k - break - - default: break - } - - if (val && typeof val === "object" && - !Buffer.isBuffer(val)) encodeFields(val, k, body, nop) - else if (val === null || val === undefined) return - else body.push.apply(body, encodeField(k, val, nop)) - }) - - return body -} - -function encodeField (k, v, nop) { - // lowercase keys must be valid, otherwise prefix with - // "NODETAR." - if (k.charAt(0) === k.charAt(0).toLowerCase()) { - var m = k.split(".")[0] - if (!tar.knownExtended[m]) k = "NODETAR." + k - } - - // no proprietary - if (nop && k.charAt(0) !== k.charAt(0).toLowerCase()) { - return [] - } - - if (typeof val === "number") val = val.toString(10) - - var s = new Buffer(" " + k + "=" + v + "\n") - , digits = Math.floor(Math.log(s.length) / Math.log(10)) + 1 - - // console.error("1 s=%j digits=%j s.length=%d", s.toString(), digits, s.length) - - // if adding that many digits will make it go over that length, - // then add one to it. For example, if the string is: - // " foo=bar\n" - // then that's 9 characters. With the "9", that bumps the length - // up to 10. However, this is invalid: - // "10 foo=bar\n" - // but, since that's actually 11 characters, since 10 adds another - // character to the length, and the length includes the number - // itself. In that case, just bump it up again. - if (s.length + digits >= Math.pow(10, digits)) digits += 1 - // console.error("2 s=%j digits=%j s.length=%d", s.toString(), digits, s.length) - - var len = digits + s.length - // console.error("3 s=%j digits=%j s.length=%d len=%d", s.toString(), digits, s.length, len) - var lenBuf = new Buffer("" + len) - if (lenBuf.length + s.length !== len) { - throw new Error("Bad length calculation\n"+ - "len="+len+"\n"+ - "lenBuf="+JSON.stringify(lenBuf.toString())+"\n"+ - "lenBuf.length="+lenBuf.length+"\n"+ - "digits="+digits+"\n"+ - "s="+JSON.stringify(s.toString())+"\n"+ - "s.length="+s.length) - } - - return [lenBuf, s] -} diff --git a/node_modules/node-gyp/node_modules/tar/lib/extended-header.js b/node_modules/node-gyp/node_modules/tar/lib/extended-header.js deleted file mode 100644 index 74f432ceee5b2..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/extended-header.js +++ /dev/null @@ -1,140 +0,0 @@ -// An Entry consisting of: -// -// "%d %s=%s\n", , , -// -// The length is a decimal number, and includes itself and the \n -// \0 does not terminate anything. Only the length terminates the string. -// Numeric values are decimal strings. - -module.exports = ExtendedHeader - -var Entry = require("./entry.js") - , inherits = require("inherits") - , tar = require("../tar.js") - , numeric = tar.numeric - , keyTrans = { "SCHILY.dev": "dev" - , "SCHILY.ino": "ino" - , "SCHILY.nlink": "nlink" } - -function ExtendedHeader () { - Entry.apply(this, arguments) - this.on("data", this._parse) - this.fields = {} - this._position = 0 - this._fieldPos = 0 - this._state = SIZE - this._sizeBuf = [] - this._keyBuf = [] - this._valBuf = [] - this._size = -1 - this._key = "" -} - -inherits(ExtendedHeader, Entry) -ExtendedHeader.prototype._parse = parse - -var s = 0 - , states = ExtendedHeader.states = {} - , SIZE = states.SIZE = s++ - , KEY = states.KEY = s++ - , VAL = states.VAL = s++ - , ERR = states.ERR = s++ - -Object.keys(states).forEach(function (s) { - states[states[s]] = states[s] -}) - -states[s] = null - -// char code values for comparison -var _0 = "0".charCodeAt(0) - , _9 = "9".charCodeAt(0) - , point = ".".charCodeAt(0) - , a = "a".charCodeAt(0) - , Z = "Z".charCodeAt(0) - , a = "a".charCodeAt(0) - , z = "z".charCodeAt(0) - , space = " ".charCodeAt(0) - , eq = "=".charCodeAt(0) - , cr = "\n".charCodeAt(0) - -function parse (c) { - if (this._state === ERR) return - - for ( var i = 0, l = c.length - ; i < l - ; this._position++, this._fieldPos++, i++) { - // console.error("top of loop, size="+this._size) - - var b = c[i] - - if (this._size >= 0 && this._fieldPos > this._size) { - error(this, "field exceeds length="+this._size) - return - } - - switch (this._state) { - case ERR: return - - case SIZE: - // console.error("parsing size, b=%d, rest=%j", b, c.slice(i).toString()) - if (b === space) { - this._state = KEY - // this._fieldPos = this._sizeBuf.length - this._size = parseInt(new Buffer(this._sizeBuf).toString(), 10) - this._sizeBuf.length = 0 - continue - } - if (b < _0 || b > _9) { - error(this, "expected [" + _0 + ".." + _9 + "], got " + b) - return - } - this._sizeBuf.push(b) - continue - - case KEY: - // can be any char except =, not > size. - if (b === eq) { - this._state = VAL - this._key = new Buffer(this._keyBuf).toString() - if (keyTrans[this._key]) this._key = keyTrans[this._key] - this._keyBuf.length = 0 - continue - } - this._keyBuf.push(b) - continue - - case VAL: - // field must end with cr - if (this._fieldPos === this._size - 1) { - // console.error("finished with "+this._key) - if (b !== cr) { - error(this, "expected \\n at end of field") - return - } - var val = new Buffer(this._valBuf).toString() - if (numeric[this._key]) { - val = parseFloat(val) - } - this.fields[this._key] = val - - this._valBuf.length = 0 - this._state = SIZE - this._size = -1 - this._fieldPos = -1 - continue - } - this._valBuf.push(b) - continue - } - } -} - -function error (me, msg) { - msg = "invalid header: " + msg - + "\nposition=" + me._position - + "\nfield position=" + me._fieldPos - - me.error(msg) - me.state = ERR -} diff --git a/node_modules/node-gyp/node_modules/tar/lib/extract.js b/node_modules/node-gyp/node_modules/tar/lib/extract.js deleted file mode 100644 index fe1bb976eb0ce..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/extract.js +++ /dev/null @@ -1,94 +0,0 @@ -// give it a tarball and a path, and it'll dump the contents - -module.exports = Extract - -var tar = require("../tar.js") - , fstream = require("fstream") - , inherits = require("inherits") - , path = require("path") - -function Extract (opts) { - if (!(this instanceof Extract)) return new Extract(opts) - tar.Parse.apply(this) - - if (typeof opts !== "object") { - opts = { path: opts } - } - - // better to drop in cwd? seems more standard. - opts.path = opts.path || path.resolve("node-tar-extract") - opts.type = "Directory" - opts.Directory = true - - // similar to --strip or --strip-components - opts.strip = +opts.strip - if (!opts.strip || opts.strip <= 0) opts.strip = 0 - - this._fst = fstream.Writer(opts) - - this.pause() - var me = this - - // Hardlinks in tarballs are relative to the root - // of the tarball. So, they need to be resolved against - // the target directory in order to be created properly. - me.on("entry", function (entry) { - // if there's a "strip" argument, then strip off that many - // path components. - if (opts.strip) { - var p = entry.path.split("/").slice(opts.strip).join("/") - entry.path = entry.props.path = p - if (entry.linkpath) { - var lp = entry.linkpath.split("/").slice(opts.strip).join("/") - entry.linkpath = entry.props.linkpath = lp - } - } - if (entry.type === "Link") { - entry.linkpath = entry.props.linkpath = - path.join(opts.path, path.join("/", entry.props.linkpath)) - } - - if (entry.type === "SymbolicLink") { - var dn = path.dirname(entry.path) || "" - var linkpath = entry.props.linkpath - var target = path.resolve(opts.path, dn, linkpath) - if (target.indexOf(opts.path) !== 0) { - linkpath = path.join(opts.path, path.join("/", linkpath)) - } - entry.linkpath = entry.props.linkpath = linkpath - } - }) - - this._fst.on("ready", function () { - me.pipe(me._fst, { end: false }) - me.resume() - }) - - this._fst.on('error', function(err) { - me.emit('error', err) - }) - - this._fst.on('drain', function() { - me.emit('drain') - }) - - // this._fst.on("end", function () { - // console.error("\nEEEE Extract End", me._fst.path) - // }) - - this._fst.on("close", function () { - // console.error("\nEEEE Extract End", me._fst.path) - me.emit("finish") - me.emit("end") - me.emit("close") - }) -} - -inherits(Extract, tar.Parse) - -Extract.prototype._streamEnd = function () { - var me = this - if (!me._ended || me._entry) me.error("unexpected eof") - me._fst.end() - // my .end() is coming later. -} diff --git a/node_modules/node-gyp/node_modules/tar/lib/global-header-writer.js b/node_modules/node-gyp/node_modules/tar/lib/global-header-writer.js deleted file mode 100644 index 0bfc7b80aa7c6..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/global-header-writer.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = GlobalHeaderWriter - -var ExtendedHeaderWriter = require("./extended-header-writer.js") - , inherits = require("inherits") - -inherits(GlobalHeaderWriter, ExtendedHeaderWriter) - -function GlobalHeaderWriter (props) { - if (!(this instanceof GlobalHeaderWriter)) { - return new GlobalHeaderWriter(props) - } - ExtendedHeaderWriter.call(this, props) - this.props.type = "g" -} diff --git a/node_modules/node-gyp/node_modules/tar/lib/header.js b/node_modules/node-gyp/node_modules/tar/lib/header.js deleted file mode 100644 index 05b237c0c7b32..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/header.js +++ /dev/null @@ -1,385 +0,0 @@ -// parse a 512-byte header block to a data object, or vice-versa -// If the data won't fit nicely in a simple header, then generate -// the appropriate extended header file, and return that. - -module.exports = TarHeader - -var tar = require("../tar.js") - , fields = tar.fields - , fieldOffs = tar.fieldOffs - , fieldEnds = tar.fieldEnds - , fieldSize = tar.fieldSize - , numeric = tar.numeric - , assert = require("assert").ok - , space = " ".charCodeAt(0) - , slash = "/".charCodeAt(0) - , bslash = process.platform === "win32" ? "\\".charCodeAt(0) : null - -function TarHeader (block) { - if (!(this instanceof TarHeader)) return new TarHeader(block) - if (block) this.decode(block) -} - -TarHeader.prototype = - { decode : decode - , encode: encode - , calcSum: calcSum - , checkSum: checkSum - } - -TarHeader.parseNumeric = parseNumeric -TarHeader.encode = encode -TarHeader.decode = decode - -// note that this will only do the normal ustar header, not any kind -// of extended posix header file. If something doesn't fit comfortably, -// then it will set obj.needExtended = true, and set the block to -// the closest approximation. -function encode (obj) { - if (!obj && !(this instanceof TarHeader)) throw new Error( - "encode must be called on a TarHeader, or supplied an object") - - obj = obj || this - var block = obj.block = new Buffer(512) - - // if the object has a "prefix", then that's actually an extension of - // the path field. - if (obj.prefix) { - // console.error("%% header encoding, got a prefix", obj.prefix) - obj.path = obj.prefix + "/" + obj.path - // console.error("%% header encoding, prefixed path", obj.path) - obj.prefix = "" - } - - obj.needExtended = false - - if (obj.mode) { - if (typeof obj.mode === "string") obj.mode = parseInt(obj.mode, 8) - obj.mode = obj.mode & 0777 - } - - for (var f = 0; fields[f] !== null; f ++) { - var field = fields[f] - , off = fieldOffs[f] - , end = fieldEnds[f] - , ret - - switch (field) { - case "cksum": - // special, done below, after all the others - break - - case "prefix": - // special, this is an extension of the "path" field. - // console.error("%% header encoding, skip prefix later") - break - - case "type": - // convert from long name to a single char. - var type = obj.type || "0" - if (type.length > 1) { - type = tar.types[obj.type] - if (!type) type = "0" - } - writeText(block, off, end, type) - break - - case "path": - // uses the "prefix" field if > 100 bytes, but <= 255 - var pathLen = Buffer.byteLength(obj.path) - , pathFSize = fieldSize[fields.path] - , prefFSize = fieldSize[fields.prefix] - - // paths between 100 and 255 should use the prefix field. - // longer than 255 - if (pathLen > pathFSize && - pathLen <= pathFSize + prefFSize) { - // need to find a slash somewhere in the middle so that - // path and prefix both fit in their respective fields - var searchStart = pathLen - 1 - pathFSize - , searchEnd = prefFSize - , found = false - , pathBuf = new Buffer(obj.path) - - for ( var s = searchStart - ; (s <= searchEnd) - ; s ++ ) { - if (pathBuf[s] === slash || pathBuf[s] === bslash) { - found = s - break - } - } - - if (found !== false) { - prefix = pathBuf.slice(0, found).toString("utf8") - path = pathBuf.slice(found + 1).toString("utf8") - - ret = writeText(block, off, end, path) - off = fieldOffs[fields.prefix] - end = fieldEnds[fields.prefix] - // console.error("%% header writing prefix", off, end, prefix) - ret = writeText(block, off, end, prefix) || ret - break - } - } - - // paths less than 100 chars don't need a prefix - // and paths longer than 255 need an extended header and will fail - // on old implementations no matter what we do here. - // Null out the prefix, and fallthrough to default. - // console.error("%% header writing no prefix") - var poff = fieldOffs[fields.prefix] - , pend = fieldEnds[fields.prefix] - writeText(block, poff, pend, "") - // fallthrough - - // all other fields are numeric or text - default: - ret = numeric[field] - ? writeNumeric(block, off, end, obj[field]) - : writeText(block, off, end, obj[field] || "") - break - } - obj.needExtended = obj.needExtended || ret - } - - var off = fieldOffs[fields.cksum] - , end = fieldEnds[fields.cksum] - - writeNumeric(block, off, end, calcSum.call(this, block)) - - return block -} - -// if it's a negative number, or greater than will fit, -// then use write256. -var MAXNUM = { 12: 077777777777 - , 11: 07777777777 - , 8 : 07777777 - , 7 : 0777777 } -function writeNumeric (block, off, end, num) { - var writeLen = end - off - , maxNum = MAXNUM[writeLen] || 0 - - num = num || 0 - // console.error(" numeric", num) - - if (num instanceof Date || - Object.prototype.toString.call(num) === "[object Date]") { - num = num.getTime() / 1000 - } - - if (num > maxNum || num < 0) { - write256(block, off, end, num) - // need an extended header if negative or too big. - return true - } - - // god, tar is so annoying - // if the string is small enough, you should put a space - // between the octal string and the \0, but if it doesn't - // fit, then don't. - var numStr = Math.floor(num).toString(8) - if (num < MAXNUM[writeLen - 1]) numStr += " " - - // pad with "0" chars - if (numStr.length < writeLen) { - numStr = (new Array(writeLen - numStr.length).join("0")) + numStr - } - - if (numStr.length !== writeLen - 1) { - throw new Error("invalid length: " + JSON.stringify(numStr) + "\n" + - "expected: "+writeLen) - } - block.write(numStr, off, writeLen, "utf8") - block[end - 1] = 0 -} - -function write256 (block, off, end, num) { - var buf = block.slice(off, end) - var positive = num >= 0 - buf[0] = positive ? 0x80 : 0xFF - - // get the number as a base-256 tuple - if (!positive) num *= -1 - var tuple = [] - do { - var n = num % 256 - tuple.push(n) - num = (num - n) / 256 - } while (num) - - var bytes = tuple.length - - var fill = buf.length - bytes - for (var i = 1; i < fill; i ++) { - buf[i] = positive ? 0 : 0xFF - } - - // tuple is a base256 number, with [0] as the *least* significant byte - // if it's negative, then we need to flip all the bits once we hit the - // first non-zero bit. The 2's-complement is (0x100 - n), and the 1's- - // complement is (0xFF - n). - var zero = true - for (i = bytes; i > 0; i --) { - var byte = tuple[bytes - i] - if (positive) buf[fill + i] = byte - else if (zero && byte === 0) buf[fill + i] = 0 - else if (zero) { - zero = false - buf[fill + i] = 0x100 - byte - } else buf[fill + i] = 0xFF - byte - } -} - -function writeText (block, off, end, str) { - // strings are written as utf8, then padded with \0 - var strLen = Buffer.byteLength(str) - , writeLen = Math.min(strLen, end - off) - // non-ascii fields need extended headers - // long fields get truncated - , needExtended = strLen !== str.length || strLen > writeLen - - // write the string, and null-pad - if (writeLen > 0) block.write(str, off, writeLen, "utf8") - for (var i = off + writeLen; i < end; i ++) block[i] = 0 - - return needExtended -} - -function calcSum (block) { - block = block || this.block - assert(Buffer.isBuffer(block) && block.length === 512) - - if (!block) throw new Error("Need block to checksum") - - // now figure out what it would be if the cksum was " " - var sum = 0 - , start = fieldOffs[fields.cksum] - , end = fieldEnds[fields.cksum] - - for (var i = 0; i < fieldOffs[fields.cksum]; i ++) { - sum += block[i] - } - - for (var i = start; i < end; i ++) { - sum += space - } - - for (var i = end; i < 512; i ++) { - sum += block[i] - } - - return sum -} - - -function checkSum (block) { - var sum = calcSum.call(this, block) - block = block || this.block - - var cksum = block.slice(fieldOffs[fields.cksum], fieldEnds[fields.cksum]) - cksum = parseNumeric(cksum) - - return cksum === sum -} - -function decode (block) { - block = block || this.block - assert(Buffer.isBuffer(block) && block.length === 512) - - this.block = block - this.cksumValid = this.checkSum() - - var prefix = null - - // slice off each field. - for (var f = 0; fields[f] !== null; f ++) { - var field = fields[f] - , val = block.slice(fieldOffs[f], fieldEnds[f]) - - switch (field) { - case "ustar": - // if not ustar, then everything after that is just padding. - if (val.toString() !== "ustar\0") { - this.ustar = false - return - } else { - // console.error("ustar:", val, val.toString()) - this.ustar = val.toString() - } - break - - // prefix is special, since it might signal the xstar header - case "prefix": - var atime = parseNumeric(val.slice(131, 131 + 12)) - , ctime = parseNumeric(val.slice(131 + 12, 131 + 12 + 12)) - if ((val[130] === 0 || val[130] === space) && - typeof atime === "number" && - typeof ctime === "number" && - val[131 + 12] === space && - val[131 + 12 + 12] === space) { - this.atime = atime - this.ctime = ctime - val = val.slice(0, 130) - } - prefix = val.toString("utf8").replace(/\0+$/, "") - // console.error("%% header reading prefix", prefix) - break - - // all other fields are null-padding text - // or a number. - default: - if (numeric[field]) { - this[field] = parseNumeric(val) - } else { - this[field] = val.toString("utf8").replace(/\0+$/, "") - } - break - } - } - - // if we got a prefix, then prepend it to the path. - if (prefix) { - this.path = prefix + "/" + this.path - // console.error("%% header got a prefix", this.path) - } -} - -function parse256 (buf) { - // first byte MUST be either 80 or FF - // 80 for positive, FF for 2's comp - var positive - if (buf[0] === 0x80) positive = true - else if (buf[0] === 0xFF) positive = false - else return null - - // build up a base-256 tuple from the least sig to the highest - var zero = false - , tuple = [] - for (var i = buf.length - 1; i > 0; i --) { - var byte = buf[i] - if (positive) tuple.push(byte) - else if (zero && byte === 0) tuple.push(0) - else if (zero) { - zero = false - tuple.push(0x100 - byte) - } else tuple.push(0xFF - byte) - } - - for (var sum = 0, i = 0, l = tuple.length; i < l; i ++) { - sum += tuple[i] * Math.pow(256, i) - } - - return positive ? sum : -1 * sum -} - -function parseNumeric (f) { - if (f[0] & 0x80) return parse256(f) - - var str = f.toString("utf8").split("\0")[0].trim() - , res = parseInt(str, 8) - - return isNaN(res) ? null : res -} - diff --git a/node_modules/node-gyp/node_modules/tar/lib/pack.js b/node_modules/node-gyp/node_modules/tar/lib/pack.js deleted file mode 100644 index 5a3bb95a121bd..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/pack.js +++ /dev/null @@ -1,236 +0,0 @@ -// pipe in an fstream, and it'll make a tarball. -// key-value pair argument is global extended header props. - -module.exports = Pack - -var EntryWriter = require("./entry-writer.js") - , Stream = require("stream").Stream - , path = require("path") - , inherits = require("inherits") - , GlobalHeaderWriter = require("./global-header-writer.js") - , collect = require("fstream").collect - , eof = new Buffer(512) - -for (var i = 0; i < 512; i ++) eof[i] = 0 - -inherits(Pack, Stream) - -function Pack (props) { - // console.error("-- p ctor") - var me = this - if (!(me instanceof Pack)) return new Pack(props) - - if (props) me._noProprietary = props.noProprietary - else me._noProprietary = false - - me._global = props - - me.readable = true - me.writable = true - me._buffer = [] - // console.error("-- -- set current to null in ctor") - me._currentEntry = null - me._processing = false - - me._pipeRoot = null - me.on("pipe", function (src) { - if (src.root === me._pipeRoot) return - me._pipeRoot = src - src.on("end", function () { - me._pipeRoot = null - }) - me.add(src) - }) -} - -Pack.prototype.addGlobal = function (props) { - // console.error("-- p addGlobal") - if (this._didGlobal) return - this._didGlobal = true - - var me = this - GlobalHeaderWriter(props) - .on("data", function (c) { - me.emit("data", c) - }) - .end() -} - -Pack.prototype.add = function (stream) { - if (this._global && !this._didGlobal) this.addGlobal(this._global) - - if (this._ended) return this.emit("error", new Error("add after end")) - - collect(stream) - this._buffer.push(stream) - this._process() - this._needDrain = this._buffer.length > 0 - return !this._needDrain -} - -Pack.prototype.pause = function () { - this._paused = true - if (this._currentEntry) this._currentEntry.pause() - this.emit("pause") -} - -Pack.prototype.resume = function () { - this._paused = false - if (this._currentEntry) this._currentEntry.resume() - this.emit("resume") - this._process() -} - -Pack.prototype.end = function () { - this._ended = true - this._buffer.push(eof) - this._process() -} - -Pack.prototype._process = function () { - var me = this - if (me._paused || me._processing) { - return - } - - var entry = me._buffer.shift() - - if (!entry) { - if (me._needDrain) { - me.emit("drain") - } - return - } - - if (entry.ready === false) { - // console.error("-- entry is not ready", entry) - me._buffer.unshift(entry) - entry.on("ready", function () { - // console.error("-- -- ready!", entry) - me._process() - }) - return - } - - me._processing = true - - if (entry === eof) { - // need 2 ending null blocks. - me.emit("data", eof) - me.emit("data", eof) - me.emit("end") - me.emit("close") - return - } - - // Change the path to be relative to the root dir that was - // added to the tarball. - // - // XXX This should be more like how -C works, so you can - // explicitly set a root dir, and also explicitly set a pathname - // in the tarball to use. That way we can skip a lot of extra - // work when resolving symlinks for bundled dependencies in npm. - - var root = path.dirname((entry.root || entry).path); - if (me._global && me._global.fromBase && entry.root && entry.root.path) { - // user set 'fromBase: true' indicating tar root should be directory itself - root = entry.root.path; - } - - var wprops = {} - - Object.keys(entry.props || {}).forEach(function (k) { - wprops[k] = entry.props[k] - }) - - if (me._noProprietary) wprops.noProprietary = true - - wprops.path = path.relative(root, entry.path || '') - - // actually not a matter of opinion or taste. - if (process.platform === "win32") { - wprops.path = wprops.path.replace(/\\/g, "/") - } - - if (!wprops.type) - wprops.type = 'Directory' - - switch (wprops.type) { - // sockets not supported - case "Socket": - return - - case "Directory": - wprops.path += "/" - wprops.size = 0 - break - - case "Link": - var lp = path.resolve(path.dirname(entry.path), entry.linkpath) - wprops.linkpath = path.relative(root, lp) || "." - wprops.size = 0 - break - - case "SymbolicLink": - var lp = path.resolve(path.dirname(entry.path), entry.linkpath) - wprops.linkpath = path.relative(path.dirname(entry.path), lp) || "." - wprops.size = 0 - break - } - - // console.error("-- new writer", wprops) - // if (!wprops.type) { - // // console.error("-- no type?", entry.constructor.name, entry) - // } - - // console.error("-- -- set current to new writer", wprops.path) - var writer = me._currentEntry = EntryWriter(wprops) - - writer.parent = me - - // writer.on("end", function () { - // // console.error("-- -- writer end", writer.path) - // }) - - writer.on("data", function (c) { - me.emit("data", c) - }) - - writer.on("header", function () { - Buffer.prototype.toJSON = function () { - return this.toString().split(/\0/).join(".") - } - // console.error("-- -- writer header %j", writer.props) - if (writer.props.size === 0) nextEntry() - }) - writer.on("close", nextEntry) - - var ended = false - function nextEntry () { - if (ended) return - ended = true - - // console.error("-- -- writer close", writer.path) - // console.error("-- -- set current to null", wprops.path) - me._currentEntry = null - me._processing = false - me._process() - } - - writer.on("error", function (er) { - // console.error("-- -- writer error", writer.path) - me.emit("error", er) - }) - - // if it's the root, then there's no need to add its entries, - // or data, since they'll be added directly. - if (entry === me._pipeRoot) { - // console.error("-- is the root, don't auto-add") - writer.add = null - } - - entry.pipe(writer) -} - -Pack.prototype.destroy = function () {} -Pack.prototype.write = function () {} diff --git a/node_modules/node-gyp/node_modules/tar/lib/parse.js b/node_modules/node-gyp/node_modules/tar/lib/parse.js deleted file mode 100644 index 600ad782f0f61..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/lib/parse.js +++ /dev/null @@ -1,275 +0,0 @@ - -// A writable stream. -// It emits "entry" events, which provide a readable stream that has -// header info attached. - -module.exports = Parse.create = Parse - -var stream = require("stream") - , Stream = stream.Stream - , BlockStream = require("block-stream") - , tar = require("../tar.js") - , TarHeader = require("./header.js") - , Entry = require("./entry.js") - , BufferEntry = require("./buffer-entry.js") - , ExtendedHeader = require("./extended-header.js") - , assert = require("assert").ok - , inherits = require("inherits") - , fstream = require("fstream") - -// reading a tar is a lot like reading a directory -// However, we're actually not going to run the ctor, -// since it does a stat and various other stuff. -// This inheritance gives us the pause/resume/pipe -// behavior that is desired. -inherits(Parse, fstream.Reader) - -function Parse () { - var me = this - if (!(me instanceof Parse)) return new Parse() - - // doesn't apply fstream.Reader ctor? - // no, becasue we don't want to stat/etc, we just - // want to get the entry/add logic from .pipe() - Stream.apply(me) - - me.writable = true - me.readable = true - me._stream = new BlockStream(512) - me.position = 0 - me._ended = false - - me._stream.on("error", function (e) { - me.emit("error", e) - }) - - me._stream.on("data", function (c) { - me._process(c) - }) - - me._stream.on("end", function () { - me._streamEnd() - }) - - me._stream.on("drain", function () { - me.emit("drain") - }) -} - -// overridden in Extract class, since it needs to -// wait for its DirWriter part to finish before -// emitting "end" -Parse.prototype._streamEnd = function () { - var me = this - if (!me._ended || me._entry) me.error("unexpected eof") - me.emit("end") -} - -// a tar reader is actually a filter, not just a readable stream. -// So, you should pipe a tarball stream into it, and it needs these -// write/end methods to do that. -Parse.prototype.write = function (c) { - if (this._ended) { - // gnutar puts a LOT of nulls at the end. - // you can keep writing these things forever. - // Just ignore them. - for (var i = 0, l = c.length; i > l; i ++) { - if (c[i] !== 0) return this.error("write() after end()") - } - return - } - return this._stream.write(c) -} - -Parse.prototype.end = function (c) { - this._ended = true - return this._stream.end(c) -} - -// don't need to do anything, since we're just -// proxying the data up from the _stream. -// Just need to override the parent's "Not Implemented" -// error-thrower. -Parse.prototype._read = function () {} - -Parse.prototype._process = function (c) { - assert(c && c.length === 512, "block size should be 512") - - // one of three cases. - // 1. A new header - // 2. A part of a file/extended header - // 3. One of two or more EOF null blocks - - if (this._entry) { - var entry = this._entry - if(!entry._abort) entry.write(c) - else { - entry._remaining -= c.length - if(entry._remaining < 0) entry._remaining = 0 - } - if (entry._remaining === 0) { - entry.end() - this._entry = null - } - } else { - // either zeroes or a header - var zero = true - for (var i = 0; i < 512 && zero; i ++) { - zero = c[i] === 0 - } - - // eof is *at least* 2 blocks of nulls, and then the end of the - // file. you can put blocks of nulls between entries anywhere, - // so appending one tarball to another is technically valid. - // ending without the eof null blocks is not allowed, however. - if (zero) { - if (this._eofStarted) - this._ended = true - this._eofStarted = true - } else { - this._eofStarted = false - this._startEntry(c) - } - } - - this.position += 512 -} - -// take a header chunk, start the right kind of entry. -Parse.prototype._startEntry = function (c) { - var header = new TarHeader(c) - , self = this - , entry - , ev - , EntryType - , onend - , meta = false - - if (null === header.size || !header.cksumValid) { - var e = new Error("invalid tar file") - e.header = header - e.tar_file_offset = this.position - e.tar_block = this.position / 512 - return this.emit("error", e) - } - - switch (tar.types[header.type]) { - case "File": - case "OldFile": - case "Link": - case "SymbolicLink": - case "CharacterDevice": - case "BlockDevice": - case "Directory": - case "FIFO": - case "ContiguousFile": - case "GNUDumpDir": - // start a file. - // pass in any extended headers - // These ones consumers are typically most interested in. - EntryType = Entry - ev = "entry" - break - - case "GlobalExtendedHeader": - // extended headers that apply to the rest of the tarball - EntryType = ExtendedHeader - onend = function () { - self._global = self._global || {} - Object.keys(entry.fields).forEach(function (k) { - self._global[k] = entry.fields[k] - }) - } - ev = "globalExtendedHeader" - meta = true - break - - case "ExtendedHeader": - case "OldExtendedHeader": - // extended headers that apply to the next entry - EntryType = ExtendedHeader - onend = function () { - self._extended = entry.fields - } - ev = "extendedHeader" - meta = true - break - - case "NextFileHasLongLinkpath": - // set linkpath= in extended header - EntryType = BufferEntry - onend = function () { - self._extended = self._extended || {} - self._extended.linkpath = entry.body - } - ev = "longLinkpath" - meta = true - break - - case "NextFileHasLongPath": - case "OldGnuLongPath": - // set path= in file-extended header - EntryType = BufferEntry - onend = function () { - self._extended = self._extended || {} - self._extended.path = entry.body - } - ev = "longPath" - meta = true - break - - default: - // all the rest we skip, but still set the _entry - // member, so that we can skip over their data appropriately. - // emit an event to say that this is an ignored entry type? - EntryType = Entry - ev = "ignoredEntry" - break - } - - var global, extended - if (meta) { - global = extended = null - } else { - var global = this._global - var extended = this._extended - - // extendedHeader only applies to one entry, so once we start - // an entry, it's over. - this._extended = null - } - entry = new EntryType(header, extended, global) - entry.meta = meta - - // only proxy data events of normal files. - if (!meta) { - entry.on("data", function (c) { - me.emit("data", c) - }) - } - - if (onend) entry.on("end", onend) - - this._entry = entry - var me = this - - entry.on("pause", function () { - me.pause() - }) - - entry.on("resume", function () { - me.resume() - }) - - if (this.listeners("*").length) { - this.emit("*", ev, entry) - } - - this.emit(ev, entry) - - // Zero-byte entry. End immediately. - if (entry.props.size === 0) { - entry.end() - this._entry = null - } -} diff --git a/node_modules/node-gyp/node_modules/tar/package.json b/node_modules/node-gyp/node_modules/tar/package.json deleted file mode 100644 index 2ab77e47f328d..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "_from": "tar@^2.0.0", - "_id": "tar@2.2.1", - "_inBundle": false, - "_integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "_location": "/node-gyp/tar", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "tar@^2.0.0", - "name": "tar", - "escapedName": "tar", - "rawSpec": "^2.0.0", - "saveSpec": null, - "fetchSpec": "^2.0.0" - }, - "_requiredBy": [ - "/node-gyp" - ], - "_resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "_shasum": "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1", - "_spec": "tar@^2.0.0", - "_where": "/Users/rebecca/code/npm/node_modules/node-gyp", - "author": { - "name": "Isaac Z. Schlueter", - "email": "i@izs.me", - "url": "http://blog.izs.me/" - }, - "bugs": { - "url": "https://github.com/isaacs/node-tar/issues" - }, - "bundleDependencies": false, - "dependencies": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - }, - "deprecated": false, - "description": "tar for node", - "devDependencies": { - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "rimraf": "1.x", - "tap": "0.x" - }, - "homepage": "https://github.com/isaacs/node-tar#readme", - "license": "ISC", - "main": "tar.js", - "name": "tar", - "repository": { - "type": "git", - "url": "git://github.com/isaacs/node-tar.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "2.2.1" -} diff --git a/node_modules/node-gyp/node_modules/tar/tar.js b/node_modules/node-gyp/node_modules/tar/tar.js deleted file mode 100644 index a81298b9a0b12..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/tar.js +++ /dev/null @@ -1,173 +0,0 @@ -// field paths that every tar file must have. -// header is padded to 512 bytes. -var f = 0 - , fields = {} - , path = fields.path = f++ - , mode = fields.mode = f++ - , uid = fields.uid = f++ - , gid = fields.gid = f++ - , size = fields.size = f++ - , mtime = fields.mtime = f++ - , cksum = fields.cksum = f++ - , type = fields.type = f++ - , linkpath = fields.linkpath = f++ - , headerSize = 512 - , blockSize = 512 - , fieldSize = [] - -fieldSize[path] = 100 -fieldSize[mode] = 8 -fieldSize[uid] = 8 -fieldSize[gid] = 8 -fieldSize[size] = 12 -fieldSize[mtime] = 12 -fieldSize[cksum] = 8 -fieldSize[type] = 1 -fieldSize[linkpath] = 100 - -// "ustar\0" may introduce another bunch of headers. -// these are optional, and will be nulled out if not present. - -var ustar = fields.ustar = f++ - , ustarver = fields.ustarver = f++ - , uname = fields.uname = f++ - , gname = fields.gname = f++ - , devmaj = fields.devmaj = f++ - , devmin = fields.devmin = f++ - , prefix = fields.prefix = f++ - , fill = fields.fill = f++ - -// terminate fields. -fields[f] = null - -fieldSize[ustar] = 6 -fieldSize[ustarver] = 2 -fieldSize[uname] = 32 -fieldSize[gname] = 32 -fieldSize[devmaj] = 8 -fieldSize[devmin] = 8 -fieldSize[prefix] = 155 -fieldSize[fill] = 12 - -// nb: prefix field may in fact be 130 bytes of prefix, -// a null char, 12 bytes for atime, 12 bytes for ctime. -// -// To recognize this format: -// 1. prefix[130] === ' ' or '\0' -// 2. atime and ctime are octal numeric values -// 3. atime and ctime have ' ' in their last byte - -var fieldEnds = {} - , fieldOffs = {} - , fe = 0 -for (var i = 0; i < f; i ++) { - fieldOffs[i] = fe - fieldEnds[i] = (fe += fieldSize[i]) -} - -// build a translation table of field paths. -Object.keys(fields).forEach(function (f) { - if (fields[f] !== null) fields[fields[f]] = f -}) - -// different values of the 'type' field -// paths match the values of Stats.isX() functions, where appropriate -var types = - { 0: "File" - , "\0": "OldFile" // like 0 - , "": "OldFile" - , 1: "Link" - , 2: "SymbolicLink" - , 3: "CharacterDevice" - , 4: "BlockDevice" - , 5: "Directory" - , 6: "FIFO" - , 7: "ContiguousFile" // like 0 - // posix headers - , g: "GlobalExtendedHeader" // k=v for the rest of the archive - , x: "ExtendedHeader" // k=v for the next file - // vendor-specific stuff - , A: "SolarisACL" // skip - , D: "GNUDumpDir" // like 5, but with data, which should be skipped - , I: "Inode" // metadata only, skip - , K: "NextFileHasLongLinkpath" // data = link path of next file - , L: "NextFileHasLongPath" // data = path of next file - , M: "ContinuationFile" // skip - , N: "OldGnuLongPath" // like L - , S: "SparseFile" // skip - , V: "TapeVolumeHeader" // skip - , X: "OldExtendedHeader" // like x - } - -Object.keys(types).forEach(function (t) { - types[types[t]] = types[types[t]] || t -}) - -// values for the mode field -var modes = - { suid: 04000 // set uid on extraction - , sgid: 02000 // set gid on extraction - , svtx: 01000 // set restricted deletion flag on dirs on extraction - , uread: 0400 - , uwrite: 0200 - , uexec: 0100 - , gread: 040 - , gwrite: 020 - , gexec: 010 - , oread: 4 - , owrite: 2 - , oexec: 1 - , all: 07777 - } - -var numeric = - { mode: true - , uid: true - , gid: true - , size: true - , mtime: true - , devmaj: true - , devmin: true - , cksum: true - , atime: true - , ctime: true - , dev: true - , ino: true - , nlink: true - } - -Object.keys(modes).forEach(function (t) { - modes[modes[t]] = modes[modes[t]] || t -}) - -var knownExtended = - { atime: true - , charset: true - , comment: true - , ctime: true - , gid: true - , gname: true - , linkpath: true - , mtime: true - , path: true - , realtime: true - , security: true - , size: true - , uid: true - , uname: true } - - -exports.fields = fields -exports.fieldSize = fieldSize -exports.fieldOffs = fieldOffs -exports.fieldEnds = fieldEnds -exports.types = types -exports.modes = modes -exports.numeric = numeric -exports.headerSize = headerSize -exports.blockSize = blockSize -exports.knownExtended = knownExtended - -exports.Pack = require("./lib/pack.js") -exports.Parse = require("./lib/parse.js") -exports.Extract = require("./lib/extract.js") diff --git a/node_modules/node-gyp/node_modules/tar/test/00-setup-fixtures.js b/node_modules/node-gyp/node_modules/tar/test/00-setup-fixtures.js deleted file mode 100644 index 1524ff7af0570..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/00-setup-fixtures.js +++ /dev/null @@ -1,53 +0,0 @@ -// the fixtures have some weird stuff that is painful -// to include directly in the repo for various reasons. -// -// So, unpack the fixtures with the system tar first. -// -// This means, of course, that it'll only work if you -// already have a tar implementation, and some of them -// will not properly unpack the fixtures anyway. -// -// But, since usually those tests will fail on Windows -// and other systems with less capable filesystems anyway, -// at least this way we don't cause inconveniences by -// merely cloning the repo or installing the package. - -var tap = require("tap") -, child_process = require("child_process") -, rimraf = require("rimraf") -, test = tap.test -, path = require("path") - -test("clean fixtures", function (t) { - rimraf(path.resolve(__dirname, "fixtures"), function (er) { - t.ifError(er, "rimraf ./fixtures/") - t.end() - }) -}) - -test("clean tmp", function (t) { - rimraf(path.resolve(__dirname, "tmp"), function (er) { - t.ifError(er, "rimraf ./tmp/") - t.end() - }) -}) - -test("extract fixtures", function (t) { - var c = child_process.spawn("tar" - ,["xzvf", "fixtures.tgz"] - ,{ cwd: __dirname }) - - c.stdout.on("data", errwrite) - c.stderr.on("data", errwrite) - function errwrite (chunk) { - process.stderr.write(chunk) - } - - c.on("exit", function (code) { - t.equal(code, 0, "extract fixtures should exit with 0") - if (code) { - t.comment("Note, all tests from here on out will fail because of this.") - } - t.end() - }) -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/cb-never-called-1.0.1.tgz b/node_modules/node-gyp/node_modules/tar/test/cb-never-called-1.0.1.tgz deleted file mode 100644 index 9e7014d85abe4..0000000000000 Binary files a/node_modules/node-gyp/node_modules/tar/test/cb-never-called-1.0.1.tgz and /dev/null differ diff --git a/node_modules/node-gyp/node_modules/tar/test/dir-normalization.js b/node_modules/node-gyp/node_modules/tar/test/dir-normalization.js deleted file mode 100644 index 9719c42f35400..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/dir-normalization.js +++ /dev/null @@ -1,177 +0,0 @@ -// Set the umask, so that it works the same everywhere. -process.umask(parseInt('22', 8)) - -var fs = require('fs') -var path = require('path') - -var fstream = require('fstream') -var test = require('tap').test - -var tar = require('../tar.js') -var file = path.resolve(__dirname, 'dir-normalization.tar') -var target = path.resolve(__dirname, 'tmp/dir-normalization-test') -var ee = 0 - -var expectEntries = [ - { path: 'fixtures/', - mode: '755', - type: '5', - linkpath: '' - }, - { path: 'fixtures/a/', - mode: '755', - type: '5', - linkpath: '' - }, - { path: 'fixtures/the-chumbler', - mode: '755', - type: '2', - linkpath: path.resolve(target, 'a/b/c/d/the-chumbler'), - }, - { path: 'fixtures/a/b/', - mode: '755', - type: '5', - linkpath: '' - }, - { path: 'fixtures/a/x', - mode: '644', - type: '0', - linkpath: '' - }, - { path: 'fixtures/a/b/c/', - mode: '755', - type: '5', - linkpath: '' - }, - { path: 'fixtures/a/b/c/y', - mode: '755', - type: '2', - linkpath: '../../x', - } -] - -var ef = 0 -var expectFiles = [ - { path: '', - mode: '40755', - type: 'Directory', - depth: 0, - linkpath: undefined - }, - { path: '/fixtures', - mode: '40755', - type: 'Directory', - depth: 1, - linkpath: undefined - }, - { path: '/fixtures/a', - mode: '40755', - type: 'Directory', - depth: 2, - linkpath: undefined - }, - { path: '/fixtures/a/b', - mode: '40755', - type: 'Directory', - depth: 3, - linkpath: undefined - }, - { path: '/fixtures/a/b/c', - mode: '40755', - type: 'Directory', - depth: 4, - linkpath: undefined - }, - { path: '/fixtures/a/b/c/y', - mode: '120755', - type: 'SymbolicLink', - depth: 5, - linkpath: '../../x' - }, - { path: '/fixtures/a/x', - mode: '100644', - type: 'File', - depth: 3, - linkpath: undefined - }, - { path: '/fixtures/the-chumbler', - mode: '120755', - type: 'SymbolicLink', - depth: 2, - linkpath: path.resolve(target, 'a/b/c/d/the-chumbler') - } -] - -test('preclean', function (t) { - require('rimraf').sync(path.join(__dirname, '/tmp/dir-normalization-test')) - t.pass('cleaned!') - t.end() -}) - -test('extract test', function (t) { - var extract = tar.Extract(target) - var inp = fs.createReadStream(file) - - inp.pipe(extract) - - extract.on('end', function () { - t.equal(ee, expectEntries.length, 'should see ' + expectEntries.length + ' entries') - - // should get no more entries after end - extract.removeAllListeners('entry') - extract.on('entry', function (e) { - t.fail('Should not get entries after end!') - }) - - next() - }) - - extract.on('entry', function (entry) { - var mode = entry.props.mode & (~parseInt('22', 8)) - var found = { - path: entry.path, - mode: mode.toString(8), - type: entry.props.type, - linkpath: entry.props.linkpath, - } - - var wanted = expectEntries[ee++] - t.equivalent(found, wanted, 'tar entry ' + ee + ' ' + (wanted && wanted.path)) - }) - - function next () { - var r = fstream.Reader({ - path: target, - type: 'Directory', - sort: 'alpha' - }) - - r.on('ready', function () { - foundEntry(r) - }) - - r.on('end', finish) - - function foundEntry (entry) { - var p = entry.path.substr(target.length) - var mode = entry.props.mode & (~parseInt('22', 8)) - var found = { - path: p, - mode: mode.toString(8), - type: entry.props.type, - depth: entry.props.depth, - linkpath: entry.props.linkpath - } - - var wanted = expectFiles[ef++] - t.equivalent(found, wanted, 'unpacked file ' + ef + ' ' + (wanted && wanted.path)) - - entry.on('entry', foundEntry) - } - - function finish () { - t.equal(ef, expectFiles.length, 'should have ' + ef + ' items') - t.end() - } - } -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/dir-normalization.tar b/node_modules/node-gyp/node_modules/tar/test/dir-normalization.tar deleted file mode 100644 index 3c4845356cecb..0000000000000 Binary files a/node_modules/node-gyp/node_modules/tar/test/dir-normalization.tar and /dev/null differ diff --git a/node_modules/node-gyp/node_modules/tar/test/error-on-broken.js b/node_modules/node-gyp/node_modules/tar/test/error-on-broken.js deleted file mode 100644 index e484920fd9625..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/error-on-broken.js +++ /dev/null @@ -1,33 +0,0 @@ -var fs = require('fs') -var path = require('path') -var zlib = require('zlib') - -var tap = require('tap') - -var tar = require('../tar.js') - -var file = path.join(__dirname, 'cb-never-called-1.0.1.tgz') -var target = path.join(__dirname, 'tmp/extract-test') - -tap.test('preclean', function (t) { - require('rimraf').sync(__dirname + '/tmp/extract-test') - t.pass('cleaned!') - t.end() -}) - -tap.test('extract test', function (t) { - var extract = tar.Extract(target) - var inp = fs.createReadStream(file) - - inp.pipe(zlib.createGunzip()).pipe(extract) - - extract.on('error', function (er) { - t.equal(er.message, 'unexpected eof', 'error noticed') - t.end() - }) - - extract.on('end', function () { - t.fail('shouldn\'t reach this point due to errors') - t.end() - }) -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/extract-move.js b/node_modules/node-gyp/node_modules/tar/test/extract-move.js deleted file mode 100644 index 45400cd9bb818..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/extract-move.js +++ /dev/null @@ -1,132 +0,0 @@ -// Set the umask, so that it works the same everywhere. -process.umask(parseInt('22', 8)) - -var tap = require("tap") - , tar = require("../tar.js") - , fs = require("fs") - , gfs = require("graceful-fs") - , path = require("path") - , file = path.resolve(__dirname, "fixtures/dir.tar") - , target = path.resolve(__dirname, "tmp/extract-test") - , index = 0 - , fstream = require("fstream") - , rimraf = require("rimraf") - , mkdirp = require("mkdirp") - - , ee = 0 - , expectEntries = [ - { - "path" : "dir/", - "mode" : "750", - "type" : "5", - "depth" : undefined, - "size" : 0, - "linkpath" : "", - "nlink" : undefined, - "dev" : undefined, - "ino" : undefined - }, - { - "path" : "dir/sub/", - "mode" : "750", - "type" : "5", - "depth" : undefined, - "size" : 0, - "linkpath" : "", - "nlink" : undefined, - "dev" : undefined, - "ino" : undefined - } ] - -function slow (fs, method, t1, t2) { - var orig = fs[method] - if (!orig) return null - fs[method] = function () { - var args = [].slice.call(arguments) - console.error("slow", method, args[0]) - var cb = args.pop() - - setTimeout(function () { - orig.apply(fs, args.concat(function(er, data) { - setTimeout(function() { - cb(er, data) - }, t2) - })) - }, t1) - } -} - -// Make sure we get the graceful-fs that fstream is using. -var gfs2 -try { - gfs2 = require("fstream/node_modules/graceful-fs") -} catch (er) {} - -var slowMethods = ["chown", "chmod", "utimes", "lutimes"] -slowMethods.forEach(function (method) { - var t1 = 500 - var t2 = 0 - slow(fs, method, t1, t2) - slow(gfs, method, t1, t2) - if (gfs2) { - slow(gfs2, method, t1, t2) - } -}) - - - -// The extract class basically just pipes the input -// to a Reader, and then to a fstream.DirWriter - -// So, this is as much a test of fstream.Reader and fstream.Writer -// as it is of tar.Extract, but it sort of makes sense. - -tap.test("preclean", function (t) { - rimraf.sync(target) - /mkdirp.sync(target) - t.pass("cleaned!") - t.end() -}) - -tap.test("extract test", function (t) { - var extract = tar.Extract(target) - var inp = fs.createReadStream(file) - - // give it a weird buffer size to try to break in odd places - inp.bufferSize = 1234 - - inp.pipe(extract) - - extract.on("end", function () { - rimraf.sync(target) - - t.equal(ee, expectEntries.length, "should see "+ee+" entries") - - // should get no more entries after end - extract.removeAllListeners("entry") - extract.on("entry", function (e) { - t.fail("Should not get entries after end!") - }) - - t.end() - }) - - - extract.on("entry", function (entry) { - var found = - { path: entry.path - , mode: entry.props.mode.toString(8) - , type: entry.props.type - , depth: entry.props.depth - , size: entry.props.size - , linkpath: entry.props.linkpath - , nlink: entry.props.nlink - , dev: entry.props.dev - , ino: entry.props.ino - } - - var wanted = expectEntries[ee ++] - - t.equivalent(found, wanted, "tar entry " + ee + " " + wanted.path) - }) -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/extract.js b/node_modules/node-gyp/node_modules/tar/test/extract.js deleted file mode 100644 index eca4e7cc962db..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/extract.js +++ /dev/null @@ -1,367 +0,0 @@ -// Set the umask, so that it works the same everywhere. -process.umask(parseInt('22', 8)) - -var tap = require("tap") - , tar = require("../tar.js") - , fs = require("fs") - , path = require("path") - , file = path.resolve(__dirname, "fixtures/c.tar") - , target = path.resolve(__dirname, "tmp/extract-test") - , index = 0 - , fstream = require("fstream") - - , ee = 0 - , expectEntries = -[ { path: 'c.txt', - mode: '644', - type: '0', - depth: undefined, - size: 513, - linkpath: '', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: 'cc.txt', - mode: '644', - type: '0', - depth: undefined, - size: 513, - linkpath: '', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: 'r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '644', - type: '0', - depth: undefined, - size: 100, - linkpath: '', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: 'Ω.txt', - mode: '644', - type: '0', - depth: undefined, - size: 2, - linkpath: '', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: 'Ω.txt', - mode: '644', - type: '0', - depth: undefined, - size: 2, - linkpath: '', - nlink: 1, - dev: 234881026, - ino: 51693379 }, - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '644', - type: '0', - depth: undefined, - size: 200, - linkpath: '', - nlink: 1, - dev: 234881026, - ino: 51681874 }, - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '644', - type: '0', - depth: undefined, - size: 201, - linkpath: '', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: '200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', - mode: '777', - type: '2', - depth: undefined, - size: 0, - linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - nlink: undefined, - dev: undefined, - ino: undefined }, - { path: '200-hard', - mode: '644', - type: '0', - depth: undefined, - size: 200, - linkpath: '', - nlink: 2, - dev: 234881026, - ino: 51681874 }, - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '644', - type: '1', - depth: undefined, - size: 0, - linkpath: path.resolve(target, '200-hard'), - nlink: 2, - dev: 234881026, - ino: 51681874 } ] - - , ef = 0 - , expectFiles = -[ { path: '', - mode: '40755', - type: 'Directory', - depth: 0, - linkpath: undefined }, - { path: '/200-hard', - mode: '100644', - type: 'File', - depth: 1, - size: 200, - linkpath: undefined, - nlink: 2 }, - { path: '/200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', - mode: '120777', - type: 'SymbolicLink', - depth: 1, - size: 200, - linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - nlink: 1 }, - { path: '/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '100644', - type: 'Link', - depth: 1, - size: 200, - linkpath: path.join(target, '200-hard'), - nlink: 2 }, - { path: '/c.txt', - mode: '100644', - type: 'File', - depth: 1, - size: 513, - linkpath: undefined, - nlink: 1 }, - { path: '/cc.txt', - mode: '100644', - type: 'File', - depth: 1, - size: 513, - linkpath: undefined, - nlink: 1 }, - { path: '/r', - mode: '40755', - type: 'Directory', - depth: 1, - linkpath: undefined }, - { path: '/r/e', - mode: '40755', - type: 'Directory', - depth: 2, - linkpath: undefined }, - { path: '/r/e/a', - mode: '40755', - type: 'Directory', - depth: 3, - linkpath: undefined }, - { path: '/r/e/a/l', - mode: '40755', - type: 'Directory', - depth: 4, - linkpath: undefined }, - { path: '/r/e/a/l/l', - mode: '40755', - type: 'Directory', - depth: 5, - linkpath: undefined }, - { path: '/r/e/a/l/l/y', - mode: '40755', - type: 'Directory', - depth: 6, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-', - mode: '40755', - type: 'Directory', - depth: 7, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d', - mode: '40755', - type: 'Directory', - depth: 8, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e', - mode: '40755', - type: 'Directory', - depth: 9, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e', - mode: '40755', - type: 'Directory', - depth: 10, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p', - mode: '40755', - type: 'Directory', - depth: 11, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-', - mode: '40755', - type: 'Directory', - depth: 12, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f', - mode: '40755', - type: 'Directory', - depth: 13, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o', - mode: '40755', - type: 'Directory', - depth: 14, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l', - mode: '40755', - type: 'Directory', - depth: 15, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d', - mode: '40755', - type: 'Directory', - depth: 16, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e', - mode: '40755', - type: 'Directory', - depth: 17, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r', - mode: '40755', - type: 'Directory', - depth: 18, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-', - mode: '40755', - type: 'Directory', - depth: 19, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p', - mode: '40755', - type: 'Directory', - depth: 20, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a', - mode: '40755', - type: 'Directory', - depth: 21, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t', - mode: '40755', - type: 'Directory', - depth: 22, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h', - mode: '40755', - type: 'Directory', - depth: 23, - linkpath: undefined }, - { path: '/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: '100644', - type: 'File', - depth: 24, - size: 100, - linkpath: undefined, - nlink: 1 }, - { path: '/Ω.txt', - mode: '100644', - type: 'File', - depth: 1, - size: 2, - linkpath: undefined, - nlink: 1 } ] - - - -// The extract class basically just pipes the input -// to a Reader, and then to a fstream.DirWriter - -// So, this is as much a test of fstream.Reader and fstream.Writer -// as it is of tar.Extract, but it sort of makes sense. - -tap.test("preclean", function (t) { - require("rimraf").sync(__dirname + "/tmp/extract-test") - t.pass("cleaned!") - t.end() -}) - -tap.test("extract test", function (t) { - var extract = tar.Extract(target) - var inp = fs.createReadStream(file) - - // give it a weird buffer size to try to break in odd places - inp.bufferSize = 1234 - - inp.pipe(extract) - - extract.on("end", function () { - t.equal(ee, expectEntries.length, "should see "+ee+" entries") - - // should get no more entries after end - extract.removeAllListeners("entry") - extract.on("entry", function (e) { - t.fail("Should not get entries after end!") - }) - - next() - }) - - extract.on("entry", function (entry) { - var found = - { path: entry.path - , mode: entry.props.mode.toString(8) - , type: entry.props.type - , depth: entry.props.depth - , size: entry.props.size - , linkpath: entry.props.linkpath - , nlink: entry.props.nlink - , dev: entry.props.dev - , ino: entry.props.ino - } - - var wanted = expectEntries[ee ++] - - t.equivalent(found, wanted, "tar entry " + ee + " " + wanted.path) - }) - - function next () { - var r = fstream.Reader({ path: target - , type: "Directory" - // this is just to encourage consistency - , sort: "alpha" }) - - r.on("ready", function () { - foundEntry(r) - }) - - r.on("end", finish) - - function foundEntry (entry) { - var p = entry.path.substr(target.length) - var found = - { path: p - , mode: entry.props.mode.toString(8) - , type: entry.props.type - , depth: entry.props.depth - , size: entry.props.size - , linkpath: entry.props.linkpath - , nlink: entry.props.nlink - } - - var wanted = expectFiles[ef ++] - - t.has(found, wanted, "unpacked file " + ef + " " + wanted.path) - - entry.on("entry", foundEntry) - } - - function finish () { - t.equal(ef, expectFiles.length, "should have "+ef+" items") - t.end() - } - } -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/fixtures.tgz b/node_modules/node-gyp/node_modules/tar/test/fixtures.tgz deleted file mode 100644 index f1676023afa2b..0000000000000 Binary files a/node_modules/node-gyp/node_modules/tar/test/fixtures.tgz and /dev/null differ diff --git a/node_modules/node-gyp/node_modules/tar/test/header.js b/node_modules/node-gyp/node_modules/tar/test/header.js deleted file mode 100644 index 8ea6f79500de7..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/header.js +++ /dev/null @@ -1,183 +0,0 @@ -var tap = require("tap") -var TarHeader = require("../lib/header.js") -var tar = require("../tar.js") -var fs = require("fs") - - -var headers = - { "a.txt file header": - [ "612e747874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303430312031313635313336303333332030313234353100203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true - , path: 'a.txt' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 257 - , mtime: 1319493851 - , cksum: 5417 - , type: '0' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } - ] - - , "omega pax": // the extended header from omega tar. - [ "5061784865616465722fcea92e74787400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303137302031313534333731303631312030313530353100207800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true - , path: 'PaxHeader/Ω.txt' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 120 - , mtime: 1301254537 - , cksum: 6697 - , type: 'x' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } ] - - , "omega file header": - [ "cea92e7478740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303030322031313534333731303631312030313330373200203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true - , path: 'Ω.txt' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 2 - , mtime: 1301254537 - , cksum: 5690 - , type: '0' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } ] - - , "foo.js file header": - [ "666f6f2e6a730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030303030342031313534333637303734312030313236313700203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true - , path: 'foo.js' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 4 - , mtime: 1301246433 - , cksum: 5519 - , type: '0' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } - ] - - , "b.txt file header": - [ "622e747874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030303036343420003035373736312000303030303234200030303030303030313030302031313635313336303637372030313234363100203000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757374617200303069736161637300000000000000000000000000000000000000000000000000007374616666000000000000000000000000000000000000000000000000000000303030303030200030303030303020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true - , path: 'b.txt' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 512 - , mtime: 1319494079 - , cksum: 5425 - , type: '0' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } - ] - - , "deep nested file": - [ "636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363633030303634342000303537373631200030303030323420003030303030303030313434203131363532313531353333203034333331340020300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000075737461720030306973616163730000000000000000000000000000000000000000000000000000737461666600000000000000000000000000000000000000000000000000000030303030303020003030303030302000722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d2f662f6f2f6c2f642f652f722f2d2f702f612f742f680000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - , { cksumValid: true, - path: 'r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' - , mode: 420 - , uid: 24561 - , gid: 20 - , size: 100 - , mtime: 1319687003 - , cksum: 18124 - , type: '0' - , linkpath: '' - , ustar: 'ustar\0' - , ustarver: '00' - , uname: 'isaacs' - , gname: 'staff' - , devmaj: 0 - , devmin: 0 - , fill: '' } - ] - } - -tap.test("parsing", function (t) { - Object.keys(headers).forEach(function (name) { - var h = headers[name] - , header = new Buffer(h[0], "hex") - , expect = h[1] - , parsed = new TarHeader(header) - - // console.error(parsed) - t.has(parsed, expect, "parse " + name) - }) - t.end() -}) - -tap.test("encoding", function (t) { - Object.keys(headers).forEach(function (name) { - var h = headers[name] - , expect = new Buffer(h[0], "hex") - , encoded = TarHeader.encode(h[1]) - - // might have slightly different bytes, since the standard - // isn't very strict, but should have the same semantics - // checkSum will be different, but cksumValid will be true - - var th = new TarHeader(encoded) - delete h[1].block - delete h[1].needExtended - delete h[1].cksum - t.has(th, h[1], "fields "+name) - }) - t.end() -}) - -// test these manually. they're a bit rare to find in the wild -tap.test("parseNumeric tests", function (t) { - var parseNumeric = TarHeader.parseNumeric - , numbers = - { "303737373737373700": 2097151 - , "30373737373737373737373700": 8589934591 - , "303030303036343400": 420 - , "800000ffffffffffff": 281474976710655 - , "ffffff000000000001": -281474976710654 - , "ffffff000000000000": -281474976710655 - , "800000000000200000": 2097152 - , "8000000000001544c5": 1393861 - , "ffffffffffff1544c5": -15383354 } - Object.keys(numbers).forEach(function (n) { - var b = new Buffer(n, "hex") - t.equal(parseNumeric(b), numbers[n], n + " === " + numbers[n]) - }) - t.end() -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/pack-no-proprietary.js b/node_modules/node-gyp/node_modules/tar/test/pack-no-proprietary.js deleted file mode 100644 index d4b03a1fe936b..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/pack-no-proprietary.js +++ /dev/null @@ -1,886 +0,0 @@ -// This is exactly like test/pack.js, except that it's excluding -// any proprietary headers. -// -// This loses some information about the filesystem, but creates -// tarballs that are supported by more versions of tar, especially -// old non-spec-compliant copies of gnutar. - -// the symlink file is excluded from git, because it makes -// windows freak the hell out. -var fs = require("fs") - , path = require("path") - , symlink = path.resolve(__dirname, "fixtures/symlink") -try { fs.unlinkSync(symlink) } catch (e) {} -fs.symlinkSync("./hardlink-1", symlink) -process.on("exit", function () { - fs.unlinkSync(symlink) -}) - -var tap = require("tap") - , tar = require("../tar.js") - , pkg = require("../package.json") - , Pack = tar.Pack - , fstream = require("fstream") - , Reader = fstream.Reader - , Writer = fstream.Writer - , input = path.resolve(__dirname, "fixtures/") - , target = path.resolve(__dirname, "tmp/pack.tar") - , uid = process.getuid ? process.getuid() : 0 - , gid = process.getgid ? process.getgid() : 0 - - , entries = - - // the global header and root fixtures/ dir are going to get - // a different date each time, so omit that bit. - // Also, dev/ino values differ across machines, so that's not - // included. - [ [ 'entry', - { path: 'fixtures/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/200cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: 'fixtures/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - uid: uid, - gid: gid, - size: 200 } ] - - , [ 'entry', - { path: 'fixtures/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - size: 200, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/a.txt', - mode: 420, - uid: uid, - gid: gid, - size: 257, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/b.txt', - mode: 420, - uid: uid, - gid: gid, - size: 512, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/c.txt', - mode: 420, - uid: uid, - gid: gid, - size: 513, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/cc.txt', - mode: 420, - uid: uid, - gid: gid, - size: 513, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/dir/', - mode: 488, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/dir/sub/', - mode: 488, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/foo.js', - mode: 420, - uid: uid, - gid: gid, - size: 4, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/hardlink-1', - mode: 420, - uid: uid, - gid: gid, - size: 200, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/hardlink-2', - mode: 420, - uid: uid, - gid: gid, - size: 0, - type: '1', - linkpath: 'fixtures/hardlink-1', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/omega.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/omega.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/star.4.html', - mode: 420, - uid: uid, - gid: gid, - size: 54081, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/packtest/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: 'fixtures/packtest/Ω.txt', - uid: uid, - gid: gid, - size: 2 } ] - - , [ 'entry', - { path: 'fixtures/packtest/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - size: 100, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/symlink', - uid: uid, - gid: gid, - size: 0, - type: '2', - linkpath: 'hardlink-1', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: "fixtures/Ω.txt" - , uid: uid - , gid: gid - , size: 2 } ] - - , [ 'entry', - { path: 'fixtures/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - ] - - -// first, make sure that the hardlinks are actually hardlinks, or this -// won't work. Git has a way of replacing them with a copy. -var hard1 = path.resolve(__dirname, "fixtures/hardlink-1") - , hard2 = path.resolve(__dirname, "fixtures/hardlink-2") - , fs = require("fs") - -try { fs.unlinkSync(hard2) } catch (e) {} -fs.linkSync(hard1, hard2) - -tap.test("with global header", { timeout: 10000 }, function (t) { - runTest(t, true) -}) - -tap.test("without global header", { timeout: 10000 }, function (t) { - runTest(t, false) -}) - -function alphasort (a, b) { - return a === b ? 0 - : a.toLowerCase() > b.toLowerCase() ? 1 - : a.toLowerCase() < b.toLowerCase() ? -1 - : a > b ? 1 - : -1 -} - - -function runTest (t, doGH) { - var reader = Reader({ path: input - , filter: function () { - return !this.path.match(/\.(tar|hex)$/) - } - , sort: alphasort - }) - - var props = doGH ? pkg : {} - props.noProprietary = true - var pack = Pack(props) - var writer = Writer(target) - - // global header should be skipped regardless, since it has no content. - var entry = 0 - - t.ok(reader, "reader ok") - t.ok(pack, "pack ok") - t.ok(writer, "writer ok") - - pack.pipe(writer) - - var parse = tar.Parse() - t.ok(parse, "parser should be ok") - - pack.on("data", function (c) { - // console.error("PACK DATA") - if (c.length !== 512) { - // this one is too noisy, only assert if it'll be relevant - t.equal(c.length, 512, "parser should emit data in 512byte blocks") - } - parse.write(c) - }) - - pack.on("end", function () { - // console.error("PACK END") - t.pass("parser ends") - parse.end() - }) - - pack.on("error", function (er) { - t.fail("pack error", er) - }) - - parse.on("error", function (er) { - t.fail("parse error", er) - }) - - writer.on("error", function (er) { - t.fail("writer error", er) - }) - - reader.on("error", function (er) { - t.fail("reader error", er) - }) - - parse.on("*", function (ev, e) { - var wanted = entries[entry++] - if (!wanted) { - t.fail("unexpected event: "+ev) - return - } - t.equal(ev, wanted[0], "event type should be "+wanted[0]) - - if (ev !== wanted[0] || e.path !== wanted[1].path) { - console.error("wanted", wanted) - console.error([ev, e.props]) - e.on("end", function () { - console.error(e.fields) - throw "break" - }) - } - - t.has(e.props, wanted[1], "properties "+wanted[1].path) - if (wanted[2]) { - e.on("end", function () { - if (!e.fields) { - t.ok(e.fields, "should get fields") - } else { - t.has(e.fields, wanted[2], "should get expected fields") - } - }) - } - }) - - reader.pipe(pack) - - writer.on("close", function () { - t.equal(entry, entries.length, "should get all expected entries") - t.pass("it finished") - t.end() - }) - -} diff --git a/node_modules/node-gyp/node_modules/tar/test/pack.js b/node_modules/node-gyp/node_modules/tar/test/pack.js deleted file mode 100644 index 0f16c07bb0162..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/pack.js +++ /dev/null @@ -1,952 +0,0 @@ - -// the symlink file is excluded from git, because it makes -// windows freak the hell out. -var fs = require("fs") - , path = require("path") - , symlink = path.resolve(__dirname, "fixtures/symlink") -try { fs.unlinkSync(symlink) } catch (e) {} -fs.symlinkSync("./hardlink-1", symlink) -process.on("exit", function () { - fs.unlinkSync(symlink) -}) - - -var tap = require("tap") - , tar = require("../tar.js") - , pkg = require("../package.json") - , Pack = tar.Pack - , fstream = require("fstream") - , Reader = fstream.Reader - , Writer = fstream.Writer - , input = path.resolve(__dirname, "fixtures/") - , target = path.resolve(__dirname, "tmp/pack.tar") - , uid = process.getuid ? process.getuid() : 0 - , gid = process.getgid ? process.getgid() : 0 - - , entries = - - // the global header and root fixtures/ dir are going to get - // a different date each time, so omit that bit. - // Also, dev/ino values differ across machines, so that's not - // included. - [ [ 'globalExtendedHeader', - { path: 'PaxHeader/', - mode: 438, - uid: 0, - gid: 0, - type: 'g', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { "NODETAR.author": pkg.author, - "NODETAR.name": pkg.name, - "NODETAR.description": pkg.description, - "NODETAR.version": pkg.version, - "NODETAR.repository.type": pkg.repository.type, - "NODETAR.repository.url": pkg.repository.url, - "NODETAR.main": pkg.main, - "NODETAR.scripts.test": pkg.scripts.test } ] - - , [ 'entry', - { path: 'fixtures/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/200cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: 'fixtures/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - 'NODETAR.depth': '1', - 'NODETAR.type': 'File', - nlink: 1, - uid: uid, - gid: gid, - size: 200, - 'NODETAR.blksize': '4096', - 'NODETAR.blocks': '8' } ] - - , [ 'entry', - { path: 'fixtures/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - size: 200, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '', - 'NODETAR.depth': '1', - 'NODETAR.type': 'File', - nlink: 1, - 'NODETAR.blksize': '4096', - 'NODETAR.blocks': '8' } ] - - , [ 'entry', - { path: 'fixtures/a.txt', - mode: 420, - uid: uid, - gid: gid, - size: 257, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/b.txt', - mode: 420, - uid: uid, - gid: gid, - size: 512, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/c.txt', - mode: 420, - uid: uid, - gid: gid, - size: 513, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/cc.txt', - mode: 420, - uid: uid, - gid: gid, - size: 513, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/dir/', - mode: 488, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/dir/sub/', - mode: 488, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - - , [ 'entry', - { path: 'fixtures/foo.js', - mode: 420, - uid: uid, - gid: gid, - size: 4, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/hardlink-1', - mode: 420, - uid: uid, - gid: gid, - size: 200, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/hardlink-2', - mode: 420, - uid: uid, - gid: gid, - size: 0, - type: '1', - linkpath: 'fixtures/hardlink-1', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/omega.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/omega.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/packtest/star.4.html', - mode: 420, - uid: uid, - gid: gid, - size: 54081, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/packtest/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: 'fixtures/packtest/Ω.txt', - 'NODETAR.depth': '2', - 'NODETAR.type': 'File', - nlink: 1, - uid: uid, - gid: gid, - size: 2, - 'NODETAR.blksize': '4096', - 'NODETAR.blocks': '8' } ] - - , [ 'entry', - { path: 'fixtures/packtest/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '', - 'NODETAR.depth': '2', - 'NODETAR.type': 'File', - nlink: 1, - 'NODETAR.blksize': '4096', - 'NODETAR.blocks': '8' } ] - - , [ 'entry', - { path: 'fixtures/r/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/', - mode: 493, - uid: uid, - gid: gid, - size: 0, - type: '5', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: uid, - gid: gid, - size: 100, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'entry', - { path: 'fixtures/symlink', - uid: uid, - gid: gid, - size: 0, - type: '2', - linkpath: 'hardlink-1', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' } ] - - , [ 'extendedHeader', - { path: 'PaxHeader/fixtures/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - type: 'x', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: "fixtures/Ω.txt" - , "NODETAR.depth": "1" - , "NODETAR.type": "File" - , nlink: 1 - , uid: uid - , gid: gid - , size: 2 - , "NODETAR.blksize": "4096" - , "NODETAR.blocks": "8" } ] - - , [ 'entry', - { path: 'fixtures/Ω.txt', - mode: 420, - uid: uid, - gid: gid, - size: 2, - type: '0', - linkpath: '', - ustar: 'ustar\u0000', - ustarver: '00', - uname: '', - gname: '', - devmaj: 0, - devmin: 0, - fill: '', - 'NODETAR.depth': '1', - 'NODETAR.type': 'File', - nlink: 1, - 'NODETAR.blksize': '4096', - 'NODETAR.blocks': '8' } ] - ] - - -// first, make sure that the hardlinks are actually hardlinks, or this -// won't work. Git has a way of replacing them with a copy. -var hard1 = path.resolve(__dirname, "fixtures/hardlink-1") - , hard2 = path.resolve(__dirname, "fixtures/hardlink-2") - , fs = require("fs") - -try { fs.unlinkSync(hard2) } catch (e) {} -fs.linkSync(hard1, hard2) - -tap.test("with global header", { timeout: 10000 }, function (t) { - runTest(t, true) -}) - -tap.test("without global header", { timeout: 10000 }, function (t) { - runTest(t, false) -}) - -tap.test("with from base", { timeout: 10000 }, function (t) { - runTest(t, true, true) -}) - -function alphasort (a, b) { - return a === b ? 0 - : a.toLowerCase() > b.toLowerCase() ? 1 - : a.toLowerCase() < b.toLowerCase() ? -1 - : a > b ? 1 - : -1 -} - - -function runTest (t, doGH, doFromBase) { - var reader = Reader({ path: input - , filter: function () { - return !this.path.match(/\.(tar|hex)$/) - } - , sort: alphasort - }) - - var props = doGH ? pkg : {} - if(doFromBase) props.fromBase = true; - - var pack = Pack(props) - var writer = Writer(target) - - // skip the global header if we're not doing that. - var entry = doGH ? 0 : 1 - - t.ok(reader, "reader ok") - t.ok(pack, "pack ok") - t.ok(writer, "writer ok") - - pack.pipe(writer) - - var parse = tar.Parse() - t.ok(parse, "parser should be ok") - - pack.on("data", function (c) { - // console.error("PACK DATA") - if (c.length !== 512) { - // this one is too noisy, only assert if it'll be relevant - t.equal(c.length, 512, "parser should emit data in 512byte blocks") - } - parse.write(c) - }) - - pack.on("end", function () { - // console.error("PACK END") - t.pass("parser ends") - parse.end() - }) - - pack.on("error", function (er) { - t.fail("pack error", er) - }) - - parse.on("error", function (er) { - t.fail("parse error", er) - }) - - writer.on("error", function (er) { - t.fail("writer error", er) - }) - - reader.on("error", function (er) { - t.fail("reader error", er) - }) - - parse.on("*", function (ev, e) { - var wanted = entries[entry++] - if (!wanted) { - t.fail("unexpected event: "+ev) - return - } - t.equal(ev, wanted[0], "event type should be "+wanted[0]) - - if(doFromBase) { - if(wanted[1].path.indexOf('fixtures/') && wanted[1].path.length == 100) - wanted[1].path = wanted[1].path.replace('fixtures/', '') + 'ccccccccc' - - if(wanted[1]) wanted[1].path = wanted[1].path.replace('fixtures/', '').replace('//', '/') - if(wanted[1].path == '') wanted[1].path = '/' - if(wanted[2] && wanted[2].path) wanted[2].path = wanted[2].path.replace('fixtures', '').replace(/^\//, '') - - wanted[1].linkpath = wanted[1].linkpath.replace('fixtures/', '') - } - - if (ev !== wanted[0] || e.path !== wanted[1].path) { - console.error("wanted", wanted) - console.error([ev, e.props]) - e.on("end", function () { - console.error(e.fields) - throw "break" - }) - } - - - t.has(e.props, wanted[1], "properties "+wanted[1].path) - if (wanted[2]) { - e.on("end", function () { - if (!e.fields) { - t.ok(e.fields, "should get fields") - } else { - t.has(e.fields, wanted[2], "should get expected fields") - } - }) - } - }) - - reader.pipe(pack) - - writer.on("close", function () { - t.equal(entry, entries.length, "should get all expected entries") - t.pass("it finished") - t.end() - }) - -} diff --git a/node_modules/node-gyp/node_modules/tar/test/parse-discard.js b/node_modules/node-gyp/node_modules/tar/test/parse-discard.js deleted file mode 100644 index da01a65ccc7d7..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/parse-discard.js +++ /dev/null @@ -1,29 +0,0 @@ -var tap = require("tap") - , tar = require("../tar.js") - , fs = require("fs") - , path = require("path") - , file = path.resolve(__dirname, "fixtures/c.tar") - -tap.test("parser test", function (t) { - var parser = tar.Parse() - var total = 0 - var dataTotal = 0 - - parser.on("end", function () { - - t.equals(total-513,dataTotal,'should have discarded only c.txt') - - t.end() - }) - - fs.createReadStream(file) - .pipe(parser) - .on('entry',function(entry){ - if(entry.path === 'c.txt') entry.abort() - - total += entry.size; - entry.on('data',function(data){ - dataTotal += data.length - }) - }) -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/parse.js b/node_modules/node-gyp/node_modules/tar/test/parse.js deleted file mode 100644 index f765a50129bff..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/parse.js +++ /dev/null @@ -1,359 +0,0 @@ -var tap = require("tap") - , tar = require("../tar.js") - , fs = require("fs") - , path = require("path") - , file = path.resolve(__dirname, "fixtures/c.tar") - , index = 0 - - , expect = -[ [ 'entry', - { path: 'c.txt', - mode: 420, - uid: 24561, - gid: 20, - size: 513, - mtime: new Date('Wed, 26 Oct 2011 01:10:58 GMT'), - cksum: 5422, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - undefined ], - [ 'entry', - { path: 'cc.txt', - mode: 420, - uid: 24561, - gid: 20, - size: 513, - mtime: new Date('Wed, 26 Oct 2011 01:11:02 GMT'), - cksum: 5525, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - undefined ], - [ 'entry', - { path: 'r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 24561, - gid: 20, - size: 100, - mtime: new Date('Thu, 27 Oct 2011 03:43:23 GMT'), - cksum: 18124, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - undefined ], - [ 'entry', - { path: 'Ω.txt', - mode: 420, - uid: 24561, - gid: 20, - size: 2, - mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'), - cksum: 5695, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - undefined ], - [ 'extendedHeader', - { path: 'PaxHeader/Ω.txt', - mode: 420, - uid: 24561, - gid: 20, - size: 120, - mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'), - cksum: 6702, - type: 'x', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: 'Ω.txt', - ctime: 1319737909, - atime: 1319739061, - dev: 234881026, - ino: 51693379, - nlink: 1 } ], - [ 'entry', - { path: 'Ω.txt', - mode: 420, - uid: 24561, - gid: 20, - size: 2, - mtime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'), - cksum: 5695, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '', - ctime: new Date('Thu, 27 Oct 2011 17:51:49 GMT'), - atime: new Date('Thu, 27 Oct 2011 18:11:01 GMT'), - dev: 234881026, - ino: 51693379, - nlink: 1 }, - undefined ], - [ 'extendedHeader', - { path: 'PaxHeader/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 24561, - gid: 20, - size: 353, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 14488, - type: 'x', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - ctime: 1319686868, - atime: 1319741254, - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 1 } ], - [ 'entry', - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 24561, - gid: 20, - size: 200, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 14570, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '', - ctime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - atime: new Date('Thu, 27 Oct 2011 18:47:34 GMT'), - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 1 }, - undefined ], - [ 'longPath', - { path: '././@LongLink', - mode: 0, - uid: 0, - gid: 0, - size: 201, - mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'), - cksum: 4976, - type: 'L', - linkpath: '', - ustar: false }, - '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' ], - [ 'entry', - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 1000, - gid: 1000, - size: 201, - mtime: new Date('Thu, 27 Oct 2011 22:21:50 GMT'), - cksum: 14086, - type: '0', - linkpath: '', - ustar: false }, - undefined ], - [ 'longLinkpath', - { path: '././@LongLink', - mode: 0, - uid: 0, - gid: 0, - size: 201, - mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'), - cksum: 4975, - type: 'K', - linkpath: '', - ustar: false }, - '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' ], - [ 'longPath', - { path: '././@LongLink', - mode: 0, - uid: 0, - gid: 0, - size: 201, - mtime: new Date('Thu, 01 Jan 1970 00:00:00 GMT'), - cksum: 4976, - type: 'L', - linkpath: '', - ustar: false }, - '200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL' ], - [ 'entry', - { path: '200LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL', - mode: 511, - uid: 1000, - gid: 1000, - size: 0, - mtime: new Date('Fri, 28 Oct 2011 23:05:17 GMT'), - cksum: 21603, - type: '2', - linkpath: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - ustar: false }, - undefined ], - [ 'extendedHeader', - { path: 'PaxHeader/200-hard', - mode: 420, - uid: 24561, - gid: 20, - size: 143, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 6533, - type: 'x', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - { ctime: 1320617144, - atime: 1320617232, - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 2 } ], - [ 'entry', - { path: '200-hard', - mode: 420, - uid: 24561, - gid: 20, - size: 200, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 5526, - type: '0', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '', - ctime: new Date('Sun, 06 Nov 2011 22:05:44 GMT'), - atime: new Date('Sun, 06 Nov 2011 22:07:12 GMT'), - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 2 }, - undefined ], - [ 'extendedHeader', - { path: 'PaxHeader/200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 24561, - gid: 20, - size: 353, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 14488, - type: 'x', - linkpath: '', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '' }, - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - ctime: 1320617144, - atime: 1320617406, - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 2 } ], - [ 'entry', - { path: '200ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', - mode: 420, - uid: 24561, - gid: 20, - size: 0, - mtime: new Date('Thu, 27 Oct 2011 03:41:08 GMT'), - cksum: 15173, - type: '1', - linkpath: '200-hard', - ustar: 'ustar\0', - ustarver: '00', - uname: 'isaacs', - gname: 'staff', - devmaj: 0, - devmin: 0, - fill: '', - ctime: new Date('Sun, 06 Nov 2011 22:05:44 GMT'), - atime: new Date('Sun, 06 Nov 2011 22:10:06 GMT'), - 'LIBARCHIVE.creationtime': '1319686852', - dev: 234881026, - ino: 51681874, - nlink: 2 }, - undefined ] ] - - -tap.test("parser test", function (t) { - var parser = tar.Parse() - - parser.on("end", function () { - t.equal(index, expect.length, "saw all expected events") - t.end() - }) - - fs.createReadStream(file) - .pipe(parser) - .on("*", function (ev, entry) { - var wanted = expect[index] - if (!wanted) { - return t.fail("Unexpected event: " + ev) - } - var result = [ev, entry.props] - entry.on("end", function () { - result.push(entry.fields || entry.body) - - t.equal(ev, wanted[0], index + " event type") - t.equivalent(entry.props, wanted[1], wanted[1].path + " entry properties") - if (wanted[2]) { - t.equivalent(result[2], wanted[2], "metadata values") - } - index ++ - }) - }) -}) diff --git a/node_modules/node-gyp/node_modules/tar/test/zz-cleanup.js b/node_modules/node-gyp/node_modules/tar/test/zz-cleanup.js deleted file mode 100644 index a00ff7faa0390..0000000000000 --- a/node_modules/node-gyp/node_modules/tar/test/zz-cleanup.js +++ /dev/null @@ -1,20 +0,0 @@ -// clean up the fixtures - -var tap = require("tap") -, rimraf = require("rimraf") -, test = tap.test -, path = require("path") - -test("clean fixtures", function (t) { - rimraf(path.resolve(__dirname, "fixtures"), function (er) { - t.ifError(er, "rimraf ./fixtures/") - t.end() - }) -}) - -test("clean tmp", function (t) { - rimraf(path.resolve(__dirname, "tmp"), function (er) { - t.ifError(er, "rimraf ./tmp/") - t.end() - }) -}) diff --git a/node_modules/node-gyp/package.json b/node_modules/node-gyp/package.json index ba6913209c47d..90486a23df4bc 100644 --- a/node_modules/node-gyp/package.json +++ b/node_modules/node-gyp/package.json @@ -1,34 +1,30 @@ { - "_from": "node-gyp@latest", - "_id": "node-gyp@3.8.0", + "_from": "node-gyp@4.0.0", + "_id": "node-gyp@4.0.0", "_inBundle": false, - "_integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "_integrity": "sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==", "_location": "/node-gyp", "_phantomChildren": { - "abbrev": "1.1.1", - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "abbrev": "1.1.1" }, "_requested": { - "type": "tag", + "type": "version", "registry": true, - "raw": "node-gyp@latest", + "raw": "node-gyp@4.0.0", "name": "node-gyp", "escapedName": "node-gyp", - "rawSpec": "latest", + "rawSpec": "4.0.0", "saveSpec": null, - "fetchSpec": "latest" + "fetchSpec": "4.0.0" }, "_requiredBy": [ "#USER", - "/", - "/npm-lifecycle" + "/" ], - "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "_shasum": "540304261c330e80d0d5edce253a68cb3964218c", - "_spec": "node-gyp@latest", - "_where": "/Users/zkat/Documents/code/work/npm", + "_resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz", + "_shasum": "972654af4e5dd0cd2a19081b4b46fe0442ba6f45", + "_spec": "node-gyp@4.0.0", + "_where": "/home/hugh/Development/github.com/npm/cli", "author": { "name": "Nathan Rajlich", "email": "nathan@tootallnate.net", @@ -42,7 +38,6 @@ }, "bundleDependencies": false, "dependencies": { - "fstream": "^1.0.0", "glob": "^7.0.3", "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", @@ -52,7 +47,7 @@ "request": "^2.87.0", "rimraf": "2", "semver": "~5.3.0", - "tar": "^2.0.0", + "tar": "^4.4.8", "which": "1" }, "deprecated": false, @@ -64,7 +59,7 @@ "tape": "~4.2.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 4.0.0" }, "homepage": "https://github.com/nodejs/node-gyp#readme", "installVersion": 9, @@ -88,5 +83,5 @@ "scripts": { "test": "tape test/test-*" }, - "version": "3.8.0" + "version": "4.0.0" } diff --git a/node_modules/npm-lifecycle/CHANGELOG.md b/node_modules/npm-lifecycle/CHANGELOG.md index 7e7bc92e2922e..fb74ec450c30f 100644 --- a/node_modules/npm-lifecycle/CHANGELOG.md +++ b/node_modules/npm-lifecycle/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [2.1.1](https://github.com/npm/lifecycle/compare/v2.1.0...v2.1.1) (2019-05-08) + + +### Bug Fixes + +* **test:** update postinstall script for fixture ([220cd70](https://github.com/npm/lifecycle/commit/220cd70)) + + + # [2.1.0](https://github.com/npm/lifecycle/compare/v2.0.3...v2.1.0) (2018-08-13) diff --git a/node_modules/npm-lifecycle/index.js b/node_modules/npm-lifecycle/index.js index 4eb83255a94a2..4a664596047ed 100644 --- a/node_modules/npm-lifecycle/index.js +++ b/node_modules/npm-lifecycle/index.js @@ -167,7 +167,7 @@ function shouldPrependCurrentNodeDirToPATH (opts) { var isWindows = process.platform === 'win32' var foundExecPath try { - foundExecPath = which.sync(path.basename(process.execPath), {pathExt: isWindows ? ';' : ':'}) + foundExecPath = which.sync(path.basename(process.execPath), { pathExt: isWindows ? ';' : ':' }) // Apply `fs.realpath()` here to avoid false positives when `node` is a symlinked executable. isDifferentNodeInPath = fs.realpathSync(process.execPath).toUpperCase() !== fs.realpathSync(foundExecPath).toUpperCase() diff --git a/node_modules/npm-lifecycle/package.json b/node_modules/npm-lifecycle/package.json index 6f63b06fd51c4..33f94a99cfecd 100644 --- a/node_modules/npm-lifecycle/package.json +++ b/node_modules/npm-lifecycle/package.json @@ -1,29 +1,30 @@ { - "_from": "npm-lifecycle@2.1.0", - "_id": "npm-lifecycle@2.1.0", + "_from": "npm-lifecycle@2.1.1", + "_id": "npm-lifecycle@2.1.1", "_inBundle": false, - "_integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==", + "_integrity": "sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew==", "_location": "/npm-lifecycle", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "npm-lifecycle@2.1.0", + "raw": "npm-lifecycle@2.1.1", "name": "npm-lifecycle", "escapedName": "npm-lifecycle", - "rawSpec": "2.1.0", + "rawSpec": "2.1.1", "saveSpec": null, - "fetchSpec": "2.1.0" + "fetchSpec": "2.1.1" }, "_requiredBy": [ "#USER", "/", - "/libcipm" + "/libcipm", + "/libnpm" ], - "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz", - "_shasum": "1eda2eedb82db929e3a0c50341ab0aad140ed569", - "_spec": "npm-lifecycle@2.1.0", - "_where": "/Users/zkat/Documents/code/work/npm", + "_resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz", + "_shasum": "0027c09646f0fd346c5c93377bdaba59c6748fdf", + "_spec": "npm-lifecycle@2.1.1", + "_where": "/home/hugh/Development/github.com/npm/cli", "author": { "name": "Mike Sherov" }, @@ -33,8 +34,8 @@ "bundleDependencies": false, "dependencies": { "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.8.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^4.0.0", "resolve-from": "^4.0.0", "slide": "^1.1.6", "uid-number": "0.0.6", @@ -44,11 +45,11 @@ "deprecated": false, "description": "JavaScript package lifecycle hook runner", "devDependencies": { - "nyc": "^12.0.2", - "sinon": "^6.1.5", - "standard": "^11.0.1", + "nyc": "^14.1.0", + "sinon": "^7.2.3", + "standard": "^12.0.1", "standard-version": "^4.4.0", - "tap": "^12.0.1", + "tap": "^13.1.3", "weallbehave": "^1.2.0", "weallcontribute": "^1.0.8" }, @@ -76,9 +77,9 @@ "prerelease": "npm t", "pretest": "standard", "release": "standard-version -s", - "test": "tap -J --coverage test/*.js", + "test": "tap", "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "2.1.0" + "version": "2.1.1" } diff --git a/package-lock.json b/package-lock.json index 56b143db5ae6e..47149c703b7c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -497,14 +497,6 @@ } } }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "requires": { - "inherits": "~2.0.0" - } - }, "bluebird": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", @@ -2006,17 +1998,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -3343,11 +3324,10 @@ } }, "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-2XiryJ8sICNo6ej8d0idXDEMKfVfFK7kekGCtJAuelGsYHQxhj13KTf95swTCN2dZ/4lTfZ84Fu31jqJEEgjWA==", "requires": { - "fstream": "^1.0.0", "glob": "^7.0.3", "graceful-fs": "^4.1.2", "mkdirp": "^0.5.0", @@ -3357,7 +3337,7 @@ "request": "^2.87.0", "rimraf": "2", "semver": "~5.3.0", - "tar": "^2.0.0", + "tar": "^4.4.8", "which": "1" }, "dependencies": { @@ -3373,16 +3353,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } } } }, @@ -3450,13 +3420,13 @@ "dev": true }, "npm-lifecycle": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.0.tgz", - "integrity": "sha512-QbBfLlGBKsktwBZLj6AviHC6Q9Y3R/AY4a2PYSIRhSKSS0/CxRyD/PfxEX6tPeOCXQgMSNdwGeECacstgptc+g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-2.1.1.tgz", + "integrity": "sha512-+Vg6I60Z75V/09pdcH5iUo/99Q/vop35PaI99elvxk56azSVVsdsSsS/sXqKDNwbRRNN1qSxkcO45ZOu0yOWew==", "requires": { "byline": "^5.0.0", - "graceful-fs": "^4.1.11", - "node-gyp": "^3.8.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^4.0.0", "resolve-from": "^4.0.0", "slide": "^1.1.6", "uid-number": "0.0.6", diff --git a/package.json b/package.json index 24827e59cfd9a..80f73488b9a9c 100644 --- a/package.json +++ b/package.json @@ -88,13 +88,13 @@ "mississippi": "^3.0.0", "mkdirp": "~0.5.1", "move-concurrently": "^1.0.1", - "node-gyp": "^3.8.0", + "node-gyp": "^4.0.0", "nopt": "~4.0.1", "normalize-package-data": "^2.5.0", "npm-audit-report": "^1.3.2", "npm-cache-filename": "~1.0.2", "npm-install-checks": "~3.0.0", - "npm-lifecycle": "^2.1.0", + "npm-lifecycle": "^2.1.1", "npm-package-arg": "^6.1.0", "npm-packlist": "^1.4.1", "npm-pick-manifest": "^2.2.3", diff --git a/test/npm_cache/_cacache/content-v2/sha1/07/07/8db5f6377f6321fceaaedf497de124dc9465 b/test/npm_cache/_cacache/content-v2/sha1/07/07/8db5f6377f6321fceaaedf497de124dc9465 new file mode 100644 index 0000000000000..cbd0cddbacf6b Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha1/07/07/8db5f6377f6321fceaaedf497de124dc9465 differ diff --git a/test/npm_cache/_cacache/content-v2/sha1/ca/43/09dadee6b54cc0b8d247e8d7c7a0975bdc9b b/test/npm_cache/_cacache/content-v2/sha1/ca/43/09dadee6b54cc0b8d247e8d7c7a0975bdc9b new file mode 100644 index 0000000000000..83343569828a6 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha1/ca/43/09dadee6b54cc0b8d247e8d7c7a0975bdc9b differ diff --git a/test/npm_cache/_cacache/content-v2/sha1/ee/56/8a2b1efaeb95bec4d9e59e5301fc63339866 b/test/npm_cache/_cacache/content-v2/sha1/ee/56/8a2b1efaeb95bec4d9e59e5301fc63339866 new file mode 100644 index 0000000000000..c4b25ccf69b89 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha1/ee/56/8a2b1efaeb95bec4d9e59e5301fc63339866 differ diff --git a/test/npm_cache/_cacache/content-v2/sha512/0b/61/241d7c17bcbb1baee7094d14b7c451efecc7ffcbd92598a0f13d313cc9ebc2a07e61f007baf58fbf94ff9a8695bdd5cae7ce03bbf1e94e93613a00f25f21 b/test/npm_cache/_cacache/content-v2/sha512/0b/61/241d7c17bcbb1baee7094d14b7c451efecc7ffcbd92598a0f13d313cc9ebc2a07e61f007baf58fbf94ff9a8695bdd5cae7ce03bbf1e94e93613a00f25f21 new file mode 100644 index 0000000000000..945c9b46d684f --- /dev/null +++ b/test/npm_cache/_cacache/content-v2/sha512/0b/61/241d7c17bcbb1baee7094d14b7c451efecc7ffcbd92598a0f13d313cc9ebc2a07e61f007baf58fbf94ff9a8695bdd5cae7ce03bbf1e94e93613a00f25f21 @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/test/npm_cache/_cacache/content-v2/sha512/21/82/eac4f83e50f3b6aa8bea561c5dfebdc1d66941e2da785af406e045de56a0fc422034ca7fa2ab5fa99022c6b860203eb4853ce85f15f26b96c84b8d9e7320 b/test/npm_cache/_cacache/content-v2/sha512/21/82/eac4f83e50f3b6aa8bea561c5dfebdc1d66941e2da785af406e045de56a0fc422034ca7fa2ab5fa99022c6b860203eb4853ce85f15f26b96c84b8d9e7320 new file mode 100644 index 0000000000000..a568011ff72d0 --- /dev/null +++ b/test/npm_cache/_cacache/content-v2/sha512/21/82/eac4f83e50f3b6aa8bea561c5dfebdc1d66941e2da785af406e045de56a0fc422034ca7fa2ab5fa99022c6b860203eb4853ce85f15f26b96c84b8d9e7320 @@ -0,0 +1 @@ +{"versions":{"1.0.0":{"name":"inherits","version":"1.0.0","dependencies":{},"devDependencies":{},"_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"38e1975285bf1f7ba9c84da102bb12771322ac48","tarball":"https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"},"engines":{"node":"*"}},"2.0.0":{"name":"inherits","version":"2.0.0","_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"76c81b3b1c10ddee3a60bf2c247162bc369f8ba8","tarball":"https://registry.npmjs.org/inherits/-/inherits-2.0.0.tgz"}},"2.0.1":{"name":"inherits","version":"2.0.1","_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"b17d08d326b4423e568eff719f91b0b1cbdf69f1","tarball":"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"}},"1.0.1":{"name":"inherits","version":"1.0.1","_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"1bdf16c6ff8266cb858c6da2baf3637a99fb3d87","tarball":"https://registry.npmjs.org/inherits/-/inherits-1.0.1.tgz"}},"1.0.2":{"name":"inherits","version":"1.0.2","_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b","tarball":"https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz"}},"2.0.3":{"name":"inherits","version":"2.0.3","devDependencies":{"tap":"^7.1.0"},"_hasShrinkwrap":false,"directories":{},"dist":{"shasum":"633c2c83e3da42a502f52466022480f4208261de","tarball":"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"}}},"name":"inherits","dist-tags":{"latest":"2.0.3"},"modified":"2018-08-03T00:38:03.803Z"} \ No newline at end of file diff --git a/test/npm_cache/_cacache/content-v2/sha512/2e/36/48f976830aeaba0724b382a09a6a6736dfd4c755963a4f462f963f9ecb211c2258f00766dc3aa68664f66d3a01cb2789b2cf614aeb292dbeb4afe0b206cc b/test/npm_cache/_cacache/content-v2/sha512/2e/36/48f976830aeaba0724b382a09a6a6736dfd4c755963a4f462f963f9ecb211c2258f00766dc3aa68664f66d3a01cb2789b2cf614aeb292dbeb4afe0b206cc new file mode 100644 index 0000000000000..c4b25ccf69b89 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha512/2e/36/48f976830aeaba0724b382a09a6a6736dfd4c755963a4f462f963f9ecb211c2258f00766dc3aa68664f66d3a01cb2789b2cf614aeb292dbeb4afe0b206cc differ diff --git a/test/npm_cache/_cacache/content-v2/sha512/55/a3/cb2911b2e84215a5d93c85438bac8f76cdf605a4ebb8bcc45a615a178ec498e4006d8b05e7569d3dc46deb04a85cc226987f32f6abcea8d4427c3aad50eb b/test/npm_cache/_cacache/content-v2/sha512/55/a3/cb2911b2e84215a5d93c85438bac8f76cdf605a4ebb8bcc45a615a178ec498e4006d8b05e7569d3dc46deb04a85cc226987f32f6abcea8d4427c3aad50eb new file mode 100644 index 0000000000000..4f4263f797741 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha512/55/a3/cb2911b2e84215a5d93c85438bac8f76cdf605a4ebb8bcc45a615a178ec498e4006d8b05e7569d3dc46deb04a85cc226987f32f6abcea8d4427c3aad50eb differ diff --git a/test/npm_cache/_cacache/content-v2/sha512/7d/fa/5dbc56b117403ce140a22b56adad0b0caf15ccdc5249bca0360abdc2fab38100903a6de54f3f8597746133732d6459066a46c5cf7c83bb5eed08c8061973 b/test/npm_cache/_cacache/content-v2/sha512/7d/fa/5dbc56b117403ce140a22b56adad0b0caf15ccdc5249bca0360abdc2fab38100903a6de54f3f8597746133732d6459066a46c5cf7c83bb5eed08c8061973 new file mode 100644 index 0000000000000..780597f087d63 --- /dev/null +++ b/test/npm_cache/_cacache/content-v2/sha512/7d/fa/5dbc56b117403ce140a22b56adad0b0caf15ccdc5249bca0360abdc2fab38100903a6de54f3f8597746133732d6459066a46c5cf7c83bb5eed08c8061973 @@ -0,0 +1 @@ +{"username":"wombat"} \ No newline at end of file diff --git a/test/npm_cache/_cacache/content-v2/sha512/af/32/9b49da433ab139a3043f204d7d79baddbe094f6b61cbd3da374dd4fb838cd1b7085e57237e1fd02846e08430c92b8e6040232ed7e7587249a5777214fce6 b/test/npm_cache/_cacache/content-v2/sha512/af/32/9b49da433ab139a3043f204d7d79baddbe094f6b61cbd3da374dd4fb838cd1b7085e57237e1fd02846e08430c92b8e6040232ed7e7587249a5777214fce6 new file mode 100644 index 0000000000000..fe180eadfeb5f --- /dev/null +++ b/test/npm_cache/_cacache/content-v2/sha512/af/32/9b49da433ab139a3043f204d7d79baddbe094f6b61cbd3da374dd4fb838cd1b7085e57237e1fd02846e08430c92b8e6040232ed7e7587249a5777214fce6 @@ -0,0 +1 @@ +{"versions":{"1.0.0":{"name":"graceful-fs","version":"1.0.0","dependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"ba8e39479ec46658d59eb305f878f8b0820fa8e5","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.0.0.tgz"},"engines":{"node":"0.4 || 0.5"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.0.1":{"name":"graceful-fs","version":"1.0.1","dependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"63647ef7ca9bf0abc561cdb72d2a58704a11cc2f","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.0.1.tgz"},"engines":{"node":"0.4 || 0.5"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.0.2":{"name":"graceful-fs","version":"1.0.2","dependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"79ac9f685c97c391d88a95e4cde5a1313c3807de","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.0.2.tgz"},"engines":{"node":"0.4 || 0.5 || 0.6"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.0":{"name":"graceful-fs","version":"1.1.0","dependencies":{"fast-list":"1"},"devDependencies":{},"directories":{},"dist":{"shasum":"c36f1d3b31d71b4cef3da303b784074f6d578037","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.0.tgz"},"engines":{"node":"0.4 || 0.5 || 0.6"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.1":{"name":"graceful-fs","version":"1.1.1","dependencies":{"fast-list":"1"},"devDependencies":{},"directories":{},"dist":{"shasum":"2f10989f7e9addfcea6592d95f52bb0c2d7e5bd2","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.1.tgz"},"engines":{"node":"0.4 || 0.5 || 0.6"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.2":{"name":"graceful-fs","version":"1.1.2","dependencies":{"fast-list":"1"},"devDependencies":{},"directories":{},"dist":{"shasum":"e82181f54de6620c67034e736fbc0d8fee8c1ffa","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.2.tgz"},"engines":{"node":"0.4 || 0.5 || 0.6"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.3":{"name":"graceful-fs","version":"1.1.3","dependencies":{"fast-list":"1"},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"7c5264a5fd5888cf02545898e402502ff01150ae","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.3.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.4":{"name":"graceful-fs","version":"1.1.4","dependencies":{"fast-list":"1"},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"d53940783394758e59b24e10d355cbcf8c225103","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.4.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.5":{"name":"graceful-fs","version":"1.1.5","dependencies":{"fast-list":"1"},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"0e4692e2240d3951c135587ff7dc8c557186d037","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.5.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.6":{"name":"graceful-fs","version":"1.1.6","dependencies":{},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"cb87fa245e5669fb7b1da44ceef5920054052e24","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.6.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.7":{"name":"graceful-fs","version":"1.1.7","dependencies":{},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"e5cfd7904de546273c1c461ddd053e44e84bc0d7","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.7.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.8":{"name":"graceful-fs","version":"1.1.8","dependencies":{},"optionalDependencies":{},"devDependencies":{},"directories":{},"dist":{"shasum":"7c9b7cd96f16b83230f61d522156306500914888","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.8.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.9":{"name":"graceful-fs","version":"1.1.9","devDependencies":{},"directories":{},"dist":{"shasum":"2d8916e828b906a921d7e7de8fc2ba148f03b18a","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.9.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.10":{"name":"graceful-fs","version":"1.1.10","dependencies":{},"devDependencies":{},"directories":{"test":"test"},"dist":{"shasum":"388a63917e823bc695afd57c76d7f3ee3db54ad3","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.10.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.11":{"name":"graceful-fs","version":"1.1.11","dependencies":{},"devDependencies":{},"directories":{"test":"test"},"dist":{"shasum":"3a3de260cc4cc80ae13debf31b71f73c2c5eb5e5","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.11.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.12":{"name":"graceful-fs","version":"1.1.12","dependencies":{"mkdirp":"~0.3.4"},"devDependencies":{},"directories":{"test":"test"},"dist":{"shasum":"baff9d5d87b722ecef6615ea301a5cb9e2860038","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.12.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.13":{"name":"graceful-fs","version":"1.1.13","directories":{"test":"test"},"dist":{"shasum":"a91e1d8231dc083bdaa227983fbdf5010944ca14","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.13.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.1.14":{"name":"graceful-fs","version":"1.1.14","directories":{"test":"test"},"dist":{"shasum":"07078db5f6377f6321fceaaedf497de124dc9465","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.2.0":{"name":"graceful-fs","version":"1.2.0","directories":{"test":"test"},"dist":{"shasum":"fe2d82a295e30de4e1d1c04ec159e10061140704","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.0.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.2.1":{"name":"graceful-fs","version":"1.2.1","directories":{"test":"test"},"dist":{"shasum":"b35cc6e623576fc2a278cba12c00dda6a1758d2d","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.1.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.2.2":{"name":"graceful-fs","version":"1.2.2","directories":{"test":"test"},"dist":{"shasum":"2643e33eaed1c7277decd37377ff9fb394689cf5","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.2.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"1.2.3":{"name":"graceful-fs","version":"1.2.3","directories":{"test":"test"},"dist":{"shasum":"15a4806a57547cb2d2dbf27f42e89a8c3451b364","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"2.0.0":{"name":"graceful-fs","version":"2.0.0","directories":{"test":"test"},"dist":{"shasum":"c9a206f6f5f4b94e1046dfaaccfe9e12d0ab8cef","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.0.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"2.0.1":{"name":"graceful-fs","version":"2.0.1","directories":{"test":"test"},"dist":{"shasum":"7fd6e0a4837c35d0cc15330294d9584a3898cf84","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.1.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"2.0.2":{"name":"graceful-fs","version":"2.0.2","directories":{"test":"test"},"dist":{"shasum":"26806eaca4bff8fc5dbc935e696135792175c46f","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.2.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"2.0.3":{"name":"graceful-fs","version":"2.0.3","directories":{"test":"test"},"dist":{"shasum":"7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.0":{"name":"graceful-fs","version":"3.0.0","directories":{"test":"test"},"dist":{"shasum":"5792ffae0ed7e318060ebf9f6e7a6e6cf5139327","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.0.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.1":{"name":"graceful-fs","version":"3.0.1","directories":{"test":"test"},"dist":{"shasum":"93352b5b951b009ef541271204122b612e46edaf","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.1.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.2":{"name":"graceful-fs","version":"3.0.2","directories":{"test":"test"},"dist":{"shasum":"2cb5bf7f742bea8ad47c754caeee032b7e71a577","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.3":{"name":"graceful-fs","version":"3.0.3","directories":{"test":"test"},"dist":{"shasum":"277141085e739ae7d54361119a62797b08a1d8c0","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.3.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.4":{"name":"graceful-fs","version":"3.0.4","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^0.4.13"},"directories":{"test":"test"},"dist":{"shasum":"a0306d9b0940e0fc512d33b5df1014e88e0637a3","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.5":{"name":"graceful-fs","version":"3.0.5","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^0.4.13"},"directories":{"test":"test"},"dist":{"shasum":"4a880474bdeb716fe3278cf29792dec38dfac418","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.6":{"name":"graceful-fs","version":"3.0.6","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^0.4.13"},"directories":{"test":"test"},"dist":{"shasum":"dce3a18351cb94cdc82e688b2e3dd2842d1b09bb","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.6.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.7":{"name":"graceful-fs","version":"3.0.7","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^0.4.13"},"directories":{"test":"test"},"dist":{"shasum":"e935be4b3e57892d289dc3bef7be8c02779d2b54","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.8":{"name":"graceful-fs","version":"3.0.8","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"ce813e725fa82f7e6147d51c9a5ca68270551c22","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"4.1.0":{"name":"graceful-fs","version":"4.1.0","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"6be6119244f64d6417fe303cc36ab497b5756cc1","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.0.tgz"},"engines":{"node":">=0.4.0"}},"4.1.1":{"name":"graceful-fs","version":"4.1.1","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"db940cb46e47bd719314a876bace802ea3e90d3c","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.1.tgz"},"engines":{"node":">=0.4.0"}},"4.1.2":{"name":"graceful-fs","version":"4.1.2","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"fe2239b7574972e67e41f808823f9bfa4a991e37","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz"},"engines":{"node":">=0.4.0"}},"4.1.3":{"name":"graceful-fs","version":"4.1.3","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"92033ce11113c41e2628d61fdfa40bc10dc0155c","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"},"engines":{"node":">=0.4.0"}},"4.1.4":{"name":"graceful-fs","version":"4.1.4","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"ef089d2880f033b011823ce5c8fae798da775dbd","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"},"engines":{"node":">=0.4.0"}},"4.1.5":{"name":"graceful-fs","version":"4.1.5","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"f4745e8caed5e0dd2ef21bb5e2d229a32e8093c0","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.5.tgz"},"engines":{"node":">=0.4.0"}},"3.0.9":{"name":"graceful-fs","version":"3.0.9","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"44e10a870a068e892485bace909520905b08ba24","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.9.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"4.1.6":{"name":"graceful-fs","version":"4.1.6","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"514c38772b31bee2e08bedc21a0aeb3abf54c19e","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz"},"engines":{"node":">=0.4.0"}},"3.0.10":{"name":"graceful-fs","version":"3.0.10","dependencies":{"natives":"^1.0.1"},"devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"5268b37746ff73a549708f3ce47fb54c84d5b0f0","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.10.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"3.0.11":{"name":"graceful-fs","version":"3.0.11","dependencies":{"natives":"^1.1.0"},"devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^1.2.0"},"directories":{"test":"test"},"dist":{"shasum":"7613c778a1afea62f25c630a086d7f3acbbdd818","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz"},"engines":{"node":">=0.4.0"},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js"},"4.1.7":{"name":"graceful-fs","version":"4.1.7","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"f8b39fe797b022ae88024cff94a3613197141f32","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.7.tgz"},"engines":{"node":">=0.4.0"}},"4.1.8":{"name":"graceful-fs","version":"4.1.8","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"da3e11135eb2168bdd374532c4e2649751672890","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.8.tgz"},"engines":{"node":">=0.4.0"}},"4.1.9":{"name":"graceful-fs","version":"4.1.9","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"baacba37d19d11f9d146d3578bc99958c3787e29","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz"},"engines":{"node":">=0.4.0"}},"4.1.10":{"name":"graceful-fs","version":"4.1.10","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"f2d720c22092f743228775c75e3612632501f131","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.10.tgz"},"engines":{"node":">=0.4.0"}},"4.1.11":{"name":"graceful-fs","version":"4.1.11","devDependencies":{"mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^5.4.2"},"directories":{"test":"test"},"dist":{"shasum":"0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"},"engines":{"node":">=0.4.0"}},"4.1.12":{"name":"graceful-fs","version":"4.1.12","devDependencies":{"import-fresh":"^2.0.0","mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^12.0.1"},"_hasShrinkwrap":false,"directories":{"test":"test"},"dist":{"integrity":"sha512-E1kqZR391RPU4xZ4uJSKm42R1ZsN8qcolVVlMKDZ1yGa0HVRcNwhjJ74VGDTriDcOHa/LNzFCDHAOx/jq4F63A==","shasum":"5f732cae9d5023c66371362e72685e9c6cd42326","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.12.tgz","fileCount":6,"unpackedSize":25559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3LkMCRA9TVsSAnZWagAAizkP/3ROSu1bgKvgHuJ3BP7Q\nFA6TmxzkoAH9K55guUge0xxR7SCZI5YxiwImggAmklVXopSQXLl/jo7EfOpR\nHqyiUwIVnDlBKn9AB7CWRgPkIZRH4rGuu0JMiRqCHXdXboDUKn4qONTfI6mj\nfcAoVpAXpwumAP7LJD2olEnHE1j2fUca8RIaJlAAqw8LSiZd5Hdn/+JpLlp2\nK/9kM54BpPL9xM+IfaM07O59+6/TaNL1OcUb06wa1Qj0MP9jMqQPjrOxSOmQ\noKvOu2Vg6jsRTUkaIMRgsWO9puzhz74LLHe+DzBKqa8wVX97EEDd4Pldxeyx\n8UUzmLqQlSmdiNCY6dkR1F7yOQnbWMT3FBp9+tqlW6/IAA1vLnIwbofj1jJX\nBY0F8wi632qdE2gNti8puFqu79JedDLa/FQKyWppJ1pcLSOCrZK7dd6mGipr\nSmsQZPTXFOJuX9BJxH4sFnps/5hU47dpcnVPcPnTQneifVG1FN7l0Wqd+kpj\nxxbnOAnIZ+0q4L/Ppat1ks7c9R2OrknZM7+Ye8wAMT6VCgUkfxOjFWS11wad\nZ3iAZc6o2WZ1N4FJCsWchMXhceeevDhBhgCuGoOedYFXNKcfa3jPeR7oWRTV\no2/A9bryp6dmYYw+rpKi60xhqV/9Islf0bSfR028kfRBuIpohIGNkxhQqQtT\nic6a\r\n=7wOy\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"}},"4.1.13":{"name":"graceful-fs","version":"4.1.13","devDependencies":{"import-fresh":"^2.0.0","mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^12.0.1"},"_hasShrinkwrap":false,"directories":{"test":"test"},"dist":{"integrity":"sha512-a3u3Sck0c7/X622CIqiU0q/eRmhEOssVa3jkrfRRxxHPzaW1EcZgsQt87zKipdteGmFEKGGBvIBPr13pCB2HYw==","shasum":"9291d55cf899209ec0c2c8445d0ff7f6cc0e2df1","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.13.tgz","fileCount":7,"unpackedSize":25976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3MFwCRA9TVsSAnZWagAAivkP/AlHtY1y8mmXNgKdLPov\n0ULfG8zMLkNfnKx437uFEHjcyjClOFrrV2nOuQnNBR/HYvWp6kSRoRJMX6eB\nzPhPN7bsR2SZGdIqOKwkoweDyFjrA/BPMaHLYPeoY+OkMZ8SdHcOQ4EelvWM\nmRtXMGjB+6W1KOsBjFxqvRKi7eMmkaJf6tyFRsEhju1RUGmhw1VY+F9fS67s\nbn/DCTujUAHxMhzvmcsBscoiI7WN6q/vP1W8cRHSKe+5INPwISp/M4bo+gU3\ng7XwafgK9bMHgSsC2a7sE0i6zPzlre55bEAvDemE7WsORGagrM2AHJw5Ow1n\nnGulaYd5rit5f2++DPGQ50FaGJtlEFqOqS+J1XldGB69KSvKIqjgyqmoG4VH\nBLv9DflSyO5kJJZggtXKMqqwf/GlXCRij4s5sZVyVqUQ8VK1N95MCF+IWm51\nvyVlyg+ZgnuT8LEiDyxDMx27KbwwxUcN3QPLXvp5zuvDsqlePVMg9AzmsF01\niB6tX/ZddeMF2yTbOV8FRZ7bD23jqbWfSapilKNZBgvLpi2ah3Li9suu1B8v\nz2t/oAU6aqC8PQ1D59Eq8t0eq4wYlKWpIHL24Z/Fj+LUdHw/GnpUy60Tu0GW\npwCoqmZVmP9K9THjahagpXKWxsYaewHr+MhBca+DJ9vjCHv40MrOmgauB7g6\nwCoN\r\n=t9Oq\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"}},"4.1.14":{"name":"graceful-fs","version":"4.1.14","devDependencies":{"import-fresh":"^2.0.0","mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^12.0.1"},"_hasShrinkwrap":false,"directories":{"test":"test"},"dist":{"integrity":"sha512-ns/IGcSmmGNPP085JCheg0Nombh1QPvSCnlx+2V+byQWRQEIL4ZB5jXJMNIHOFVS1roi85HIi5Ka0h43iWXfcQ==","shasum":"1b6e8362ef8c5ecb5da799901f39297e3054773a","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.14.tgz","fileCount":7,"unpackedSize":25976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3NtKCRA9TVsSAnZWagAAn50P/R41gvttUFl7OysdDnVH\nTUFoUzk5WrVSQMO76cf8gQZ46xC4du+1BQhDFJ3gYvpmv57+6MDsgh2IFfCl\ntm0KsuBFnP9C3z8I47YdIqlMoUG+paoIRPrk0YIlqZddnaaf/BRO/9yr1Hb/\nm0mA4puWt+ceJh+pdSu3UzPFNoSSXr/+ViuVQiDVcxFOHHrWCxyXBrRLFc+8\nVTAinVmUEGLi9CkjlwIz99QbjizBd7INzRGCvCFm17XQlRHeT7e3EtRO2ySM\nvOU7o0K02vrP1XWtW7rXvGDATVJnTACM1yPZIhIXdZVxgD5zAEsTjqvvOAYJ\nfY3vqkHE1uoDTbf3mdT24ZmmaMRrOcOwmUPTa5ZxnIqAwOInOeVSwLUMIN+z\nqK+A4nL98U5L568OxpHlbAtbAgIHCPYADg+fT+8Xj7mIGtx/HBN+75h1WHaq\naGVvkK2kclgXFKXzHzCKfDlHe268rvqoRy+6Q9a1d5Cth1aArO6kTNajc4AX\nfco+TDCEg/oMDgCikHI4qL6zXwQ6aQiJjeuHONprnyrwrRhS9iCFD1DSC37Q\nsglCxNioVpd7TlfDg0v3yDFr8gZqo7a2ELoRmog3rwzgGYZ/VA/FJO/ztfE4\nkPH4rW2tbDldWc8bZ3FkH2TFHgwEw2qTgziPSFwE+V7G0GaDrbFjHslABMaP\nvlOn\r\n=G/Sv\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"}},"4.1.15":{"name":"graceful-fs","version":"4.1.15","devDependencies":{"import-fresh":"^2.0.0","mkdirp":"^0.5.0","rimraf":"^2.2.8","tap":"^12.0.1"},"_hasShrinkwrap":false,"directories":{"test":"test"},"dist":{"integrity":"sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==","shasum":"ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00","tarball":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz","fileCount":7,"unpackedSize":25938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb31vrCRA9TVsSAnZWagAAjMYP/2AwGCPcxbX+2ZBkpyRq\nJ85zkTLDdO2AhSNpgApHrPFbvQ2MYSedMmA/tuNOILCd2zulEvadRZLSW5zI\nHUkRFdU20ByFJoLMvoGm8EY9gEnQ3lpIvh6lmgNSYhQhm5khE0XHQ4sAs9YW\nV61Qr4yqKvkxXrMpElTgzkCfEZ79pNzZ58lE0Qvqmcp3OTczsOimh+w5UIUu\nt/GMZpsmLC4VHTj+hSRqYsh8HJFt9Nl2ahXK08eGAroZMRgRY5hA/9aJ2bA7\nHpuyqMH2wjbaJRnT8ORLfgfJ9a8xO+VzIp0ueAWpAjAaCtbC2dKF3/YJ8Bn6\nZUaCWMM1PZG1BIM/4g/q++OV7o9NgJvqjvjMmVZKanzUMBwfD9ygwFcP8oNF\nlLSR4GU6itDJo2oqdtsrTsfDe35sNTl3kwyhMqZPWFlNJ5C02jmeH2qPtc9s\n69lGDH5JNBBKOmJXV9WKfN+mOSXniBnUsUVu0vAm/y9nY1GZQiAlI5MfIW+T\n1a+K2cGakv6c+b2bO6ExwnIjWPwEpKNlPYHdjLv01GoT9qZRh2guD5RBJqDj\nbNToHu3zR6po45ekShHykoFDz3F+mOKWKyfQ1F3Z+z+8udFk7xbO4vxRTC4M\nq1HSgomC6uFS+RRNVhmTS2L4S1izPDbozKOUU+rpk4hQMBhTLgf7nQ0Bates\nG+db\r\n=Fpd7\r\n-----END PGP SIGNATURE-----\r\n"}}},"name":"graceful-fs","dist-tags":{"latest":"4.1.15","old":"3.0.11"},"modified":"2019-01-04T00:30:40.023Z"} \ No newline at end of file diff --git a/test/npm_cache/_cacache/content-v2/sha512/d0/9a/edf7b49ad59ad630957608c01609c61ecc2eb3ce20ef7f9020ae8673aa278352399dbfdb23a742d07556e1333ed74cd0f33fd00f401aa912a07a2a138d41 b/test/npm_cache/_cacache/content-v2/sha512/d0/9a/edf7b49ad59ad630957608c01609c61ecc2eb3ce20ef7f9020ae8673aa278352399dbfdb23a742d07556e1333ed74cd0f33fd00f401aa912a07a2a138d41 new file mode 100644 index 0000000000000..768c8e7f3eaf3 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha512/d0/9a/edf7b49ad59ad630957608c01609c61ecc2eb3ce20ef7f9020ae8673aa278352399dbfdb23a742d07556e1333ed74cd0f33fd00f401aa912a07a2a138d41 differ diff --git a/test/npm_cache/_cacache/content-v2/sha512/d1/ec/7bfbe036d289d705e16f7ec05b81c09a432e45e177773f0918e5acf8fd88a0b2559e35c1829ce0cb0c11ee631e15017eecbf67401b468259d52f790d1249 b/test/npm_cache/_cacache/content-v2/sha512/d1/ec/7bfbe036d289d705e16f7ec05b81c09a432e45e177773f0918e5acf8fd88a0b2559e35c1829ce0cb0c11ee631e15017eecbf67401b468259d52f790d1249 new file mode 100644 index 0000000000000..b5267ac529fd9 Binary files /dev/null and b/test/npm_cache/_cacache/content-v2/sha512/d1/ec/7bfbe036d289d705e16f7ec05b81c09a432e45e177773f0918e5acf8fd88a0b2559e35c1829ce0cb0c11ee631e15017eecbf67401b468259d52f790d1249 differ diff --git a/test/npm_cache/_cacache/index-v5/21/90/97d7c2a8081808dcd3d6fc97011bebe11fc8e308eaff2d4224c21477d1d5 b/test/npm_cache/_cacache/index-v5/21/90/97d7c2a8081808dcd3d6fc97011bebe11fc8e308eaff2d4224c21477d1d5 new file mode 100644 index 0000000000000..df676f6b2624b --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/21/90/97d7c2a8081808dcd3d6fc97011bebe11fc8e308eaff2d4224c21477d1d5 @@ -0,0 +1,2 @@ + +569a467363ea14fb1fd9b5424f767d9d07663d53 {"key":"pacote:remote-manifest:https://github.com/substack/jsonify/tarball/master:sha512-LjZI+XaDCuq6BySzgqCaamc239THVZY6T0Yvlj+eyyEcIljwB2bcOqaGZPZtOgHLJ4myz2FK6yktvrSv4LIGzA==","integrity":"sha512-C2EkHXwXvLsbrucJTRS3xFHv7Mf/y9klmKDxPTE8yevCoH5h8Ae69Y+/lP+ahpW91crnzgO78elOk2E6APJfIQ==","time":1558529593696,"size":1,"metadata":{"id":"jsonify@0.0.0","manifest":{"name":"jsonify","version":"0.0.0","dependencies":{},"optionalDependencies":{},"devDependencies":{"tap":"0.4.x","garbage":"0.0.x"},"bundleDependencies":false,"peerDependencies":{},"deprecated":false,"_resolved":"https://github.com/substack/jsonify/tarball/master","_integrity":"sha512-LjZI+XaDCuq6BySzgqCaamc239THVZY6T0Yvlj+eyyEcIljwB2bcOqaGZPZtOgHLJ4myz2FK6yktvrSv4LIGzA==","_shasum":"ee568a2b1efaeb95bec4d9e59e5301fc63339866","_shrinkwrap":null,"bin":null,"_id":"jsonify@0.0.0"},"type":"finalized-manifest"}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/2d/22/47328dfeb3a9f00c15c20ec3ebdaa0e12382c5c6badfa30fb7b376f6a580 b/test/npm_cache/_cacache/index-v5/2d/22/47328dfeb3a9f00c15c20ec3ebdaa0e12382c5c6badfa30fb7b376f6a580 new file mode 100644 index 0000000000000..4fae405743b36 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/2d/22/47328dfeb3a9f00c15c20ec3ebdaa0e12382c5c6badfa30fb7b376f6a580 @@ -0,0 +1,2 @@ + +6663f8d0b13fd1a2e2a0e4f5e13f0fcd1e1f0461 {"key":"pacote:packed-dir:git://github.com/isaacs/node-glob.git#67bda227fd7a559cca5620307c7d30a6732a792f","integrity":"sha512-0ex7++A20onXBeFvfsBbgcCaQy5F4Xd3PwkY5az4/YigslWeNcGCnODLDBHuYx4VAX7sv2dAG0aCWdUveQ0SSQ==","time":1558529588624,"size":27637} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/61/41/453946604fdfa210a19eb38d07610e8ad7007ffc3f0f3b25da20b9af281d b/test/npm_cache/_cacache/index-v5/61/41/453946604fdfa210a19eb38d07610e8ad7007ffc3f0f3b25da20b9af281d new file mode 100644 index 0000000000000..ff0918f962f91 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/61/41/453946604fdfa210a19eb38d07610e8ad7007ffc3f0f3b25da20b9af281d @@ -0,0 +1,2 @@ + +d2218a1a24882f856cd6f4d0cd23c52f72843469 {"key":"pacote:git-manifest:git://github.com/isaacs/node-glob.git#67bda227fd7a559cca5620307c7d30a6732a792f","integrity":"sha512-C2EkHXwXvLsbrucJTRS3xFHv7Mf/y9klmKDxPTE8yevCoH5h8Ae69Y+/lP+ahpW91crnzgO78elOk2E6APJfIQ==","time":1558529588625,"size":1,"metadata":{"id":"glob@3.1.5","manifest":{"name":"glob","version":"3.1.5","engines":{"node":"*"},"dependencies":{"minimatch":"0.2","graceful-fs":"~1.1.2","inherits":"1"},"optionalDependencies":{},"devDependencies":{"tap":"~0.2.3","mkdirp":"0","rimraf":"1"},"bundleDependencies":["minimatch"],"peerDependencies":{},"deprecated":false,"_resolved":"git://github.com/isaacs/node-glob.git#67bda227fd7a559cca5620307c7d30a6732a792f","_integrity":null,"_shasum":null,"_shrinkwrap":null,"bin":null,"_id":"glob@3.1.5"},"type":"finalized-manifest"}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/89/eb/a7a81ab3eeec3076546f7e1fce3892c4e717a9379d4ad43a7111b5dc8cc2 b/test/npm_cache/_cacache/index-v5/89/eb/a7a81ab3eeec3076546f7e1fce3892c4e717a9379d4ad43a7111b5dc8cc2 new file mode 100644 index 0000000000000..0faef62b0394b --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/89/eb/a7a81ab3eeec3076546f7e1fce3892c4e717a9379d4ad43a7111b5dc8cc2 @@ -0,0 +1,3 @@ + +fc74cc9783de108ec5c5ca86fb213eee9839ecfe {"key":"pacote:packed-dir:git://github.com/isaacs/canonical-host.git#7d5ad6eda4ca2948f890b1d8169bc1029bf62364","integrity":"sha512-VaPLKRGy6EIVpdk8hUOLrI92zfYFpOu4vMRaYVoXjsSY5ABtiwXnVp09xG3rBKhcwiaYfzL2q86o1EJ8Oq1Q6w==","time":1558529601371,"size":5787} +eccf825fcc77ecdf849302306d405840f4f3ff56 {"key":"pacote:packed-dir:git://github.com/isaacs/canonical-host.git#7d5ad6eda4ca2948f890b1d8169bc1029bf62364","integrity":"sha512-VaPLKRGy6EIVpdk8hUOLrI92zfYFpOu4vMRaYVoXjsSY5ABtiwXnVp09xG3rBKhcwiaYfzL2q86o1EJ8Oq1Q6w==","time":1558529608331,"size":5787} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/93/4e/425c049345ed549becd9e42f3ca7ad942331f73dd73c3e6f5549e910679b b/test/npm_cache/_cacache/index-v5/93/4e/425c049345ed549becd9e42f3ca7ad942331f73dd73c3e6f5549e910679b new file mode 100644 index 0000000000000..fa10329dcc330 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/93/4e/425c049345ed549becd9e42f3ca7ad942331f73dd73c3e6f5549e910679b @@ -0,0 +1,3 @@ + +9f8f343084f44b0596c2aa860b25533c760e5163 {"key":"make-fetch-happen:request-cache:https://codeload.github.com/substack/jsonify/legacy.tar.gz/master","integrity":"sha1-7laKKx7665W+xNnlnlMB/GMzmGY=","time":1558529593688,"size":4733,"metadata":{"url":"https://codeload.github.com/substack/jsonify/legacy.tar.gz/master","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["fb2662bf39cf2a91"],"pacote-pkg-id":["registry:undefined@https://github.com/substack/jsonify/tarball/master"],"pacote-req-type":["tarball"],"referer":["install [REDACTED]"]},"resHeaders":{"transfer-encoding":["chunked"],"access-control-allow-origin":["https://render.githubusercontent.com"],"content-security-policy":["default-src 'none'; style-src 'unsafe-inline'; sandbox"],"strict-transport-security":["max-age=31536000"],"vary":["Authorization,Accept-Encoding"],"x-content-type-options":["nosniff"],"x-frame-options":["deny"],"x-xss-protection":["1; mode=block"],"etag":["\"7064ab53e5f73fa31e2ce7aa47d210c539662f16\""],"content-type":["application/x-gzip"],"content-disposition":["attachment; filename=substack-jsonify-7064ab5.tar.gz"],"x-geo-block-list":[""],"date":["Wed, 22 May 2019 12:53:13 GMT"],"x-github-request-id":["A8EE:59B6:88D23:11445B:5CE54639"],"x-fetch-attempts":["1"]}}} +d7bd9b0771d618ad4327d5dd0db3944cb5454653 {"key":"make-fetch-happen:request-cache:https://codeload.github.com/substack/jsonify/legacy.tar.gz/master","integrity":"sha512-LjZI+XaDCuq6BySzgqCaamc239THVZY6T0Yvlj+eyyEcIljwB2bcOqaGZPZtOgHLJ4myz2FK6yktvrSv4LIGzA==","time":1558529611135,"size":4733,"metadata":{"url":"https://codeload.github.com/substack/jsonify/legacy.tar.gz/master","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["fb2662bf39cf2a91"],"pacote-pkg-id":["registry:undefined@https://github.com/substack/jsonify/tarball/master"],"pacote-req-type":["tarball"],"referer":["install [REDACTED]"]},"resHeaders":{"transfer-encoding":["chunked"],"access-control-allow-origin":["https://render.githubusercontent.com"],"content-security-policy":["default-src 'none'; style-src 'unsafe-inline'; sandbox"],"strict-transport-security":["max-age=31536000"],"vary":["Authorization,Accept-Encoding"],"x-content-type-options":["nosniff"],"x-frame-options":["deny"],"x-xss-protection":["1; mode=block"],"etag":["\"7064ab53e5f73fa31e2ce7aa47d210c539662f16\""],"content-type":["application/x-gzip"],"content-disposition":["attachment; filename=substack-jsonify-7064ab5.tar.gz"],"x-geo-block-list":[""],"date":["Wed, 22 May 2019 12:53:31 GMT"],"x-github-request-id":["A8F6:5062:21CFCE:3FC7B9:5CE5464B"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/9b/03/54636aae9cb55a079d1cc7f9caf4f3e654df7abd1fc8279dde9f935c76aa b/test/npm_cache/_cacache/index-v5/9b/03/54636aae9cb55a079d1cc7f9caf4f3e654df7abd1fc8279dde9f935c76aa new file mode 100644 index 0000000000000..0b8aac624854f --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/9b/03/54636aae9cb55a079d1cc7f9caf4f3e654df7abd1fc8279dde9f935c76aa @@ -0,0 +1,2 @@ + +90e7fd72e02b0d88a201adf21dee3a1c11bb1e7e {"key":"make-fetch-happen:request-cache:http://localhost:1337/-/whoami","integrity":"sha512-ffpdvFaxF0A84UCiK1atrQsMrxXM3FJJvKA2Cr3C+rOBAJA6beVPP4WXdGEzcy1kWQZqRsXPfIO7Xu0IyAYZcw==","time":1558529624275,"size":21,"metadata":{"url":"http://localhost:1337/-/whoami","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["7c3c1fd40ca86e8f"],"referer":["whoami"],"authorization":["Bearer wombat-developers-union"]},"resHeaders":{"content-type":["application/json"],"date":["Wed, 22 May 2019 12:53:44 GMT"],"connection":["keep-alive"],"transfer-encoding":["chunked"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/b7/1c/f06201305985169fc251111ddb9fa636ef144ff9fad15784c1e9620b0dac b/test/npm_cache/_cacache/index-v5/b7/1c/f06201305985169fc251111ddb9fa636ef144ff9fad15784c1e9620b0dac new file mode 100644 index 0000000000000..d12fafc8da182 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/b7/1c/f06201305985169fc251111ddb9fa636ef144ff9fad15784c1e9620b0dac @@ -0,0 +1,2 @@ + +88e96e8746d41fe6775255d98c6834a09fcf2136 {"key":"pacote:range-manifest:https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz:sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=","integrity":"sha512-C2EkHXwXvLsbrucJTRS3xFHv7Mf/y9klmKDxPTE8yevCoH5h8Ae69Y+/lP+ahpW91crnzgO78elOk2E6APJfIQ==","time":1558529589471,"size":1,"metadata":{"id":"inherits@1.0.2","manifest":{"name":"inherits","version":"1.0.2","dependencies":{},"optionalDependencies":{},"devDependencies":{},"bundleDependencies":false,"peerDependencies":{},"deprecated":false,"_resolved":"https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz","_integrity":"sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=","_shasum":"ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b","_shrinkwrap":null,"bin":null,"_id":"inherits@1.0.2"},"type":"finalized-manifest"}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/b8/16/bf6e49afbd1323783f2f5a63b3d871adc66f517669450807aec3b62e71b2 b/test/npm_cache/_cacache/index-v5/b8/16/bf6e49afbd1323783f2f5a63b3d871adc66f517669450807aec3b62e71b2 new file mode 100644 index 0000000000000..94abfb38ce6fd --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/b8/16/bf6e49afbd1323783f2f5a63b3d871adc66f517669450807aec3b62e71b2 @@ -0,0 +1,2 @@ + +4d69bac991b667e1a5004e3626e1aa3b40390b0d {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz","integrity":"sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=","time":1558529589607,"size":1519,"metadata":{"url":"https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["cbe86d0bebd8e092"],"referer":["install [REDACTED]"],"pacote-req-type":["tarball"],"pacote-pkg-id":["registry:inherits@https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz"],"authorization":["Basic dXNlcm5hbWU6cGFzc3dvcmQ="]},"resHeaders":{"date":["Wed, 22 May 2019 12:53:09 GMT"],"content-type":["application/octet-stream"],"content-length":["1519"],"connection":["keep-alive"],"set-cookie":["__cfduid=dfa024e90eaf146937b638444b9c027ec1558529589; expires=Thu, 21-May-20 12:53:09 GMT; path=/; domain=.registry.npmjs.org; HttpOnly"],"cf-cache-status":["HIT"],"cache-control":["max-age=432000"],"cf-ray":["4daeee710d4d7604-ARN"],"accept-ranges":["bytes"],"etag":["\"54a4d8823795a0d30b28479c10e3d486\""],"expect-ct":["max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""],"last-modified":["Sun, 27 May 2018 04:40:10 GMT"],"vary":["Accept-Encoding"],"server":["cloudflare"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/be/6a/458105f31e845d57376ed2b2019e46a63cff8cbb76981a37eac2100c8e55 b/test/npm_cache/_cacache/index-v5/be/6a/458105f31e845d57376ed2b2019e46a63cff8cbb76981a37eac2100c8e55 new file mode 100644 index 0000000000000..35f0e70f5948d --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/be/6a/458105f31e845d57376ed2b2019e46a63cff8cbb76981a37eac2100c8e55 @@ -0,0 +1,3 @@ + +d7c87936ca675486b86bc57df6f96c570d82d271 {"key":"pacote:packed-dir:github:isaacs/sax-js#5aee2163d55cff24b817bbf550bac44841f9df45","integrity":"sha512-0Jrt97Sa1ZrWMJV2CMAWCcYezC6zziDvf5AgroZzqieDUjmdv9sjp0LQdVbhMz7XTNDzP9APQBqpEqB6KhONQQ==","time":1558529607534,"size":15106} +d04d5852522f42319b25f53e2d680d09e1ea679d {"key":"pacote:packed-dir:github:isaacs/sax-js#5aee2163d55cff24b817bbf550bac44841f9df45","integrity":"sha512-0Jrt97Sa1ZrWMJV2CMAWCcYezC6zziDvf5AgroZzqieDUjmdv9sjp0LQdVbhMz7XTNDzP9APQBqpEqB6KhONQQ==","time":1558529619044,"size":15106} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/cf/e4/3df81895eebe708ef970bd1392d702e19e29ee41c85a315fd7e717f8373c b/test/npm_cache/_cacache/index-v5/cf/e4/3df81895eebe708ef970bd1392d702e19e29ee41c85a315fd7e717f8373c new file mode 100644 index 0000000000000..222bf72f29f19 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/cf/e4/3df81895eebe708ef970bd1392d702e19e29ee41c85a315fd7e717f8373c @@ -0,0 +1,2 @@ + +7f6a71a3dcdae2ff38192fa82d7fc3dc7256fc8a {"key":"pacote:range-manifest:https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz:sha1-BweNtfY3f2Mh/Oqu30l94STclGU=","integrity":"sha512-C2EkHXwXvLsbrucJTRS3xFHv7Mf/y9klmKDxPTE8yevCoH5h8Ae69Y+/lP+ahpW91crnzgO78elOk2E6APJfIQ==","time":1558529589518,"size":1,"metadata":{"id":"graceful-fs@1.1.14","manifest":{"name":"graceful-fs","version":"1.1.14","engines":{"node":">=0.4.0"},"dependencies":{},"optionalDependencies":{},"devDependencies":{},"bundleDependencies":false,"peerDependencies":{},"deprecated":"please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js","_resolved":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz","_integrity":"sha1-BweNtfY3f2Mh/Oqu30l94STclGU=","_shasum":"07078db5f6377f6321fceaaedf497de124dc9465","_shrinkwrap":null,"bin":null,"_id":"graceful-fs@1.1.14"},"type":"finalized-manifest"}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/d0/a2/9b5933a9df317b031c4407f0d9cae19a4d56f253f7746786597a52daa76d b/test/npm_cache/_cacache/index-v5/d0/a2/9b5933a9df317b031c4407f0d9cae19a4d56f253f7746786597a52daa76d new file mode 100644 index 0000000000000..85d4dbce95e78 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/d0/a2/9b5933a9df317b031c4407f0d9cae19a4d56f253f7746786597a52daa76d @@ -0,0 +1,2 @@ + +f705ca7b007baa2dbdb2f30ee1bbbfc29bc40fa6 {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/graceful-fs","integrity":"sha512-rzKbSdpDOrE5owQ/IE19ebrdvglPa2HL09o3TdT7g4zRtwheVyN+H9AoRuCEMMkrjmBAIy7X51hySaV3chT85g==","time":1558529589472,"size":24382,"metadata":{"url":"https://registry.npmjs.org/graceful-fs","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["cbe86d0bebd8e092"],"referer":["install [REDACTED]"],"pacote-req-type":["packument"],"pacote-pkg-id":["registry:graceful-fs"],"accept":["application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"],"authorization":["Basic dXNlcm5hbWU6cGFzc3dvcmQ="]},"resHeaders":{"date":["Wed, 22 May 2019 12:53:09 GMT"],"content-type":["application/vnd.npm.install-v1+json"],"content-length":["24382"],"connection":["keep-alive"],"set-cookie":["__cfduid=dfa024e90eaf146937b638444b9c027ec1558529589; expires=Thu, 21-May-20 12:53:09 GMT; path=/; domain=.registry.npmjs.org; HttpOnly"],"cf-cache-status":["HIT"],"cache-control":["max-age=300"],"cf-ray":["4daeee701c577604-ARN"],"accept-ranges":["bytes"],"etag":["\"e8c21a1716f338ea27890ded4d47633a\""],"expect-ct":["max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""],"last-modified":["Fri, 04 Jan 2019 00:30:41 GMT"],"vary":["accept-encoding, accept"],"x-amz-meta-rev":["205-3d32a6d158bd573a1b428659afcb33cd"],"server":["cloudflare"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/fe/7e/e4d136986019ebc5360c54baee7ae9bec37f513387665b57ac2bcd167b70 b/test/npm_cache/_cacache/index-v5/fe/7e/e4d136986019ebc5360c54baee7ae9bec37f513387665b57ac2bcd167b70 new file mode 100644 index 0000000000000..d67e5029db502 --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/fe/7e/e4d136986019ebc5360c54baee7ae9bec37f513387665b57ac2bcd167b70 @@ -0,0 +1,2 @@ + +2d537648cf8f192a5df71abbd46f5ef161ce2e22 {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz","integrity":"sha1-BweNtfY3f2Mh/Oqu30l94STclGU=","time":1558529589514,"size":4025,"metadata":{"url":"https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["cbe86d0bebd8e092"],"referer":["install [REDACTED]"],"pacote-req-type":["tarball"],"pacote-pkg-id":["registry:graceful-fs@https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.14.tgz"],"authorization":["Basic dXNlcm5hbWU6cGFzc3dvcmQ="]},"resHeaders":{"date":["Wed, 22 May 2019 12:53:09 GMT"],"content-type":["application/octet-stream"],"content-length":["4025"],"connection":["keep-alive"],"set-cookie":["__cfduid=da5e36cf875d3903b79f7ea1d5ee365ae1558529589; expires=Thu, 21-May-20 12:53:09 GMT; path=/; domain=.registry.npmjs.org; HttpOnly"],"cf-cache-status":["HIT"],"cache-control":["max-age=432000"],"cf-ray":["4daeee708f5386ef-ARN"],"accept-ranges":["bytes"],"etag":["\"fb46c820a063a666be04b2c416d51b29\""],"expect-ct":["max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""],"last-modified":["Sun, 27 May 2018 02:39:27 GMT"],"vary":["Accept-Encoding"],"server":["cloudflare"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/_cacache/index-v5/ff/d3/eca629ba696cac5a91e13f61bb768d7cbf82072f798d17071572ab3943f2 b/test/npm_cache/_cacache/index-v5/ff/d3/eca629ba696cac5a91e13f61bb768d7cbf82072f798d17071572ab3943f2 new file mode 100644 index 0000000000000..05da3a7f14abd --- /dev/null +++ b/test/npm_cache/_cacache/index-v5/ff/d3/eca629ba696cac5a91e13f61bb768d7cbf82072f798d17071572ab3943f2 @@ -0,0 +1,2 @@ + +8a0edf69f050ae5ef0acd49269ee3c2ae052c859 {"key":"make-fetch-happen:request-cache:https://registry.npmjs.org/inherits","integrity":"sha512-IYLqxPg+UPO2qovqVhxd/r3B1mlB4tp4WvQG4EXeVqD8QiA0yn+iq1+pkCLGuGAgPrSFPOhfFfJrlshLjZ5zIA==","time":1558529589462,"size":1494,"metadata":{"url":"https://registry.npmjs.org/inherits","reqHeaders":{"connection":["keep-alive"],"user-agent":["npm/6.9.0 node/v12.2.0 linux x64"],"npm-in-ci":["false"],"npm-scope":[""],"npm-session":["cbe86d0bebd8e092"],"referer":["install [REDACTED]"],"pacote-req-type":["packument"],"pacote-pkg-id":["registry:inherits"],"accept":["application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"],"authorization":["Basic dXNlcm5hbWU6cGFzc3dvcmQ="]},"resHeaders":{"date":["Wed, 22 May 2019 12:53:09 GMT"],"content-type":["application/vnd.npm.install-v1+json"],"content-length":["1494"],"connection":["keep-alive"],"set-cookie":["__cfduid=da5e36cf875d3903b79f7ea1d5ee365ae1558529589; expires=Thu, 21-May-20 12:53:09 GMT; path=/; domain=.registry.npmjs.org; HttpOnly"],"cf-cache-status":["HIT"],"cache-control":["max-age=300"],"cf-ray":["4daeee701f0c86ef-ARN"],"accept-ranges":["bytes"],"etag":["\"419f7e0699d401599186150793ffd002\""],"expect-ct":["max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""],"last-modified":["Fri, 03 Aug 2018 00:38:04 GMT"],"vary":["accept-encoding, accept"],"server":["cloudflare"],"x-fetch-attempts":["1"]}}} \ No newline at end of file diff --git a/test/npm_cache/anonymous-cli-metrics.json b/test/npm_cache/anonymous-cli-metrics.json new file mode 100644 index 0000000000000..dadc943bc9505 --- /dev/null +++ b/test/npm_cache/anonymous-cli-metrics.json @@ -0,0 +1 @@ +{"metricId":"d39b1c2c-e6ff-46cf-9651-ebcc2eab50da","metrics":{"from":"2019-05-22T12:53:09.760Z","to":"2019-05-22T12:53:39.112Z","successfulInstalls":3,"failedInstalls":0}} \ No newline at end of file