{"_id":"recursive-readdir-async","_rev":"20-551e6ac4f26e94d719000e64a106fe4a","name":"recursive-readdir-async","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"recursive-readdir-async","version":"1.0.0","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","license":"MIT","devDependencies":{"fs-extra":"^5.0.0","mocha":"^5.0.0","nyc":"^11.4.1"},"gitHead":"8edef6a17fbcf216912ce017bcd67a6d4935dd1d","_id":"recursive-readdir-async@1.0.0","_shasum":"243b6507b856f3ccbfd7f60ffe1d00e7103fe58f","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"dist":{"shasum":"243b6507b856f3ccbfd7f60ffe1d00e7103fe58f","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.0.0.tgz","fileCount":4,"unpackedSize":12011,"integrity":"sha512-XTZVH0PwY3HTr7q4jo3+jrbsPlje+OwwX5576sV87b7McDqkupo0S3Yoe9kbU0lY4qwjAM7fJKpiqsZqE5QQvQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1hnuaKW4UzyywYlz+RsEcYVu8Zdtq5V8AzC1xwuN5ewIhALJanclNGOXJTXGMqAert3ikEELOfPtJCTu/tkwMGeE/"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.0.0_1518301204010_0.24513911075789396"},"_hasShrinkwrap":false},"1.0.1":{"name":"recursive-readdir-async","version":"1.0.1","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^5.0.0","mocha":"^5.0.0","nyc":"^11.4.1"},"gitHead":"cf42a1d6d5a2d12dca99e4cb09105b8e6bb3f009","_id":"recursive-readdir-async@1.0.1","_shasum":"9094103991ad1b7a7d067a60aaad4521ee6fe8be","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.9.0","_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"dist":{"shasum":"9094103991ad1b7a7d067a60aaad4521ee6fe8be","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.0.1.tgz","fileCount":5,"unpackedSize":13275,"integrity":"sha512-b6opFwUF29I81dd0wTiize6Yguq6Iu6+7PlR52svR25RjrPLYZXFE4YbXLG9j6LGYaD4hfUblmAXkAiJoi+xvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHxpSNUwhtsuJ3LAffwFSLLf3oMITDk2h9zTWjWpbhpFAiA4VraC7XYtV5sGGu2NbSBy503FLq1jdrEyzzco5cwrdw=="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.0.1_1518388800991_0.666891641106018"},"_hasShrinkwrap":false},"1.0.2":{"name":"recursive-readdir-async","version":"1.0.2","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.min.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","build":"uglifyjs --compress --mangle -- module.js > module.min.js"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^5.0.0","mocha":"^5.0.0","nyc":"^11.4.1","uglify-es":"^3.3.10"},"gitHead":"f87978d35a3de6b33a90350b32901f715ae944f7","_id":"recursive-readdir-async@1.0.2","_shasum":"ceadcaa092e01b6e88b06af2a5e13b299c1be473","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"dist":{"shasum":"ceadcaa092e01b6e88b06af2a5e13b299c1be473","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.0.2.tgz","fileCount":5,"unpackedSize":10187,"integrity":"sha512-WiAh31TsaXP/m3ahY5CbUp/Zp5X68p8wiGokk2NIf9ScenQgYE3MOVOpAsb/zrONgeFIFDLHqhpZ/fRVk653ug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGy1Hmyqdm+QWYDUzxtUYCdGhJ1VwVwImHurtsLFuvemAiATYXHBuYhuLWIe8mS5vP0TmtCpgtf/NeNhkfHRB+zmIQ=="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.0.2_1518644660068_0.9255167695405628"},"_hasShrinkwrap":false},"1.0.3":{"name":"recursive-readdir-async","version":"1.0.3","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.min.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^5.0.0","mocha":"^5.0.0","nyc":"^11.4.1","uglify-es":"^3.3.10"},"gitHead":"9badb3fc723ed2d7a10caf053d47c301ff0a6894","_id":"recursive-readdir-async@1.0.3","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-vaac+MlJUJH7RqY31SsG6sOgIVsHwr3taCC82Y8SnHuwpKY8cHsSV/cY+xWt/3uKlKMX/SoY6h9s5wftY/hRlQ==","shasum":"6ecd950a39e6ff2aa22917fdb3031eb17732682a","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.0.3.tgz","fileCount":5,"unpackedSize":11572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcX0HaCRA9TVsSAnZWagAAoNwP/1X3JStEh3F17/rkwuB9\nXD3yTpctNJyR3P5T/bHk2AbqdhWegSgtYYKW85cNa+5HQpugpRNZewg9bysq\nZ1h/jgO0F0trOtn5Ah1ot0wOs9TY0e+M8yDHlDU71rXQ8kjqb9n96cLaghaC\noiaXGlS5QZBWPkeF+OfNUiJYWRdJNckkfoQ/2PlHR8i2x5ckO9/9fS65WErE\nf9cohNEDRr9auyN5mBgdOhd2vSfqOYqdb/WuPjBbSp+iPwosLvtUou7D5Yyz\nZHv8qtkbA0RZkYckPNxTTNinZzx+w6chpWKxlexalDPbyHaMZcZ3P/RFr55Z\nwmvUOpzrYtYRwJRLmbmJFUBW/KAbmqap7UDBnM66rDW8RhvY9lNZm97N4rlB\nW+8pC+admmLjDnehal5l3woGxzAo/lbHh0i6xFN6gRXFF/v7asBxuGJKo/dx\nHCV+j0IASMdaX6QK8DMD+OWJ+uxFS0h67P0Jdr/4j7iDJFFbxuZ8iTU9PG3q\nmjUr5S04kSqnp3wR/wLHEXurGMUiB6wrEMmi7zLIQMKxCjisnHFQG71ORfO4\nXdJxBww+0ozWzPQjEsYCPl/2xNoQkZxz4+fm8z+oKJMKcgC5vr5xvttjw7aU\nKl4LqEkEW4zDWBAJ6COSrkmqPm9xxr4ckB+7UneYPxmqwz++cadvMdXcPPbo\nghhC\r\n=oOVn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGljJltkEfMzM6F33ob7bvBwtlnul55KA1qFkFR9HUw6AiBh4f5ZKjZ4SW4iDC7B2GUxf5jL+MdGq/EAy8CczKaK6g=="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.0.3_1549746650343_0.19200371471817812"},"_hasShrinkwrap":false},"1.1.0":{"name":"recursive-readdir-async","version":"1.1.0","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.min.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^7.0.0","mocha":"^5.2.0","nyc":"^13.3.0","uglify-es":"^3.3.10"},"gitHead":"7e1786faed19574c0550ddfd4ca7dce17af2ff45","_id":"recursive-readdir-async@1.1.0","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-KqGbVBdbmPhuUtlQVweuw26kbszQ/YKdQo6At5xo0Rj1EWgUkZZ49H5R8Fapt+V8ehZhOgTRqOuy/tp2XrQyEQ==","shasum":"27d35fc13930692eb0f15452488073f92af3ab85","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.0.tgz","fileCount":5,"unpackedSize":14644,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfwJLCRA9TVsSAnZWagAAEbkP/1+nSrOATAvj6x/uvZPG\nxRocGhxc76k0fxn2yL5W9FvZYRidqiEu4uCK9+XsbgPtDcYYajWdA7f40Rta\nA/FvZgZPJMg+jI7M31el7f4ipfhArvkPgm3X4o9iT0BJZZiyVvlmcB7xITSY\n0PdM4u20OctuyL25l01daVPIthcgfX8A1p73USDyUeDLAFedVO4nnKNPFIS+\nugTYmgLxCscThu62cnY3x4ADtOpWONfoKqmrJd8bcZZ+YdfFGkay85NoMCt1\nHuuEyNSg+oxBTJRr8ht2HuevIKVMQQOXeN9PUn9bKi/ZxacntaZtOkQo515m\nOsKdVgCeIJ1Rn8ZU1XGiJlp+dzwHHLk0rLBhvQfBV/dEJBz2MGmofNSD8hn9\n39ZGsR1lA1VX/mZ/HyxD4HrFWN9RqPOgf5Xtznbfhbgappbeaqun29Zj2+Xo\nbuVKkpWagDLCwN1Xqc0aTXtRyzA2RVg+mn8c5dP8P/bfODjHYOIs20mG9Yuv\nfWE3EZ8S8YIIHCtju9sqpatNHyA1mF4e3+m9osbNzoHSbkcpOc1IuKCKyTJh\nqn9doQfzptUfjc0xDi9H5/jeGSejcBEm8JdLWuc5STENkMy/PuDeXLJ6Cp0E\neY2+VMRtTLl/3PLHGccsgLOWRfq0jDwisC4JaVrU9wLhKPmwOHSggW0zM5Ag\nTgqM\r\n=55Z6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCx02Q3qKAAe8Pn2WF8Cc+/UK1SUARldo+JlVh+rYuMSgIhAJy0N3Lmeo/NCpuHSYr4/UUI8rYlWK4n0bv+LUnetFPR"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.0_1551827530649_0.3691466989891281"},"_hasShrinkwrap":false},"1.1.1":{"name":"recursive-readdir-async","version":"1.1.1","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.min.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","fs-extra":"^7.0.0","mocha":"^5.2.0","nyc":"^13.3.0","uglify-es":"^3.3.10"},"gitHead":"089a9244ba448fd5b85239b3e53c677cfbae4678","_id":"recursive-readdir-async@1.1.1","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-S1NQXIbYzw2tLLqLCflxz5mOxnRVKBFu71affien1JrBJbqss0kyPpKW6qEbLegEbKSgZULpBklFIitwBaYEsA==","shasum":"74ad85d6c18a9f800f083fa1282314de206c95ef","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.1.tgz","fileCount":7,"unpackedSize":15831,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgZvQCRA9TVsSAnZWagAAmHkP/3CD7/33NQD0wkcu5kXo\nL+tY498w7fy/5ogFAL5dheiW26m8+Bua6d0oI9bl3FDtFpwslYlJ5FIgOa3F\n8LY+umrs2LpgqfJUzZA32ucJF7eYtGCMQjoiy4hcC8s22MmWHpOL7thiLK6K\njbR/too5F0sWEVfcfAEsRI2i7Pof2IkBpM9tOI1OPn7VQreroGgtwYytnNFQ\nj6MtK8RapOS2MsWspZnd5wPaFAVZzi5X7SPx6fB598G+bF//xb8FncouoWVe\n11OkBuJ+vNJiBHOzKLUw0ZJQSf76PJCvhDGnFpuCkA3kg5eUPC0+JGFBscq0\nixWaUp9HmQPkbtw2M7gkQWZdM4klJAoLhOxBnd+GaJXOn/DS3G31no3/gFxN\nHzSdkYkoYMPiIUInt1a4fufyUbI0DVH3+D6M6BmNnBcT95CPdj4o/rRHM0Xs\nteeUAMVgjOd0eLtzxHxiyzK8k/flMpebVL0xQ6thqaaJDKPrS6mvasrepK25\nwZ8ptK2lGlDsuyjgng8uZjPLWcSa8qzEl3vTqpj5mIE9pjIhA8pvYaNFMClO\nj+l/FDoZWeO8FYy0hjT5/ePcO1roNTCBT1VqNYOCyEBUkAdprpzs701J6c3U\nLJTe/mfCfN3GpMG0/Tcs8hoUFYYx1fPpL6+lnvjhVm05Jw56gN14sEiwASyE\nZPpo\r\n=XIFJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvHAaS7eqh1tRhwXdvECIxLnh1EgX9Le591Pch76LJwwIhAJlHu++PNjLTz2uiI5a99w5bkOAYBH3D9NbJyaBOp2dz"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.1_1551997902736_0.14626946905949123"},"_hasShrinkwrap":false},"1.1.2":{"name":"recursive-readdir-async","version":"1.1.2","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","fs-extra":"^7.0.0","mocha":"^5.2.0","nyc":"^13.3.0","uglify-es":"^3.3.10"},"gitHead":"6f6199edd505d7eb252920c4b2006ef6e7724e9f","_id":"recursive-readdir-async@1.1.2","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-s7zXM8bcFLPxETsxE/CKuu/P2nLbL/ftWUH/Xofk6LLqolsLWHeaWa9R8oebSejNPspPFdVhejoxxr9tPffhRw==","shasum":"5e7cd80e253c84044a80c0985487b781ed2527d7","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.2.tgz","fileCount":8,"unpackedSize":24252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgmGvCRA9TVsSAnZWagAAPKkP/0zrCcu860fGQXxlA5RB\nDwnSdTdlyNRgqyCUKAQ8uDT1XWo4tU0IExuJWMzT+EilSOOro5C+2fLdrk4G\nIeyogrvcbuJ8mrhE9bxPLZHjxzLHRaiIA9Hn3DzHg7sZKlwZ1ebpJqGaJkwR\nq3wh6ijNx9pcJoSUhxo5vj7LBQVORQOXWTlrgwDoU/ie/AD3UTSLiXB7Aua0\nQnLEfk6yQ7ktRpwLg3DmRaY83m0aPy/4AXAK80I6qYkFBbIWjzdyHSIiBgEL\nshSGCuwtm1yYYOa0Z+6699bft6l7YguvmgUdLljHAEj1QW50Sb2+0yyGE9nT\nCV9ogdFg4qHFloyTEPViaJlF8T3hNya7PZpCb8NBHAOdad5CsRBU7XJ166l5\ncVaUql0QrvkD45dt558TiQNk97A2eN1vk2sLvGm30aviuBn3dZRPkxC+5NO0\nlluodosDiFLw/v5S4aWXTWuyyPQtS1byZ214PdCeqmsz4TILuuwFFvUClJwO\ndbzELEM0ry8omb7N7buTxZU3KuISdVdZ9/a7DVRZf4QjTf7iBgRAvE9xFbxR\nB70hDCAwgttEJTItiSfy+Jf0AwK8abDg8EuLI9IJKw4gewLiq8GbgkEHdmtX\nwTAxAMczFAZxStQsh8BXCDFaRsxkZCyofSx/W4AffVKQMxDIvtBEwlifgX+2\nRf9P\r\n=79aU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDFpeSfZcIL1iZqib0pe/jKuMA5fNsy53HWvnmqLVQzSQIhAKnMSZmZZ6EuZ33zUlAngxJPJ6EHs/TZIEb19g9sZjJS"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.2_1552048558925_0.7002347834001499"},"_hasShrinkwrap":false},"1.1.3":{"name":"recursive-readdir-async","version":"1.1.3","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","fs-extra":"^7.0.0","mocha":"^5.2.0","nyc":"^13.3.0","uglify-es":"^3.3.10"},"gitHead":"142f56fa0e79ebeb04ceed661e80995918515112","_id":"recursive-readdir-async@1.1.3","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-ld5ZwFQ+WxZfpn+Lw9vjyhBiYG8nfljDiEYIhyhLiFdP5QhGlMYY8La9PvkRcqSkcm7Rv7vmkHUCimgKbZdsNQ==","shasum":"cff622bc8b533d93ada4ec06085d149f83869d11","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.3.tgz","fileCount":5,"unpackedSize":24089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcgvvmCRA9TVsSAnZWagAA5MwP/RJhWXIKWScZsE5KZUB0\nWQLze8+ZY/IRPnQ0X5EjRo5sasDauNYr1pl+8QZHKs7D88tm6Ay/SPosjOKe\nU0kU5EnuOLbPqPTZ6eW/kBmfcDSLYBGmT6WPp7TEiUf1+/SXXDkzcInT7qVy\nSe6fZE89UYB0PrWgXWkKFDXfJgnLfxBLp1TILtXHaSlF++l4ozafO1XsvkWd\nwccsnGdYDN+c7++Xj7hY2Eq79P0dv6DNc4sMxFRG3TlV4IuhzWNCok8MPf5x\n2OC8B2xXTZDiBQsSVozIi2azv8LIFn6+p3J84y0kabQC5PWyNji58uAmAU9R\n+EZ2W+Cs39pehFsRmduPLdTFBStI7iIcTVaWUSkML9DjMQ5cPT8UhvumXGu8\nR11p3T/pcwxYTXD0a1LU+n7pp5+5TPQTTRwZrvvtACJD44j7uA0VEoU/YBd9\n2SrB9HUz5CHKN/D4Dz4/Z97dGVf6IhrjS67vuMg64t6pBQ70zf2C7VYHezlG\nRb5ViXNyeB+vg2PVKbnJPQ8a/Ou3aVvOK8qthAJ5a1hpRO+iNCuRfOog1rKi\n0r/w0jO13867EDR5XJryPuCOGIJ1VpUcI7KIG8hYODO9lHd9kaeRoAH0Io3N\noxNUCsa6zDHgAnnkDGEH1vIHg46GxrpmoKv49xhr+JcdqkbpqCCyLt4IHtL7\nvL75\r\n=MKOb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8vqyTz4rPN7Yfn6osqHjFYzf+aDWcZdGYajPj09htGAiEAnGs1L8K8CWEMpRerS2OBcm1FD8wWgvX7/Op2P5V7SX8="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.3_1552088038320_0.5231821318138514"},"_hasShrinkwrap":false},"1.1.4":{"name":"recursive-readdir-async","version":"1.1.4","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","fs-extra":"^7.0.0","jsdoc":"^3.6.2","mocha":"^5.2.0","nyc":"^14.1.1","uglify-es":"^3.3.10"},"gitHead":"493b07d95e650a81f114c72457868d223f71d92c","_id":"recursive-readdir-async@1.1.4","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-1EPOxkBUm1HSe5UYDxfmBDuVNeebQHfWIHj5Umj1vd1AWXxzXgedla7YR83JWLMebepPZPEs5QpG79XKysIslw==","shasum":"43a996b2bb2dabf43e32eda56d067fe1c0f466d0","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.4.tgz","fileCount":5,"unpackedSize":27969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdB/M3CRA9TVsSAnZWagAA9i4P/ReQY7qGBr5DRDVnmqmp\nAQX6JLQ05QVZ4HuFQ/yRMzBQ6kfSHPmwO00o9IqdMg80uAWWYbmUeTQ3AR2P\nLFz6GHzCUxB/gusnpGWd1zegsdXyUBviqbkhunwQnKG5djLhabY0jVS2nwPU\nlRYF96NYUCH+U8uI0U2TJAiKGdYkmTCNU4tGaLGra3TRxjn6m3sYhFCp/Gv4\nEJXPKHtRZOZ491RF9FbgBWZ1PW7K8CK9Le9bhfc1APp0zaQ/s0Ma/4pleG7Z\nBPlH+t8/78UgfSeJAZej+WCJKnqyJO0oWbHVmzzSrGSXcQwXkzr3ut+b/9qh\nGZ2XL0E6StemWZ3hoxNYJXGD9jPNqWhb9je3pKvimynxB9IMpD9TFCSdcg8m\nHbS9B834hsetXwaGAy4F1ubE5CeZR+Kl+nVJMW+3uh+SaAa18gI9pvvUFn1f\n7e8qBc3GvVtBwl2aYGAoSIHiSApSZpyT5sEv/a0YvTJjTryhsod0Ne1pH7n6\nUHzzQs4l+B2w3qUq+YpZBtxNUayHzH3OXs2tpZVEC/oy21ACnQsk72ANxSNp\nxCw1toZzg6BobBNz2XzpcUeuN7E0tn/lD3J14gGKQG3HwR4CjQUD5e/blDg3\neE4WKyUXNVKHy1S6jOzCYSSmxE8cddNYQTmyHTt2AQIrQ38DEpJo9kjF7eqA\na1+I\r\n=nNAb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoIkm92fVV+5Nx14XNgcijzYA4aWijtjYNj6IfKp59ZgIhAPz2CVc7VCOY6NBJnRpIAVPyI3XmOtGt8dQcVsp/zxP1"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.4_1560802102486_0.6025109307480354"},"_hasShrinkwrap":false},"1.1.5":{"name":"recursive-readdir-async","version":"1.1.5","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","fs-extra":"^7.0.0","jsdoc":"^3.6.2","mocha":"^5.2.0","nyc":"^14.1.1","uglify-es":"^3.3.10"},"gitHead":"e63e707491fb8beb5d28bace0fe2bd645e6de38c","_id":"recursive-readdir-async@1.1.5","_nodeVersion":"10.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-I8DePyHkhsAZdnajbbLuvFp3naoPKwNVgrSnZ9t5eHd33x5QLdbXZ91FLJ7SCKvKayu29p9iwrV5KFSv7bwJzg==","shasum":"b7dde410cb9311a3d9a3dbd88c68bbd962ce873b","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.5.tgz","fileCount":5,"unpackedSize":28839,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdCVPQCRA9TVsSAnZWagAAoTIP/3xgSxhHnBanU1WXZJ+J\nI5SSofacuyO1y8iCAB9Wdrbj0L7mKX5AMH1xAs5b1XYafqnwWBbtp+hTLyc8\n3L/s53Q9JpYFFtwMDH5T3QnQe5/maJJRKUp2lkhmb+x4sCiNy0e3c9N+Pg/o\ngTlQub9aIEvDqof/x3gbrhG3zJdoACCVitY4JY1mh3feZek4uJbIwkB/Sqvw\nZv002L4gKBjVusfDF+EJ//JYmb0L+A/sqTErsoFx9SmTrmwL+a2DoAUujxos\njXhXHUXulwY7nrSxwJ2XWBEsMXAlmjFq6jqtSMaqvAwl4Dh6g9FeKVncKNTG\nsFOb3+hDkWbM/PBh5x/Utg0tRJG5J+0483SUsgIfysBk9Pp5joplz7pvU3+E\ngqcleVEUWwpDebUutmlV+/Z3S0CxX64s59oNP/XcWzVXanol8LP0HtUMFrzp\nLx7HEjAYr1NKQStNSeeDyO9sePfjSsTPoRZgU/9uTrFErTXzA26EZOUpvOiA\nqB3LPugy5h25BRXqb18wX7PD9uxUDHqOt3b66deDXmgRUB+Gi0XlV2Dg8oWY\ntCrm2GMBteXRD9R/69slPZ2qujXXPc7PvgptsZXS3TVBBQgnKFCer2Qb2718\nEqYeQSN7waZEu3WgO09m8sctnMSOnse+MUjZlS+UkGg6c9HGIz/Lq6x4tV7i\n2cF/\r\n=9+Vr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0aeCfAPNV6yEH1/X0qU9Dj3EjCYcjFwr5tKzTfNbUVAIhANGZOnJdwYtvA1hV6amYvmTuii+CrHVfa5UKV1q5cV82"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.5_1560892367722_0.7461083204418251"},"_hasShrinkwrap":false},"1.1.6":{"name":"recursive-readdir-async","version":"1.1.6","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.0.3","eslint":"^5.15.1","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.16.0","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.0.1","eslint-plugin-standard":"^4.0.0","fs-extra":"^7.0.0","jsdoc":"^3.6.2","mocha":"^5.2.0","nyc":"^14.1.1","uglify-es":"^3.3.10"},"gitHead":"41bade8947d48848ba94a13acffa4616ba509818","_id":"recursive-readdir-async@1.1.6","_npmVersion":"5.8.0","_nodeVersion":"10.15.2","_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"dist":{"integrity":"sha512-dIS4HBC3zP0hkIrxzfaXnllw4y3ZrFRd8jmafJwX5IHKcYP9YmsF6V0eUdBxWcoBDQwjdt4/+P2w9FnNVEDPvg==","shasum":"f5b29467a50168b2b5e4a4d1ef8143ee7a1b643f","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.6.tgz","fileCount":5,"unpackedSize":28168,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyFhyCRA9TVsSAnZWagAAOngQAKKdCi0fDReuYXa+cLCV\nl0RGjWbhY0oN5xOqSV7QsLZSriSRG3SHH+TFGaOblmuhov62rgcLPEuZ5Kqg\nq2rdFqTK2rOAiD6U9/Sk2ctr1Bp9ziMnqtnT6vLDNK0rUhEMnKxzTECZqyrn\nxPpc/eQoHNlZWt6ocD3wAzZQepfUud3ghu1BKRzAoUClmJM1cE2GRX5SIN5d\nj/X+dt238zdEPLiDi21VTJyqvgYbT6yFfwxLIloXzlOv7XD6Gsfg6EW7e/gj\no6GN0rV6yVEE29sAUDxxd5xwxCGUHu0BPdI7oJyK37kg+qxAnoqBT40Xk2ZP\nREaWNXwzo01Pog2rpnFmhngAb/J1K0NL06rRnCw+7wEbx+CuWVWgCECX2Qlw\nt9d252LZOg6gHgDnKzb6K61Abnifn4bRHTAM6OUCdUEsCXcbpDumsI/vCrMY\nEGNqMqUWdpv3ZyHOKw3OvHEAPapSkg4TjlrFkx5k5LCOYSUbZJy3/wZ6g51h\n0h+wfOKyLWM1OCHiysmTIDUJQ0NGUF3T8K/sdN3swhjcErXNHxLQZ9cxUL1X\nQ4M4oIVa39U8YNbSrjzewoAHEMeciEVoMcHYZpcEogkPoIOGaUq//xUFw2lY\nbc5WN4cqpT8m23kfo0vvz8v+1Qeyj5g00ktNutZTrkfx8ys27g3WW6wnw28K\nqyKn\r\n=f5V0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDh+ABGbAChwe40c7e93S1z2KPB9ogWDzUrLc9pxAc5awIhAMK0MQu8lc9dVG71wh6DR92lJX7YDzRtLWk5kea60PZA"}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.6_1573410930344_0.2544618293322034"},"_hasShrinkwrap":false},"1.1.7":{"name":"recursive-readdir-async","version":"1.1.7","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"module.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"coveralls":"^3.1.0","eslint":"^5.16.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","fs-extra":"^7.0.1","jsdoc":"^3.6.4","mocha":"^5.2.0","nyc":"^14.1.1","uglify-es":"^3.3.10"},"gitHead":"39fd9d37d7b615f71688d989915724892578ff1e","_id":"recursive-readdir-async@1.1.7","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-MScOkqIypisJZ7l5r+dDY0fd805w9pWH10pqSlHrFK4ybpUNaasAm1swrZDCJ7njjFoRLbaM+nGJ0xyHgZp3eA==","shasum":"478e8f9f01b8135372062bcf123b9d2a2075f1f6","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.7.tgz","fileCount":5,"unpackedSize":28380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFHfVCRA9TVsSAnZWagAAtKoP/3usdn7oOOTWGGmy6pyN\n5MMe6o56CCFOIr80P57xyGSQGFZN01UW0lOLyP1sjIGTS8JfuqSviT/ivNY+\n7QpPONdqLWXRegpzvh5BjkU6FKh5gFStXWOv75+fIcYApmnSHsFgSxG3OCx/\n4wlDtQzKOmyHus8Z2383Rl74rzc2XqW/+l3gzhw6hXp89F6SafoeSG8ETP7E\nxMhAKMOoWb9sDrd/wne9mHnI3ZzkYmjatRN6/5q14okzsBG8cLeLq43NyIA+\n+mjhFW0lfyLxQFPpSlZes3xipKz2POtVkm4qiuhcAAka/aVs9VqGgPURtW0F\nMgicGTWGDyppjxyHgCAcUBoiiRi08c6JGbrgPVh/t62mOYvNWlzLQ42Kas91\nEiHHdW/D30NdBE3ymXT9W4GzAW0O3H5s+DyUmxIl+XSGPTl5TbxAqgylhM+T\n2AlVxzsz6krJhWl9oAvM61TS+GjPyNs4TUAZlbVfIxM4dU4gFIr7a77SXCAP\nwadsU/rn/zHETgfJSMlLjQultLLTeYrfTL8rxjD/LgHwe7FWpmOgA4ksv7dR\nWuHw9/kEQMadbd1DsjJMN3RHrYrlFW6YZ/tE7PSuS1GJC2PvYvNkMqGZKLxn\nLEtQ2Hjn0ddeCo+C/NMkzb6PVTmjKGHdx/+hoadMEWKBkshDhQK/Nf5950nS\nNg29\r\n=LlUI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBs9z3BMAuNBTGp4INsqUDdond3NcZp9GVfQoLmaGS4AiEAnD2m42u9INl7Ypm/+jp8Vgm3cReGcXlsMDZ1MzIoCX0="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.7_1595176917269_0.6522803115071527"},"_hasShrinkwrap":false},"1.1.8":{"name":"recursive-readdir-async","version":"1.1.8","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"build/module.cjs.js","module":"build/module.esm.js","scripts":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","release":"rollup -c","lint":"eslint ."},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://github.com/m0rtadelo/recursive-readdir-async","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"@rollup/plugin-node-resolve":"^8.4.0","coveralls":"^3.1.0","eslint":"^5.16.0","eslint-config-standard":"^12.0.0","eslint-plugin-import":"^2.20.2","eslint-plugin-node":"^8.0.1","eslint-plugin-promise":"^4.2.1","eslint-plugin-standard":"^4.0.1","fs-extra":"^7.0.1","jsdoc":"^3.6.4","mocha":"^5.2.0","nyc":"^14.1.1","rollup":"^2.22.1","uglify-es":"^3.3.10"},"gitHead":"85d4b492dc91666f174b105c2d43ac5958e21880","_id":"recursive-readdir-async@1.1.8","_nodeVersion":"10.21.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Iqosi7g1iTx2MkOYKQo5UmncQWBcKUPdbwBLizeZ9MXiCLKeaTLc/Mt2vUdBpmcEMIQGR8bOUT5sS/o19ufwrA==","shasum":"2e29a3f2db2ce3ce2d12104f4251bbe79f712a37","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.1.8.tgz","fileCount":10,"unpackedSize":104356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHGlQCRA9TVsSAnZWagAAS2UP/iZggJ4NTHZiL3vQAgfk\nxLHRdmkXo4NkYX2G5z1Yv2goHOUi8JCTqpVyrxWuXIZJkF7vHmp2Vpw6dSdI\nRH06ZCSkris7OMZamx4vQ1nj6c6T3DS0WEfGzzXoQZmA5Ijr8cgKNeSn/9LL\n9J6pNhhPte1Qr0JalSJNuJdg+kGIV2qEFoc2Wj2wf7Hz2iUYAVNcJguaTDod\nl2TE61kIkvouuLo4h0fFbwxfNj0yOGHp+yGdVd2JtIiLhc7B1rFZgUIKx0i1\nnkDd9xGA5MibdQogY0a52xnPMNGv6gIa7RFYccT5nFsuk8VfByJfUyqWuljg\nippOPIA+0PNsGyM59jifb4xxUe3JSQ/4tA6hNmuspdHVwfkfLR6m7rgQz/km\nDvGOXZDr6n5IfUeWLLBMGEpmSOYeIjZf+i8Wk8qQYhnZEwxJnlVC71sN2k7U\nFLHIoXmSYSf7rmsOF9GGBwe2xqmd58oVOkTVEu7KYEPrIMrhic86daVt81Oe\nq3H7v+WI0LrQJNEnsrW0yHXPQTY72nbXSjfXrItyWun5fCjepbhyAwcRZnew\nIxThX37ZonLvIPzEVo6GlqFHSlndNoASJMz8iDK+9lwGv5BkiBKuHmQL1FzC\n1Rpj1EAeJUP62KIYniUgNWYebw2/uHATmSgi44pn113pb6a147WZX1soz9H0\nIcSP\r\n=eKCl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXC7Z3+5flQaLuirYkJBWWLPgFXgpUe7xviXOFIH/TWAIgBkSXMOUk0A5NdSoRvhb5FlGUvXOwiM3qYS/F/mKqZ2M="}]},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.1.8_1595697488095_0.49123248540192166"},"_hasShrinkwrap":false},"1.2.0":{"name":"recursive-readdir-async","version":"1.2.0","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"./lib/cjs/index.js","module":"./lib/esm/index.js","scripts_old":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","release":"rollup -c","lint":"eslint ."},"scripts":{"test":"jest --coverage","lint":"eslint ./src --ext .ts","lint:fix":"eslint ./src --ext .ts --fix","doc":"npx typedoc src/*.ts","build":"tsc -p ./tsconfig.json && tsc -p ./tsconfig.cjs.json"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls","commonjs","es6"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://m0rtadelo.github.io/recursive-readdir-async/","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^7.0.1","jsdoc":"^3.6.4","@types/jest":"^27.0.3","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","eslint":"^8.2.0","eslint-config-google":"^0.14.0","jest":"^27.3.1","ts-jest":"^27.0.7","typedoc":"^0.22.9","typescript":"^4.4.4"},"gitHead":"4a94e0333759455d359337894928236bb8a18348","_id":"recursive-readdir-async@1.2.0","_nodeVersion":"12.22.7","_npmVersion":"6.14.15","dist":{"integrity":"sha512-Gk6iOlS2lpRaG8rvaKVB4Qdgjcrxr1Gi89yL5ygEGJyMy99mXkIpveal8HIJ+pJh8cSV+sMd9UYh6QtyVmxmWg==","shasum":"530b4a011bf6635cf378192ec144885009233cb2","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.2.0.tgz","fileCount":8,"unpackedSize":63504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhqfzuCRA9TVsSAnZWagAAyhgP/3dwyuvvNw/8h1E9J9Ke\nSVTqtzGlYVjU6AuPHYVUPqes/CH2yyHZXTPvixSgpqHWLerahll0qfANvJsK\nFwRoT5Z1fCspKPWt4izBKpBfrzllnJUYm/wKOW90BqJEKOM8g8EBsIA0glZT\nrm0iwt56pKDJtVB7I7v5H+SiZeBRBlceo9HMwfLRxCYPqWzE5x/gpNEVrWcI\nY4nTnj5ug45XJwavUZSLp/DXBtkwEX8kR8J7vxPVzScZ8HNsGGvEbIgf8lT6\nnKrBeowxow0NPC48I93keN9+Hd0VCavLwmD6z1VZ0ThyDxngMYJrmXZ8qPbU\nHM+iHCwutTqGv9n9fTj2Mlr4YOkJMgyu+9jxT6ck27kwC9rfph0JElCnqypF\nucZF/nqF71R61LR3uhHwrY17+w3AHoq17n101B0jMDSote+gGYjTPfKxM7kx\nmRVBrAS5pUFqz6vOsfFqer48zETGUr2N37c5xKh1VDwMy5TLQYTwI7T1aUUK\nuF7mripZiXRxSpFiMixnRDPaQGwOUqNR8pv4+hsQqU2956y49cctOU4SLQes\nFOosgUGldc4LIQtF5/ZOfUu5mF/AiJwapNOzYVx1S+iUwKJMcYd46DPyOgSx\nC/SjlOoNDS7IUQ8nlH1iFxViqOXlIN7+SbDOjbSSzV4z3RKEGzQSG/MQU3Wb\nOn6h\r\n=lcXN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFOL3ANsbyH1qLPhwXJhEsV9LAaan0JbM8G3hvnIuTS8AiEAw/eplZbtO6btpJI7G8/aU/RLVRzu9io8MsYFi/vr2Mg="}]},"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.2.0_1638530286457_0.6120562768916398"},"_hasShrinkwrap":false},"1.2.1":{"name":"recursive-readdir-async","version":"1.2.1","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"./lib/cjs/index.js","module":"./lib/esm/index.js","scripts_old":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","release":"rollup -c","lint":"eslint ."},"scripts":{"test":"jest --coverage","lint":"eslint ./src --ext .ts","lint:fix":"eslint ./src --ext .ts --fix","doc":"npx typedoc src/*.ts","build":"tsc -p ./tsconfig.json && tsc -p ./tsconfig.cjs.json"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls","commonjs","es6"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://m0rtadelo.github.io/recursive-readdir-async/","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^7.0.1","jsdoc":"^3.6.4","@types/jest":"^27.0.3","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","eslint":"^8.2.0","eslint-config-google":"^0.14.0","jest":"^27.3.1","ts-jest":"^27.0.7","typedoc":"^0.22.9","typescript":"^4.4.4"},"gitHead":"fbf89c8bfbde6e9a843f974412701b09283cf6e6","_id":"recursive-readdir-async@1.2.1","_nodeVersion":"12.22.9","_npmVersion":"6.14.15","dist":{"integrity":"sha512-fU8aySmHIhrycTlXn+hI7dS/p7GnrMHzr2xDdBSd8HZ16mbLkmfIEccIE80gLHftrkTt9oDJiGEJNIPY6n0v6A==","shasum":"994beaa07a985e806a5946b4b795fe9b5f1a6b9b","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.2.1.tgz","fileCount":8,"unpackedSize":63823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9vA7CRA9TVsSAnZWagAAm7IP/RsuKP9aZtGbs4aVcSV3\nlEFhmL6vwhvqGiZesDWKn9JFE+N7J+gnbsCrRtTkE64kjoOE/PiiQQYGkcH/\n+CM4o8C+fe0opSVSWdtgxZMMUogS5owuRfiQW4jY0L8dC/yas+Av8dCcc0I+\nTNMX/inOrjpxrGIy/4AJY6J1b4Hy6j5TxqMMhFO0cN5oaBg50Zj4svkR8H/y\nhk/ZJR6aA+M67eYJbuhc1vLCdbN2GaEQFm1oI/1UmBWkqVmrrqTE0QWvjTFs\nnNDvLMmMoguXT1Bv8DiVLO3J2nMFFDASIbtV27UU1l/qFu/8QEE5X4c81ncS\np2xsg1NEgSJBgagPvx+8GC7H/RG/YJXpGBLBSoMMNQ7+5I9GevK2Q7dwxMLS\n1rj5yj7+xCyv02iaq3/lGztQQZJG1L9v0XNjt3QXnps+NghygoXH6SjE16aO\ndaOSWVgftTaWe7A6WT+xrglucUsIm8FptaFB0zbT+/yAOeZy2YSgs3VABZQK\nH5l3aqLF+ECeJ8CcA17YxBnCR4nSFarA7iw1ft/jkoBOYmqvw8laHH/nuw/f\n+WILoVoWVWj5jrkr2/yQI0LM1dXqjuIA9B3Dd25Rtw0iovwYICQSqziptS5O\n0zEs40ajoNwswNDIqTQ2Lnqq+ijxqCR9ZLI+w4eXKuwayp2dqW7fWqYsk1o9\nh9CW\r\n=usK3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSfRwXbt5o3h1i9Cpp1vg2s+rDmUAVEnTSeyzFJvkF3AiACxs6lllSb2NSTIgA5QaLgrpZZuRjgtpkG5cXxwIHyLA=="}]},"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.2.1_1643573307163_0.9702838637811702"},"_hasShrinkwrap":false},"1.3.0":{"name":"recursive-readdir-async","version":"1.3.0","description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","main":"./lib/cjs/index.js","module":"./lib/esm/index.js","scripts_old":{"test":"nyc mocha","coverage":"nyc --reporter=lcov --reporter=text-lcov npm test","coveralls":"jsdoc module.js -d ./docs -R ./README.md && nyc npm test && nyc report --reporter=text-lcov | coveralls","build":"uglifyjs --compress --mangle reserved=[file,path,options,progress] --comments -- module.js > module.min.js && jsdoc module.js -d ./docs -R ./README.md","release":"rollup -c","lint":"eslint ."},"scripts":{"test":"jest --coverage","lint":"eslint ./src --ext .ts","lint:fix":"eslint ./src --ext .ts --fix","doc":"npx typedoc src/*.ts","build":"tsc -p ./tsconfig.json && tsc -p ./tsconfig.cjs.json"},"engines":{"node":">=7.6"},"keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls","commonjs","es6"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"homepage":"https://m0rtadelo.github.io/recursive-readdir-async/","repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"},"license":"MIT","devDependencies":{"fs-extra":"^7.0.1","jsdoc":"^3.6.4","@types/jest":"^27.0.3","@types/node":"^16.11.7","@typescript-eslint/eslint-plugin":"^5.4.0","@typescript-eslint/parser":"^5.4.0","eslint":"^8.2.0","eslint-config-google":"^0.14.0","jest":"^27.3.1","ts-jest":"^27.0.7","typedoc":"^0.22.9","typescript":"^4.4.4"},"gitHead":"fa30c6045bdc2ed7950482b72ccd7f353b0ed523","_id":"recursive-readdir-async@1.3.0","_nodeVersion":"12.22.12","_npmVersion":"6.14.16","dist":{"integrity":"sha512-7fZyD3/Ol9LwZBYTgE+PzE+Zuru/WxZxdXaZRaNZNPbdnvMDSvK8KLA51JDCoe8zDBkHHyLb/uutJ2RdJbbt4A==","shasum":"059bd7ed19f28d06022e7f63a328ecf2632b4bfe","tarball":"https://registry.npmjs.org/recursive-readdir-async/-/recursive-readdir-async-1.3.0.tgz","fileCount":8,"unpackedSize":65775,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDBht9zp99wOBQXS1yGQgWakbhdYgKEL0Jpy6eaPEacHAiAL459VVvgoN7FI/iezfMW3Ptt8q8lRE8OHn+Zm1VAB3A=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjp0uiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2pA//Xfx5sqEctLbyJULxaBEoqJ4JPnVte+0PK8hKh76u3vBDxdkX\r\nNGSHpUIPeZ5BnBkfyCZ80Vp+R8u354wimwGQiLnDCeJk50btVR4qYhQ9WsBK\r\nvuRGqHoLBJrMwsNBOXTX/WeaxYDP3Lw+pTncK0jd+O8v1/dzWEP7xGLwkVAW\r\nfom7UdHGGB7p7gMINa6kyMrE9dPWDBd64Hw4drbvcSwzqYuQms/tK93xA5Cp\r\np5Yz3g5uiecmLmk1HoLQtvc/Ou1CUGFMRakRzwf3T0Or96YQoj0HNd5GgJZc\r\nvxTkxA3EJpPGNRhxwGpAS/WA3yj3XU0wG6hc2g4tbfRcOhZImZ5zUtrajB3R\r\nRhPySVFIlSkyyXHIfdcvQ/bZEeGkGytKEpPpAbud/lMDmyctQJmgQ3mcmFol\r\njriaPIsRVnmiUpJ75FVTvbaiBZy9y4F/nRlCGqxgCYVJBinRG0N5Z+zpqfOS\r\n6P6pENylAbepJ1n3kfMiQAt+fzdD16eJ9ZuK7worpKqAyhQM7LK9rX7+g41r\r\nbaw/69TyAEDftfeHGT05m3ydDD6sTar3vKPsJa/+RWSe/gjsz9aM0J40y7bd\r\n6DgHonT0HDANVvbjEzWMRhprMkV9m73HGaNwqkJS9t291S4nQnZbRdBQ7wIG\r\nmMpWhCzsaeBQG0ukrIfeSw/ZhdsfUIW/i3M=\r\n=Iv9e\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"},"directories":{},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/recursive-readdir-async_1.3.0_1671908258297_0.6752995109695117"},"_hasShrinkwrap":false}},"time":{"created":"2018-02-10T22:20:04.010Z","1.0.0":"2018-02-10T22:20:04.691Z","modified":"2022-12-24T18:57:38.559Z","1.0.1":"2018-02-11T22:40:01.738Z","1.0.2":"2018-02-14T21:44:20.696Z","1.0.3":"2019-02-09T21:10:50.460Z","1.1.0":"2019-03-05T23:12:10.792Z","1.1.1":"2019-03-07T22:31:42.953Z","1.1.2":"2019-03-08T12:35:59.046Z","1.1.3":"2019-03-08T23:33:58.570Z","1.1.4":"2019-06-17T20:08:22.654Z","1.1.5":"2019-06-18T21:12:48.058Z","1.1.6":"2019-11-10T18:35:30.473Z","1.1.7":"2020-07-19T16:41:57.365Z","1.1.8":"2020-07-25T17:18:08.270Z","1.2.0":"2021-12-03T11:18:06.634Z","1.2.1":"2022-01-30T20:08:27.305Z","1.3.0":"2022-12-24T18:57:38.479Z"},"maintainers":[{"name":"m0rtadelo","email":"ricard.figuls@gmail.com"}],"description":"Module to recursive read directory async (non blocking). Must be used with Promises. Configurable, extended filtering. etc.","homepage":"https://m0rtadelo.github.io/recursive-readdir-async/","keywords":["recursive","readdir","directory","files","listing","async","await","promise","callback","list","tree","dir","ls","commonjs","es6"],"author":{"name":"ricard.figuls"},"bugs":{"url":"https://github.com/m0rtadelo/recursive-readdir-async/issues"},"license":"MIT","readme":"[![CI Build](https://github.com/m0rtadelo/recursive-readdir-async/actions/workflows/ci.pages.yaml/badge.svg)](https://github.com/m0rtadelo/recursive-readdir-async/actions/workflows/ci.pages.yaml)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=m0rtadelo_recursive-readdir-async&metric=coverage)](https://sonarcloud.io/summary/new_code?id=m0rtadelo_recursive-readdir-async)\n[![Known Vulnerabilities](https://snyk.io/test/github/m0rtadelo/recursive-readdir-async/badge.svg?targetFile=package.json)](https://snyk.io/test/github/m0rtadelo/recursive-readdir-async?targetFile=package.json)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=m0rtadelo_recursive-readdir-async&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=m0rtadelo_recursive-readdir-async)\n![GitHub top language](https://img.shields.io/github/languages/top/m0rtadelo/recursive-readdir-async.svg)\n[![npm version](https://badge.fury.io/js/recursive-readdir-async.svg)](https://badge.fury.io/js/recursive-readdir-async)\n# recursive-readdir-async\nNPM Module to recursive read directory async (non blocking). Returns Promise. Configurable, with callback for extended filtering and progress status. Quiet, NO dependencies. As non blocking module it is perfect to be used in any javascript based Desktop applications. \n\n>This module uses Promises and can't be used in old javascript engines.\n\n>Compatible with CommonJS (require key) and ES6 (import key).\n\n>Compatible with Javascript and Typescript projects (with types)\n\n>Works with invalid filenames (special characters)\n\n## Installation\nFor normal usage into a project, you must install as a NPM dependency. The next command will do all the work:\n```\nnpm install --save recursive-readdir-async\n```\nAfter install, you can use the module using the *require* key (CommonJS):\n```javascript\n// Assign recursive-readdir-async to constant\nconst rra = require('recursive-readdir-async')\n// use it\n```\nor using the *import* key (ES6):\n```typescript\n// Import ES6 module\nimport * as rra from 'recursive-readdir-async'\n// or\nimport { list } from 'recursive-readdir-async'\n// use it\n```\n## Usage\nExample of basic usage:\n```javascript\nconst result = await rra.list('.');\nconsole.log(result)\n```\n```javascript\nrra.list('.').then(function(result){\n    console.log(result)\n})\n```\nExample with full features:\n```javascript\nconst options = {\n    mode: rra.LIST,\n    recursive: true,\n    stats: false,\n    ignoreFolders: true,\n    extensions: false,\n    deep: false,\n    realPath: true,\n    normalizePath: true,\n    include: [],\n    exclude: [],\n    readContent: false,\n    encoding: 'base64'\n}\nconst result = await rra.list('.', options, function (obj, index, total) {\n    console.log(`${index} of ${total} ${obj.path}`)\n    obj.custom = { foo: 'bar' };// use custom key to inject custom properties\n    if(obj.name==\"folder2\")\n        return true;// return true to delete item from the result array\n})\nif(result.error)\n    console.error(result.error)\nelse\n    console.log(result)\n```\n## Options\nAn options object can be passed to configure the module. The next options can be used:\n* **mode (LIST | TREE)** : The list will return an array of items. The tree will return the items structured like the file system. *Default: list*\n* **recursive (true | false)** : If true, files and folders of folders and subfolders will be listed. If false, only the files and folders of the select directory will be listed. *Default: true*\n* **stats (true | false)** : If true a `stats` object ([with file information](https://nodejs.org/api/fs.html#fs_class_fs_stats)) will be added to every item. If false this info is not added. *Default: false*\n* **ignoreFolders (true | false)** : If true and mode is LIST, the list will be returned with files only. If true and mode is TREE, the directory structures without files will be deleted. If false, all empty and non empty directories will be listed. *Default: true*\n* **extensions (true | false)** : If true, lowercase extensions will be added to every item in the `extension` object property (`file.TXT` => `info.extension = \".txt\"`). *Default: false*\n* **deep (true | false)** : If true, folder depth information will be added to every item starting with 0 (initial path), and will be incremented by 1 in every subfolder. *Default: false*\n* **normalizePath (true | false)** : Normalizes windows style paths by replacing double backslahes with single forward slahes (unix style). *Default: true*\n* **realPath (true | false)** : Computes the canonical pathname by resolving `.`, `..` and symbolic links. *Default: true*\n* **include (Array of String)** : Positive filter the items: only items which [DO](http://www.ietf.org/rfc/rfc2119.txt) (partially or completely) match one of the strings in the `include` array will be returned. *Default: []*\n* **exclude (Array of String)** : Negative filter the items: only items which [DO NOT](http://www.ietf.org/rfc/rfc2119.txt) (partially or completely) match *any* of the strings in the `exclude` array will be returned. *Default: []*\n* **readContent (true | false)** : Adds the content of the file into the item (base64 format). *Default: false*\n* **encoding (String)**: Sets the encoding of the file data  (ascii, base64, binary, hex, ucs2/ucs-2/utf16le/utf-16le, utf8/utf-8, latin1). *Default: base64*\n\n### Notes\n* Counter-intuitive to some folks, an *empty* `include` array is treated same as setting it to `null` / `undefined`: no include filter will be applied.\n  Obviously, an *empty* `exclude` array acts similar: no `exclude` filter will be applied.\n* The `include` and `exclude` options interact.\n\n  **When `mode` is TREE**\n\n  * Directories which [DO NOT](http://www.ietf.org/rfc/rfc2119.txt) match the `include` criteria themselves but contain items which [DO](http://www.ietf.org/rfc/rfc2119.txt) *are kept* in the returned items tree. I.e. *inclusion of the child* has precedence over *rejection of the parent*.\n  * Directories which [DO](http://www.ietf.org/rfc/rfc2119.txt) match one of the `exclude` criteria themselves but contain items which [DO NOT](http://www.ietf.org/rfc/rfc2119.txt) *will not* be kept in the returned items tree. I.e. *exclusion of the parent* has precedence over *remaining of the child*.\n\n  **When `mode` is LIST**\n\n  As the directory tree is flattened into a list, directories and their children (subdirectories and files) are filtered through the `exclude` and `include` rules independently, hence `include` and `exclude` will only interact when an item matches *both* filters. See below:\n\n  **Common ground: `mode` is LIST or TREE**\n\n  * `exclude` has precedence over `include`: exclusion rules are applied before the inclusion rules. Hence when an item matches both a string in the `include` array and a string in the `exclude` array, the item will be *excluded* (removed) from the list.\n* Reading data from the filesystem can have unexpected behaviors. Use the `readContent` option with responsability.\n\n## Object structure\nThe function will return an object and never throw an error. All errors will be added to the returned object. The return object in LIST mode looks like this:\n```json\n[\n    {\n        \"name\":\"item_name\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"item_name\",\n        \"path\":\"/absolute/path/to/item\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/item_name\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"extension\":\"\",\n        \"isDirectory\": true,\n        \"stats\":{\n\n        }\n    },\n    {\n        \"name\":\"file.txt\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"file\",\n        \"path\":\"/absolute/path/to/item/item_name\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/item_name/file.txt\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"extension\":\".txt\",\n        \"isDirectory\": false,\n        \"data\": \"base64/utf8/etc.\",\n        \"stats\":{\n\n        }\n    },\n    {\n        \"name\":\"UCASE.JPEG\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"UCASE\",\n        \"path\":\"/absolute/path/to/item/item_name\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/item_name/UCASE.JPEG\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"extension\":\".jpeg\",\n        \"isDirectory\": false,\n        \"data\": \"base64/utf8/etc.\",\n        \"stats\":{\n\n        }\n    }\n]\n```\nThe same example for TREE mode:\n```json\n[\n    {\n        \"name\":\"item_name\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"item_name\",\n        \"path\":\"/absolute/path/to/item\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/item_name\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"isDirectory\": true,\n        \"stats\":{\n\n        },\n        \"content\": [\n            {\n                \"name\":\"file.txt\",\n                \"nameb\":<Buffer .. .. ..>,\n                \"title\":\"file\",\n                \"path\":\"/absolute/path/to/item/item_name\",\n                \"pathb\":<Buffer .. .. ..>,\n                \"fullname\":\"/absolute/path/to/item/item_name/file.txt\",\n                \"fullnameb\":<Buffer .. .. ..>,\n                \"extension\":\".txt\",\n                \"isDirectory\": false,\n                \"data\": \"base64/utf8/etc.\",\n                \"stats\":{\n\n                }\n            },\n            {\n                \"name\":\"UCASE.JPEG\",\n                \"nameb\":<Buffer .. .. ..>,\n                \"title\":\"UCASE\",\n                \"path\":\"/absolute/path/to/item/item_name\",\n                \"pathb\":<Buffer .. .. ..>,\n                \"fullname\":\"/absolute/path/to/item/item_name/UCASE.JPEG\",\n                \"fullnameb\":<Buffer .. .. ..>,\n                \"extension\":\".jpeg\",\n                \"isDirectory\": false,\n                \"data\": \"base64/utf8/etc.\",\n                \"stats\":{\n\n                }\n            }\n        ]\n    }\n]\n```\n>`isDirectory` only exists if `stats`, `recursive`,`readContent` or `ignoreFolders` are `true` or `mode` is TREE\n\n>`stats` only exists if `options.stats` is `true`\n\n>`extension` only exists if `options.extensions` is `true`\n\n>`data` only exists if `options.readContent` is `true`\n\n>`custom` only exists if includes custom properties\n## Errors handling\nAll errors will be added to the returned object. If an error occurs on the main call, the error will be returned like this:\n```json\n{\n    \"error\":\n        {\n            \"message\": \"ENOENT: no such file or directory, scandir '/inexistentpath'\",\n            \"errno\": -4058,\n            \"code\": \"ENOENT\",\n            \"syscall\": \"scandir\",\n            \"path\": \"/inexistentpath\"\n        },\n    \"path\":\"/inexistentpath\"\n}\n```\nFor errors with files and folders, the error will be added to the item like this:\n```json\n[\n    {\n        \"name\":\"item_name\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"item_name\",\n        \"path\":\"/absolute/path/to/item\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/item_name\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"error\":{\n\n        }\n    },\n    {\n        \"name\":\"file.txt\",\n        \"nameb\":<Buffer .. .. ..>,\n        \"title\":\"file\",\n        \"path\":\"/absolute/path/to/item\",\n        \"pathb\":<Buffer .. .. ..>,\n        \"fullname\":\"/absolute/path/to/item/file.txt\",\n        \"fullnameb\":<Buffer .. .. ..>,\n        \"error\":{\n\n        }\n    }\n]\n```\nMore information on: https://m0rtadelo.github.io/recursive-readdir-async/","readmeFilename":"README.md","users":{"m0rtadelo":true},"repository":{"type":"git","url":"git+https://github.com/m0rtadelo/recursive-readdir-async.git"}}