{"_id":"files","_rev":"50-c3d95c2f0a25e17e9ca3be70ebd16b63","name":"files","dist-tags":{"latest":"3.0.2"},"versions":{"0.1.0":{"name":"files","version":"0.1.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.1.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"481f3270d62cae81d5fcf5fc4490d51f734f5ec2","tarball":"https://registry.npmjs.org/files/-/files-0.1.0.tgz","integrity":"sha512-XrTAxF515bvNBnfUCSW2YgftSSGuAd36y4pvrSb0fLIMB/KNYHF3VxzmIdp0ZkHIorXOQTUhPIjY4aj62viqog==","signatures":[{"sig":"MEYCIQDPIlAd9XLGhuD9EWXu6qQ7Fvv3pHczsM9FBI3DU1EZbAIhALI+wEDReR8oeod65v4zwplPBrW46OP5VgGhVKy71rMB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.202","validator":">=0.4.6","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.1.0","should":">=0.6.3"},"_engineSupported":true,"optionalDependencies":{}},"0.2.0":{"name":"files","version":"0.2.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.2.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"d29c660d30552066aa8be370e001764330603f23","tarball":"https://registry.npmjs.org/files/-/files-0.2.0.tgz","integrity":"sha512-o7oulgBM7vueagvKfwbLIa23kIKyDT4Hs/1cQMbHujOpqFYGsvAy1AKFE0hFhGywGDb6RT22bRtToAbaenH0ng==","signatures":[{"sig":"MEUCIF5hcbpaXURh031rz1VboPN7MKoXVdBsvOG/O3WFbM30AiEA6rhXOAa7RsojyVKsNorYqMKpATgGCCWoxkxFNvaz7h8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.202","validator":">=0.4.6","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.1.0","should":">=0.6.3"},"_engineSupported":true,"optionalDependencies":{}},"0.3.0":{"name":"files","version":"0.3.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.3.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"52f2764b3bdf670faa8b9f8babdb5bf606b4cf91","tarball":"https://registry.npmjs.org/files/-/files-0.3.0.tgz","integrity":"sha512-g+EYrbo+OlL2fyisSNVdMwY8B4OUShFmS4vlkvSUhMDVp2h+KGdlAvbBqEvEQPQZlggKmaLGHZrOz2rmiqPFjw==","signatures":[{"sig":"MEQCIHlVMV1KLMMsrBibAl/PDsNIou3mzhmnXNaGTy0ZKtBhAiAr3PQieml+Vbs39Rf1TLG/JQfW+LW7iIuvk1bvtLXxKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.202","validator":">=0.4.6","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.2.0","should":">=0.6.3"},"_engineSupported":true,"optionalDependencies":{}},"0.4.0":{"name":"files","version":"0.4.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.4.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"0ba6c9bf2b9040177943878a677d3a39b2a2bc89","tarball":"https://registry.npmjs.org/files/-/files-0.4.0.tgz","integrity":"sha512-Us9LhLsddZUOhkWM1MA/hZBCJRmQI4ljHPTyc0Dr4YdyYhuJlMwi+esnDlQUDbCXyY7cBRavpxjeaZKCYacWXA==","signatures":[{"sig":"MEUCIQC1cBZN6hLzaEnkzGhFjB5dTWrPXOH2O55gspwQzkwZ4wIgOAHFQ0bfUR8HAvq3y5ToEM/a2bHMn/NTL4YBZ00d9JI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.203","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.5.0":{"name":"files","version":"0.5.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.5.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"78638250026c48b5feb0d875ca46f6a66b93256b","tarball":"https://registry.npmjs.org/files/-/files-0.5.0.tgz","integrity":"sha512-ZOdhxrwE4dg2sRvgJQaVYHk2wAsqd3DKeDQpLULy3A5IYwI2a1BmvC/m8NW0QySB4qJXDpPltXX80bUJF8ctsQ==","signatures":[{"sig":"MEYCIQDwlKl8x05RaiapiL//+X5Nc2If4j2UUgjA1bZ/fv1F8gIhAOiQBZxrjCsKHGdmgTnAmAJ9cUXxXT7r1wGT88yusp2s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.203","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.5.1":{"name":"files","version":"0.5.1","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.5.1","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"b4607ea99fa079392395a273c26d474e90ea5d71","tarball":"https://registry.npmjs.org/files/-/files-0.5.1.tgz","integrity":"sha512-nMXDlE3Hfrux3CWST/u8Lzk44RHQrp0E4kgWdStQs4i5i1njQnDEmn1iB7d8sBqkbBiAsu+YBVIta1Bxppu8TQ==","signatures":[{"sig":"MEUCIQD42ZafcOGAwiUZCscWnG9OUp56dAu4einCS0nXHMEceAIgXPY//UX4h+5DY40aapf+Kqu1Sp9TK1MDewF+3IDrRXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.203","fs.extra":">=1.1.4","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.5.2":{"name":"files","version":"0.5.2","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.5.2","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"79a5b5428c47c1489b7409f740ac2a16b1e85419","tarball":"https://registry.npmjs.org/files/-/files-0.5.2.tgz","integrity":"sha512-y2I15243xCAaFaq/tZYizKSnGpM/obU1YUGPGtbKbp3oNZs9eqM4guTKFOVoXTIKehhqe+YjuHOTXu9j90kwcg==","signatures":[{"sig":"MEQCIDVVFoPNVQA2um7h1lWbn9bHO74pTc3N/35/Xv8KAFUqAiBJgMo4lLCNAzBFqAglD5FirBo5mES2E3ZFjY/2A3JDtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.203","fs.extra":">=1.1.4","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.5.5":{"name":"files","version":"0.5.5","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.5.5","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"e29bc4fd083d34e9f279f1484a3d7a1fe1d01d1c","tarball":"https://registry.npmjs.org/files/-/files-0.5.5.tgz","integrity":"sha512-KCnAVGgyMBblbg7Mbj26StmzW3AzJLoOOgBb/xjkYqI1v3+iXj3Kf/Bb7iFsN7Q9tiWwGRM2hkHDe4EWfSmS0g==","signatures":[{"sig":"MEUCIQCH9f4ieZbyOZ08ieZFVKx/fCBsPzMbO4AzX+c8J3inbAIgS8Muw1h+funGo/bk7EDaHb97BvSMiGE/BbDzTiQ/2Ak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"request":">=2.9.203","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.6.0":{"name":"files","version":"0.6.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.6.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"e63b2428467fa2efa9fe33cf82bdaf5a029b7422","tarball":"https://registry.npmjs.org/files/-/files-0.6.0.tgz","integrity":"sha512-U9F155IUmPtsSHodNw3gRcqa4RV4XWmVoc61Mx90n7gQtM5IahXcxWDx5SnURFUjvKzucxpHe30ifAYGOqoQ5Q==","signatures":[{"sig":"MEQCIFILSwPSkooUSemUZWFP5aEpdKl+hOmmwNaK5JR/6YCJAiBJXGs7VznahqV/hjoKt3Y+ClIOHRjjSnzKCciKSaGF4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"async":">=0.1.22","request":">=2.9.203","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.7.1":{"name":"files","version":"0.7.1","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.7.1","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"6144c683d7a3b23dfbcfee4c2c008a79208c1e36","tarball":"https://registry.npmjs.org/files/-/files-0.7.1.tgz","integrity":"sha512-e3JURxBZSG6OhcRRCJzR1ilMmxBb4xunMtDK9qMEQL3dQnsvGJ8QJjQ8nTJvlEb9VlPVgO2t54TK/R82X4ldzQ==","signatures":[{"sig":"MEUCIQCR0ceRbpD4ZnYwkPVKmrkqQSwIdpdEvo2QmJ4DmES0IAIgeaP9UeYswn+72cC4ASHsXIyZAMhUs9YjMkoc44P8rbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.21","description":"Simple files' utilities for Node.js","directories":{},"_nodeVersion":"v0.6.18","dependencies":{"async":">=0.1.22","request":">=2.9.203","node-uuid":">=1.3.3","validator":">=0.4.9","coffee-script":">=1.3.3"},"_defaultsLoaded":true,"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"_engineSupported":true,"optionalDependencies":{}},"0.8.0":{"name":"files","version":"0.8.0","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.8.0","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"4e97a42e14586050025104800b8b96b4229eb0b7","tarball":"https://registry.npmjs.org/files/-/files-0.8.0.tgz","integrity":"sha512-mvyMZ6whzmnstloU+UMwjLEaAEWQw4ToRNj6+jaVMcAPGIdAn1wW5LKBljNysPKsgVnbb7sl+M4aeHJJWozyMw==","signatures":[{"sig":"MEUCIFx5XYkT4pYgEbDMc3aVWDVW+UKfGfnNoC6KMCsWUCWPAiEAtJSLB2698bN0cIUQDl6bGhff9PzdoID2/sfS+rmfJhY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.49","description":"Simple files' utilities for Node.js","directories":{},"dependencies":{"async":">=0.1.22","request":">=2.9.203","node-uuid":">=1.3.3","validator":">=0.4.9","coffee-script":">=1.3.3"},"devDependencies":{"mocha":">=1.3.0","should":">=1.0.0"},"optionalDependencies":{}},"0.8.1":{"name":"files","version":"0.8.1","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.8.1","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"78f7187e8c197fa5e0b9ccf0ab30eed3ad008aaf","tarball":"https://registry.npmjs.org/files/-/files-0.8.1.tgz","integrity":"sha512-zhaXkNPM0QJVzGiiZPXJH1/aOjOsX+L3OAXsS4IOCOt5S+betiU/hrRh6ixgJoKxyoJMpDBE/aS3OtBK6tANeQ==","signatures":[{"sig":"MEQCICv/hrrHGqC8Jfe/rq8d4fYM98hqoUJVQSXpBSnl2lohAiASUQ0G4YSnb7z2evYsR9/DKelPMUMQm//6WAOeaGnFbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.65","description":"Simple files' utilities for Node.js","directories":{},"dependencies":{"async":">=0.1.22","request":">=2.12.0","node-uuid":">=1.3.3","validator":">=0.4.17","coffee-script":">=1.4.0"},"readmeFilename":"README.md","devDependencies":{"mocha":">=1.7.1","should":">=1.2.1"},"optionalDependencies":{}},"0.8.2":{"name":"files","version":"0.8.2","author":{"url":"circuithub.com","name":"CircuitHub","email":"developers@circuithub.com"},"_id":"files@0.8.2","maintainers":[{"name":"circuithub","email":"developers@circuithub.com"}],"dist":{"shasum":"00a06509f6fd9728c0177d61587f0535ae1966cc","tarball":"https://registry.npmjs.org/files/-/files-0.8.2.tgz","integrity":"sha512-IH9klfPeU7twdztDbCutGBYtMgIFykmdhLdMfGt3S3NCyOwQESM1K4UdGAc0oBjeap3Lf2XJPvxjy8GBIzmOdQ==","signatures":[{"sig":"MEQCIA6MYY8S5CsPIj8DI+rYMnQjiCpWo+dRVfW2TkAAQnNyAiB16whzrOxDhXc9AI8JXzsieL8Ff7WgGlJOBCFSu7Nz8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./index.coffee","engines":{"node":"*"},"scripts":{"test":"node_modules/coffee-script/bin/cake test"},"_npmUser":{"name":"circuithub","email":"developers@circuithub.com"},"repository":{"url":"git://github.com/circuithub/node-files.git","type":"git"},"_npmVersion":"1.1.65","description":"Simple files' utilities for Node.js","directories":{},"dependencies":{"async":">=0.1.22","request":">=2.12.0","node-uuid":">=1.3.3","validator":">=0.4.17","coffee-script":">=1.4.0"},"readmeFilename":"README.md","devDependencies":{"mocha":">=1.7.1","should":">=1.2.1"},"optionalDependencies":{}},"1.0.0":{"name":"files","version":"1.0.0","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.0.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"84ce62c8222d62ad1be124280a31289c535cc911","tarball":"https://registry.npmjs.org/files/-/files-1.0.0.tgz","fileCount":4,"integrity":"sha512-2hsS1xEoDxaPfUKG2x6fhIO5UeGaaTpmK4CXCjZbxXcgvl9f+VkC+voq5s6p3/49AjwT8APdffz00S+QRUOQOA==","signatures":[{"sig":"MEUCIQDEKCG+MPAyYmBcPLpWrj6JHZO/4Xa/qgMBp1Ws2/rOZAIgVVTF3PzcYmDqI95N1mN6kexUX8+xwgQzUm7nIV7X9Hw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16475,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcYY3dCRA9TVsSAnZWagAAyVoP+QG50MBaO6sdH3ShKZFA\n2kSlzezYD1agIBse9bQde2OE3eNEult78kEMxMMYsw/7zGaj6zDhe51mmDMw\nE5hr+lu7nNuO97AtWLXLu0CyV4FDxBRrBPDzK0PdVm4j2iJCh0SrDi9Smwpl\nYnwRhwb0d4EA26j5V3W0QuAp6K+4HSwpBbxeL/TiHvoo9ldlma2aVVMiuXsL\neeUU0mj5VkywHcajyLZULNnxH8GErtRTdVZzK3EomqNpdAQ9brZgsK+9xAlQ\nh/5HLvZ8m+ml9bAbJbAICx4yf2cFfkfVCy8quHal4pbtwiEtE1jzKc5vbv1K\nhIYP19eDmjjey0mQOlywuGQSTsxt8G60i5s6mZSoBtTch3ZOe61N3nMAj74S\nwEtVtvedRT6dYVg4A0AQyycrvPJb9QrnV91Y+tOUo+DXWJnmXSYh8lLvWgaC\nTFIaopTxYHKaRjiNwGScLueJLb0JLEHqCRAFa9I8Y+sg1/cvyZ+mg2CxGJwK\nUTqcBRZUtmhja6JR54ZWjaO/byZJ3bslifAVj0dbHWragptIdbRjuR/dnxEi\nqPoUD5ekNjlepJdK30wQWKho8o9vEp5lDZQY0YnAcBYwiAm4z0e8qXaNuz6U\ngL6Pq3CcDbTAzBXzU9CLSkDagHezgdwk9ERZj78qknEXxEGSi3ocG00BfOFK\n2AfT\r\n=JTVu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","gitHead":"afadbf0652c4e345e4bb5770b9d65a9dbae417f8","scripts":{"gzip":"echo $(gzip -c files.min.js | wc -c) bytes","test":"npm run build && jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.4.1","description":"Node.js filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"11.3.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.0.0_1549897180641_0.6356545963791764","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"files","version":"1.0.1","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.0.1","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"04614adf5da2dafcfbd6b879fb9c6bd687f7642c","tarball":"https://registry.npmjs.org/files/-/files-1.0.1.tgz","fileCount":4,"integrity":"sha512-Zuz27dx9ZVNPr0F8uq18S3npZZyMzEGDN/2rCc0FHTi6orwLe6E2tnbloBYP+3KOFIcWBhKg7+HNRD+iclwQMQ==","signatures":[{"sig":"MEYCIQDUEB6dNBDW33CYZW6nio/Xla1GGp6Jy+RCQdbS7zzTiwIhANrpWw4MFxm1rWsFrScvhVh3II+ADiXczl0AXZfQzJBS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16520,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd4Ow/CRA9TVsSAnZWagAAUKoP/2p/qiByqxNJxT9DuP/4\nBS0jAt9abWTOvK6gnUuyU5fL06pXU2NTxHqPjtGcllBDusgmPT1o/OP5c4Rl\nYAiyTgGkcr5gg0evljipvBmFQL4irsEDXsh3EMBcq1YYNRI+cSvNOSjixjsI\nFm/fj0hxmmXp1wEn6/UyL/xray0Sf2dexOKImwWZKk8o7ufNLB0nFCgdvZgV\nx3d+zY4rbE5vDAXCJ1p9z1X0bzr+svNyHAaHsYnYdfsEFPiD2/cM+jv0Vpjw\na0r3ebBM6YeZYK6YTEo2E5gbJPJZfO5TaSpWvFppiR9izh0Ioj6Jyknconsf\npLYusB95n1EVHMMJLh0re3Ujd7sJNhBQvZFRbwT5jcBwnNMMcG5rpn4I8rM+\nCNHwxAtXdiqZ2N55WaV/kC1Kx3p8t+rXSu1yrmyuHIoZCm5Gim3Ypvks0p0n\nhxVA6Sa2X2iUw7ew9hjPN7XFn/nB7eWMjdf/yAPMtU10yMjZqoNkQ2AMlGrG\nzH7cjJVF+gYHqhSWAkoaH4a8UWFhXWY8LEghg9OFNsh6v1u526rX/Rwvsmp/\nmlIVYjJgrq/1DhiVVGKO2lHUNsnx/zMJ2zPHzD/tilD/IlgMmvAOKqZ5OhaH\nYe2EGbvgOaTUbstEJ8bjGeRz5THQoPE+kNpEZRCaWR+aQ9KKRriQtzMyZoM6\nZAjn\r\n=0xy6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","gitHead":"485bb4e4efc41bf1b5aa2c6492bc93a95750c281","scripts":{"gzip":"echo $(gzip -c files.min.js | wc -c) bytes","test":"npm run build && jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.9.0","description":"Node.js filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"12.2.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.0.1_1575021630633_0.5147711440028793","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"files","version":"1.0.2","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.0.2","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"a2dc98b6496f7464fc38c11330e81e52921a96b7","tarball":"https://registry.npmjs.org/files/-/files-1.0.2.tgz","fileCount":4,"integrity":"sha512-CecIdaG2gfKPfxHvwVQMviywXf8R/IbOKxHOABgfT8HLOkYZPgqyV5NnNjwJvok4RY608czRpvGYsnMzpj1NPg==","signatures":[{"sig":"MEYCIQCquthEutpPwa0cTs3O/jQhaDzV6gsHoeMSIW+4Gk5eIAIhALd8I9Is7JGCGtOB+aLSehIG1u+8ago9DfMe33V0wkxc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16527,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHCUQCRA9TVsSAnZWagAANmgP/AjLvgNGNme5NdxpUlJ4\n2j/a5UZW8Wmhg8pAy6p88qeK7nYP/vtDsZx3KERoQwWOuMqesZFYHnqGYI0R\nh5MXPiH+kcbdKt8S4r4dFwqFmPWuUKzxNz8b/zq/UgIgsc7DstcAjNI3oi2N\nr+FJmU25cePIZtDwCdhhXPwrkwMyZoUfDkFQZdstcPQGWqg7PjSTOw8ofZxW\nzgz84psPeDalPq0zxeXmdK30Rsd6Y8ulnYn/sKgY7kOIizkL1eDnh94wBZ7y\nf36h5EOzBgkMbtqVZw4o17Esn1cxyeb0ESsSX8t1oytCHg5d5hLNTPMNOryu\n1yei4JO5MVEDzmeH0UBEA/Z8D44UUx/Qy2RceKrq/RQdE02pOeXsv723rted\nXW3b7bZNEj7vzQcPPjhyJ1wOmQVDP6joWifUpv3RXngChxZxQAFQfN4T5opQ\nsciJITMBM+U/G3LgMbLR9ylr7Vef2LqHZx3g+ozTi1rY3qDeOnllbN2tsuMj\n9DGvFpzRGJtsL721sW57fPQfWHDXLTY0QsXKWEKVRUP80AhHX4qfgSskaI8L\ncEDOWIUdrmCG4nkknFfWxGnobSYmwoEKi24B6BuY4fDhaeIr+X8D0mXY6G1Z\ncwOqJEF87qEJZFcjYgFCxe/7fn7p8KnJDO+H9GPLpSZTJANURpUQ2E798h36\nQ5RF\r\n=+V9i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","gitHead":"ccb4105d2fb193f29b2303a9230c04df54aae532","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.13.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"13.5.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.0.2_1578902799892_0.20395701681051714","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"files","version":"1.0.3","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.0.3","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"ff254607973e4c5d7eac93cd320c134dd27e4578","tarball":"https://registry.npmjs.org/files/-/files-1.0.3.tgz","fileCount":4,"integrity":"sha512-9GCrUPUByByvr7FS2dgk8kH7QyCXy2+4UxdPZrc2/8Zm6A9lU/4Mixk/C7NnUAzJqrsAkHPB+H5zYctCR2iUZQ==","signatures":[{"sig":"MEUCIQDr14m5wWvZgYAnpzvO9oWvO3VEeFKdrWONl+n1QOrRAwIgP23sa5qUEwDvqKdC23VSCupzYWuj/f8+RJEvtWjrsS4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16587,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHCdhCRA9TVsSAnZWagAArXUP/iNRZMjohVci6fgIU//r\nekVNZ+II77ycWCCVlxsoT5PZc/LshsjBZ6Y83AX6xqbJKCFb1vTxSpWr+oYF\nA7Fvp9L+hMKsW4knLtfAbw2OWStHo51szvn+key1M/4ysh/JMgQPSdlJhHG2\nn5MU2Szz0ZvKp5XBfzFVvQxtEanHrqSqE+6vJXRxHWrB69nqQ79SZ0S/uImK\n9RltHCaDRnyYhbuJVo602PyORYFLzYbvTyGP+k4rH9KsCtUyCU74yA6C7BZs\n5RsTpVi6p1N13aC2UqaiisLhbgDxMJLgIlIqMbRig05pa/6HAIE2jtLlgebG\nC6+vYHaCsdxCnK34ieaUdHte3JgCF8AQ0lbY1CCjBU52jouNdnert+jxvOET\nhzNCKRQa/c7XcuUog30QGLp15U7uidIfBmykfplEsT+zU0AP0D8pNkMm/3BU\nbr4mKp1Ar/nUj3beVlb6N+Ycw88pNvNs1Ys69gfMa5ik+ufl/TLlqSLGQphM\nEcQhxVYN0Q4L8ucqByt/+4yThnEtVoW48xSrIOh9ra5xbkJCcnsUYwGhgGqY\nOEm3d2zgi32llBiwJET9XcO5KU9SWLge/h4vr4Mwvm+SH060ixUVNDED2w5I\n9m57ak0I1Padmm8NUaErqEXuKNJegoH+I2KWVhYCGTo+Z++XOFU6aJcLAJgv\nDKgm\r\n=eRGm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"ec69a98f03523d9fc058065b417d96af2811f96f","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.13.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"13.5.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.0.3_1578903392793_0.05820688823072184","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"files","version":"1.0.4","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.0.4","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"9e25c60d1404237c6dd1457f7b85802e67a25cb7","tarball":"https://registry.npmjs.org/files/-/files-1.0.4.tgz","fileCount":4,"integrity":"sha512-sxvYpppwlizKXNqwaVM5p7h9sfeuwblC+Zg4tQPcRz7OpmuQV/MSyyaLH+1tUugiefWNLBflymPusIT8FSe/Lg==","signatures":[{"sig":"MEQCIDy/h1gCZUpw5Y4z5MqSGnktcsHGIB7Jn3aBAeGK+j/uAiB0ZjCSdS3bmitnnrbJXg9upuK3qYUe+2Y+NuGdFBmPBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHM/pCRA9TVsSAnZWagAA18kP/0cvi3KmgXKslauR5My5\n4lZnziSE9NNzilcoj+NVhbNW5LfRD7W65Ny652hr0uyJsO16IOsSD1CZo6OB\nc4o7h2JD6obvnUf4yYpxNGxwdCUJSRBz7mLxAMvAygfTNWTz0Uq6R6LtiArN\nrIwcYOt8sCc+NCk2TNJk9x+gv5Vjp6IH7qZICVZ4pI4e2OssbJImfTJmStev\nDnd98XJocQ7Z13fhCShnmExTR8Wxe8YdBEflswZgViMOp2r6f0YgHtzlPdPx\nx6mbM71XNGnGrPf+l5VWZH1s8LShfI1DaTY24JrsWnUj40TuEAJM/tD0jNzo\nvCxfHTOjobutUqb+afxL5G7TlVduMh9fMMNsQc1ClIcSVwAg/aY7HZXCN/Bd\ndZBgps7pTHkyMJgq1EL2EKe3xLfOO+o9cvLqXf4iX7hCbFvrZyWHNonOxipg\nopgdxakVdezDMPOZN/RNt/LBe9nRPsVLdi7mkQW78CliKskQiH4hJ1c69Boe\nAH8fkcFtlscKcVvD4JC1j/4JEE1XtTSpobov2rboVRAZmpta7+/MhdxGX7GW\nd+DXdboqmBZe362ugxcVczIpwcC35QSzJD1Q5jCkDuyxU2r9c04hxEWkP7+5\nC1wsGjPAMH3XevoHXykLRJlXUgulNTinPRjqWBBGmvusvzYXZuSTo9kortOB\nFqtl\r\n=gKZ5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"87e23cbe9d35e9af187fb74297f480e051ad5979","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.13.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"13.5.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.0.4_1578946536866_0.15114090313201856","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"files","version":"1.1.0","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@1.1.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"56f31c6b1774f52ed088353e5db7ed5a49fd7268","tarball":"https://registry.npmjs.org/files/-/files-1.1.0.tgz","fileCount":4,"integrity":"sha512-oeyEkoPkrMBH7HspBg2e+u+y+V32WGaNZmyNRaTkuyi8udITMkaO+WA112POZT5amcc+GM5I0wpSIjwRcaOMuQ==","signatures":[{"sig":"MEUCIQD6qc8lOO/rIi9Kt+/c0vUzL194mNLgAD5y8WFVhvzgAwIgAag+tKVdkomF4+aww/Rr7tbxQpxTdlDy8/so2cB5nA4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeHNBXCRA9TVsSAnZWagAA3hQQAJA0DX9DQNkoK5u7g4RD\nVm0QU6ZAkOXwa1Njpy7AhtgcwWqoRZGPnC0FApY8Z+lH/+MJs7+hg9qGj9mi\ns7ehtpt+U/NWTDxWEaQtm/IAzP9i+oGzags14TS4oj8Mba3dD7JdEmbXXDch\nBGB7f5GTcViLplFY6FC1GZks0l/g5V7xudYHZFOPrRNl075Lb0VigvbPuFeP\nIDOu93UnjHxyasfG4KLDp6RReg0kZxW3UXt4Kfzd94opPUq1rgU/1cN/La1c\nACiQAzRdEPJwO1t+6MOFdLDWPW0eSV6asVXlcC5NKl3IeufLuY2Ri8gtk6ex\nusC1IHI3eoYX0NjIyXV11h6/lok+xmOChjOXcYee26hJQur5RFA7TyBdjL9t\nv1FoGMGUBxYf3zZQapky0s5CBEwkQLvP7orMUjnPlpd4/lCDKpnVVym62fT2\n9mAinbKEqaC5APlMp/sHmscYQGPKSc2UKA7ErwCiLPDuqKt8k0w7yQJ7HvQ1\nGd2/YnGuKtBp0r3X+mpKvbn0PtoTU//i2w0sozKQ3IjO9TJGzzTg4duiReNe\nbFFKhWHPv7qQmNvPNWP3qY8M29k/m3jc6Xj0FQ04rGo7aXJ0eO/ghyuFmjmJ\nvBVtRxZDoe0vgmf4k7EyhezUQi/Ctko+tDNAGT9lNCI8ozAP6zq2J7bIjpMB\ndzoM\r\n=tVxw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"e64ede7e52c043b482de212aa48f1aaacc68279e","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"jest --coverage","build":"rollup files.js --name files --output.format umd | uglifyjs -o files.min.js","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.13.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"13.5.0","dependencies":{"swear":"^1.0.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_1.1.0_1578946647177_0.3463848503279352","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"files","version":"2.0.0","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.0.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"a662e91e055e5fa67038d1afa74ecc59d45ab306","tarball":"https://registry.npmjs.org/files/-/files-2.0.0.tgz","fileCount":4,"integrity":"sha512-glMnOvRYmpobccNIa/lwBIZasA4yH8+X0TsgbrqU6x8ryaWjDLtCPGybLHUZ0aMdfYZzNHxrW7XV/gCzrXZx5Q==","signatures":[{"sig":"MEYCIQD6R6aL40xxqmuiWEfjN+E2CgVxa3zcabMsEUaH2zHLUQIhAOq2NAVrGzQWqQBoymoaLIzf7d0p9X1wwnmk9P8V7QyA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew883CRA9TVsSAnZWagAA+vQP/RW55OSGUMUGFW+Ew8ar\nQkj4jZ6zL7SEPSLoyG4oGTD6PpuQ9YxZ1P9goWbqg/fMjB2mCE2A7n8n72A5\ntYpViZB9yC6MLOuIN7z1UOVjHAlxbhPBaebSUnrnOwtmHpVrGmrRm2CsdbV0\n2GsyonUDlIG3fFUBN7Oov5eZHtRZGQ+5vI2UkKHyo28uAQn9FQPvD3WG6nvB\nueM3mWWqf88+TiGnNbksFIYXzoEKNwu/SOFCzmDP5OAEvpnTNLOHym6AhUHn\ncfD432dVTo15+Y4UimUXf6zE3wl8znZU3bDMYp+1NYx+1OU8QuRDHIAAHBrP\nBzLZeWUqNT/D7X9SZ73GbED1c7zAD2T/pF/Y9AZOmlBvC2Eu0uvagUnA3EIZ\nyR+w0RuydEa1G6pYzlvhSz5AOzMZm5kUhG2fJG+l9pqdTRS++dzSDyEnNsED\niCGhuY4hS6dYWkEl1MjTfPwFzgrH4FcbH1ToebXYhqTm33SsApK4CJrdRz0P\nR9XYP+tBFkXwxpqXEqlgTDU/X1cGxL9w6Ngtk32daRDSv1KNIt0k+Rtp1P36\ncaOPcFdHHKhZEwVHj0/mw6JQieFdJkh/rrZwBN5mwLhLBUSNjfSHSM6WKuJh\nbFumsvA2wM7xmuAbYp3lHncxEhQEOmdWfTEZoG+wY71qz3zL3E2JtAyLVQ08\nuE2O\r\n=QmyS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.min.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"e46c8f28b97cf053978dfa689e5f41077341a2db","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"jest --coverage","build":"rollup files.js --name files --output.format esm | uglifyjs -o files.min.js && npm run size","watch":"jest --watchAll","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.13.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"13.5.0","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.5.0","rollup":"^1.1.2","uglify-es":"^3.3.9","babel-core":"^6.26.0","babel-jest":"^21.2.0","babel-preset-env":"^1.7.0"},"_npmOperationalInternal":{"tmp":"tmp/files_2.0.0_1589890871354_0.3418982525089522","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"files","version":"2.0.1","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.0.1","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"6499c39f59e2894799c43a8c7e7d3dd0703fa33e","tarball":"https://registry.npmjs.org/files/-/files-2.0.1.tgz","fileCount":4,"integrity":"sha512-mEAVJZdHT/xv05g5nYcv105U7uBPVV6LMNcELUk8hFH3sWOtUYpUdERL+LtvodDNrzjM8GLRuC6b0r3Th/CS4A==","signatures":[{"sig":"MEUCIQC6ix35oAQN9w+b5WasgVkLVhPmuZQv9cclKhBmgiogFQIgYAEAZ9z3IJTK9IofC2WZDfS8BsnCEIUDcWPBentIQd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJezNrRCRA9TVsSAnZWagAAkUEQAJ0LL3/VVQNqDJDb9VXW\nP1LObD4Kb4XLJNl8HhL7Mzs0D4BO9uaSOqsX0mLlrt6KtzX5HmO/bhkVd3Pf\nBwiCbEJtsQMwZ7USDkEzG+zpAsBplbJANVG5qG3j4hGeEshSmHJKxBbwEZEX\nlFbjoXHpYFtuHxLLunB0d/RP/6uNq3l+CDFa2G+gyRbvcgjRxbBlV6qSDFA8\n1bALOORFxZ7nU4sIE3hyXTEIZq+Uee33grgRsMUP17aDQuqE2VmH4K8Ft6bH\noiq+AijIjp/5wEXNNPFDjlszH95lKjtATWAvC3PtaNRobPaNbdNpBfnQIp28\nCD668f302Ef08Q9C52FSB9Ef+qU9xN6HFSFWJ9I//b31OkmLAs6ErR0WxfrN\n939hjn21/Z+3TgJmBIOnHIPnZY65xWnTx/OBh9XVY2SqWvPe7bKP/LIjoUVT\n0aVDwU+t6A6Rkws2nDu88HeeTxmWtCA9BP8Txcxun2DCtwrQMWzIyAoQ8DS+\nBgnIoBebQVDtX3/a6BFWQxUxM4XGfqR6Aa0VLKrLo791EJqYS75UOa1sK+KV\n81Bk20UsGPuUrZxk+rTtPVOFAenvzeo21V5oOoRWCDBVuaOGUOkW7ZpehRTj\nfu0EuYEB0ymo6K/ALtlWqF4VTgKCaHCDPTXr2RLQDt07F2+FIYmXSKZzUBrX\ntbCO\r\n=doGQ\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"testEnvironment":"jest-environment-node"},"main":"files.min.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"8c143c7063cb1f31d6c633d15964174b24c5e6af","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"rollup files.js --name files --output.format esm | uglifyjs -o files.min.js && npm run size","watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.14.5","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"14.3.0","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^25.5.4","rollup":"^1.1.2","uglify-es":"^3.3.9"},"_npmOperationalInternal":{"tmp":"tmp/files_2.0.1_1590483664490_0.6247513256374249","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"files","version":"2.1.0","keywords":["files","fs","filesystem","promise","promises","async","await","all"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.1.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"aadb4f7b8e0cba8761048fcb4243b8c425f97304","tarball":"https://registry.npmjs.org/files/-/files-2.1.0.tgz","fileCount":4,"integrity":"sha512-7vCG9zD4h1tyfPImTwX5r80Z7OqVcA/s1ZhQD/eFrwJELXpbpD8ho6SpJnbsyOfW8EsUdW6Bd9loAN038ta7vQ==","signatures":[{"sig":"MEYCIQCBEsAy03NoJqfPiNw6ru+r0POdGKSRX+TCjglr/uA0IgIhAMVi5z1zJjL6ZY3/3AX5eb68D79qySX8Y1GdSgJCgmS5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19796,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+a5eCRA9TVsSAnZWagAAVH0P/juN3rACj526jVcxfKUi\nPe0tY9XxOzi7wi7K0wJiWOWmieFae7b6elFQ5c2vR+0d843VMFdVZaE8VJig\n3M9psU00rMyC6/7KG/cVZHfA5+nW0PWw7ySF+rnTazrUZ6/2cN3Px+Z5CL74\nTv4Wv59Ibw6NBrJ5oijmin8q/GcAtQ++hl9/NzpHQn453R4UVi+QpR0Tt8f2\n0YQmMWSQZ0JJNFG/Yy1PP4riTw6DWglXk7VeVj7B1T/ERr4+6ctXIl+2Jl/A\nOnDfF1fCPUgMXMZm41LLzMR2nOMWiZ+gT9+vOlUjJ3XrHXhd7eWpTH4LRGjc\nDzYLF974Tan1hoUMKV+BkR/BNpr3xhux9QSonfQBMogB9dxeP/Y7UtypnYSt\n1c0FCweh3PaIIyV2UFc5NGhgEW3lMN6B9g6v+XE+ozGvaD369B9a6lc2/fW/\nyZKywdUNmoYwIOieuVyUHcl1Jy4vW5j8bVQbEDC2RbQarsGaxPLjmYqN1IdO\nFWfAFX5CewDb3/msQCnU0HFo1pTH8PcAUfFMRpziR5KX8/2GKK0OmauxAXBR\ng59PYsEzPk4zXlpUbXXNyai1O+oApLdcwx/O/V/NO1uDy4RdyqLKj2xbNLv2\n8ABECwJkCPUOiDdB03AfZFcZZPVBkidhUve2j2mE/bhs41zzaSWnIc9FMfnc\nM1g0\r\n=jvhz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"transform":{},"testEnvironment":"jest-environment-node"},"main":"files.min.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"4b8301c6d3bc921f1b0f66c4beffce87df9ab67d","scripts":{"size":"echo $(gzip -c files.min.js | wc -c) bytes","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","build":"rollup files.js --name files --output.format esm | uglifyjs -o files.min.js","watch":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll","pretest":"npm run build"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"6.14.5","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"14.3.0","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^25.5.4","rollup":"^1.1.2","uglify-es":"^3.3.9"},"_npmOperationalInternal":{"tmp":"tmp/files_2.1.0_1593421405455_0.6879380810901217","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"files","version":"2.1.1","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.1.1","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"690697ae876ff55a6c16bd986610bbe6c170ad45","tarball":"https://registry.npmjs.org/files/-/files-2.1.1.tgz","fileCount":4,"integrity":"sha512-fLIicLkV3QWsClkNA4xvNoneBo9Skuqgq9sBDVXmF4+R4lrqNLt3EUXkvkVk8w6ebO2vb7GTFtZhqgkUIQTTrg==","signatures":[{"sig":"MEUCIQCMa4llhGfRdD2tcBjHEeUmYsLbfCGTOi5ySCxAtLhwLQIgLGq9C8Gst9zQ68LO4ZO3EQsBjDGOLDKofyVVW7CoTa4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAqYZCRA9TVsSAnZWagAAvVQP+waKomEcV/MDS0y5/bFt\n5gs4bLj7vlZUGa5m8uHWtr+a3vC5/4I2VTU5I1HOrYWPp83sDGmUbRlOQjX5\nYy+aEZApi90EoU6K4E5TgmELh1EwmkNcDvF5rS+7Of086WO2fb0w/zOd+HDW\nPeUYJUOjEiK4AUoqRd0o+vellkrV48Fu5xTqgp1ydV3jQhPm9s5pe1r+DmMH\nlCRkrWlViMRLEwtPg5q2gWcTnKwFKyR6XEG0IBEZl42W2sLv4aJWJ81zZTS9\nsizXxULz4bYuwADlJcIlTBadpkMNFqLtgocb8wkwLaszgWz+CCEhDd1KIEbW\nm1Wqs9mTn34rw0qXf4XjUNoOdoPxrND3HFeX8ivsKdYdk4GF5g6l5VfpjPcK\n0105wDKtFzTK1ROha/MlO2FYsymMjFkxjy8A4OBdc+GfHVjDvl8ilurGQM/u\ngr7iSKCInngUYCoEFBQJZfsbVq6F8VFc0SOq3XkOJK7pwGDiw+Al/vU8/7Mg\nx/3h46Dv9VIGjqOsSIhBoL9rZop2pS2mj7CpkSLbCgQ10Xn78nQM6Zg76wue\n1nG8h+4ZRiu/876IwSu6XUOj8cUOy/mHgCcTdl1/2wMfJcZzeYNCwn5cipwO\n1MKifvbloGRh5wOBZ2TWxYVRUki1gmTY1TUanL14i5UOp5qKyhAvJGzR6HDC\nKwN3\r\n=dU/g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.js","type":"module","funding":{"url":"https://www.paypal.me/franciscopresencia/19"},"gitHead":"d7c2cfc801c0cefc5f43d128a9194116a204629d","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"7.0.8","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"15.2.1","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/files_2.1.1_1610786329265_0.16212716160818363","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"files","version":"2.2.0","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.2.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"866901f31ace9255acca023c955fcd54e9484eff","tarball":"https://registry.npmjs.org/files/-/files-2.2.0.tgz","fileCount":4,"integrity":"sha512-hHE+r4+1+/LkpTg40Gs2QYFYh9QlkcjkAMqxfC0sowtSqrgfTqzxEydnhOFjbLGl2DC7wpnUGYFnYeIaLgAzGA==","signatures":[{"sig":"MEUCIQDioWHsgRIBTqeQVaaaTNX/PdV8jt2WGuIkePBkT9DNJgIgY+uSlZk88y/1L3AkWwvDWufMcQk6gZuVCFOC6ooZaT8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAoa/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2Mw//d3/IBr/jwIWTVKfSLX2QkyrYC4l4F+E1X4bh0NLbsmlhJA5c\r\nJS9HFJxqa6mj/Uoqh50svuICM6t+p7BgKZxC5grWhxpRuBpD/mvsc7SIJ0du\r\n2/pcoFVaf37l56bCnSCA0uP1J8fqdaVfCGddnnAmbVv8Dj2e+HonJYsgAvDP\r\nLRTqUhooe8mxsm3cOimO4vvJ9SgJWAIC2UAla+luVHD9eFNyLeX79FPcP9YD\r\nDOyUrmNOg7pSrbmNk913PoOu9gvqh3aeGCO8F+vjArbfDRKWLpt34QamdKj+\r\nu/rXAA5ou/FA0vZcWCbsixdqQB+r8v7RV/p9NmGH6FfIShX9ZPUQhsJudPiz\r\nf8rdMSGly8IHWVJKdbBYtJXRwuyjRY+bVC009fLpjDB4HlLKiJlUBFUQK1VC\r\nZFvR2NQgFFucB9qfuu1GW8sFH5Q6vN3Dm8ixdwrOWsse0TT/hv/ewfwmM/C0\r\n+fhAalVUbhWPKISAM7gENaz+Fb+LQ6Y7w3LMj1mCjrhVKKvmNosZEqE8Itwj\r\n6WZA9qS+d/GQp5c0bK5mMqCAcMi4qp9UwTQHTen15zx6sfX6taqgxovlj+7R\r\n9DeQSujuUECVQoubjIce93kOO1vZsgpROPv92jrlx/CPHzdXIN40An1gWoXZ\r\nsbPdD17VTUTKbXjgYtEwaPZRIu5gPb3DsFQ=\r\n=iReS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"16bfc1a5d52aa4fe7018c30f7f28ec0edc99b784","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"8.6.0","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"18.0.0","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/files_2.2.0_1661109951007_0.46031360487436945","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"files","version":"2.2.1","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.2.1","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"0b530fa6605de26a956098cb4ce7ffb28fa23aba","tarball":"https://registry.npmjs.org/files/-/files-2.2.1.tgz","fileCount":4,"integrity":"sha512-sk1URpJOFQyHBg3YJYkwFs76LkIAqbAP0wdn++ivK9rzyrk4jlytJVfVgLGruOKd45VjZPO+PHNHgxJrgAaHig==","signatures":[{"sig":"MEQCIHCd5/CziAWnd8Y3xDm3XvI0i8xMtQHveDQ8Kh3J6ghJAiBK7J288/Rz+pJeZS/1q0EzQlzLli0MyflOIA/kxkJrTA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21411,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjAohKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrjDA//QRgjGtqY+UDYz28zDu/hp5spPG3UWrJqkPSLYjmYLaLJpasU\r\n9j6+RSZrQCxz2J0B7QDUV7KM1oOLuB75N126RVIsHrrHCXebXVYLoztEpCqR\r\nKJG0EJlUgnThJJUPNaBsjH3lcEKYOeC8fn9XK3KgVSqGVEnE3lc7KOlxgOcc\r\nFVGH3W04LsnPiuEWMgp7DLWVDo26ijstEp9NiwC2C6lbRl4ev4MCQwSKukXI\r\nndR5g/TgDwTxeY+zvSdYDlLwdOXTyFhf8JoqjusPn7OBsISLY/VcZmAOZzwi\r\nbtPirRbYGyqniAizaybG5T4hc1vqYz1VxmlVWLfHlNIrJjpqUmZ7h0aHjqif\r\n5gZh0PuTZtblD7CEuv1jNLLvxVE+qrgP8GvD+rK7tLk++ty/ib5OUmrJ+LtB\r\nzkLRxOzC6f31iaQ3PRfrF867J+UrhP2DlJaRd9kiKblHwAkGqYgY8fsX1W5x\r\n9KkNQnT5KNISk0ud6uUgWpyASegu5ESioDfajGxmmd7YPCfXQyRwaJ5szK4Q\r\nPfYOhet6luTgVBE6vUkXz7yQEdGOSfHjnpaYi4T53kvzcuTR5WKmlQBSuhPr\r\nj9B8EDRIFb0ePTVQ0sYUuRb3CfPWnrtYHq799eGJyV0VNym7ZK/FEr9WREX2\r\nuvc+hNvRuEwC00M5HG4g6+lx7sdRoqEa3Ls=\r\n=FdiJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"23cccf26b61a15623854210974c024407858d7ca","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"8.6.0","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"18.0.0","dependencies":{"swear":"^1.1.0","atocha":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.0.0"},"_npmOperationalInternal":{"tmp":"tmp/files_2.2.1_1661110345971_0.17632316265055503","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"files","version":"2.2.2","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@2.2.2","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"0ff268196cf636efbc71272916b83fdb34030350","tarball":"https://registry.npmjs.org/files/-/files-2.2.2.tgz","fileCount":4,"integrity":"sha512-O3namoQ0GOENTH4zJo5TbKx5KK/iojM5UmCNMDvildbnPsouPx5M3rXe4R6Y2RGgIJ+yWpIJXGsatgznRaihOw==","signatures":[{"sig":"MEUCIGEFOiiUHPHsrp9eo57d8Qf8ZPKRnGWnw36UKn9dyriIAiEAs3N4UdEpYUyM9s74sgtvfaAkReClrb4MiTzW+bX2siA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj3JLFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqiPA//VchZGiIrVlX8hFiXiNz8JzJopNqoKWPW4Hv7mSZSBYPtTHEA\r\ncOIlyNfmbcAENiaxA3PzmQKCCvclwvU3K591ubbTMr/frDRPHEOBG4M5/ytJ\r\nPLoKWn98ardz2+Vn0/pOgxBMjQRyUDXp4hiHrNoomqYnDo9XKih+GTUqenXB\r\nPevDyCq4eg+ndCgeAaaUfDtpzSK9mYsz7JxWEOqDA0Wih7MI8ZLAw4ZkS9Zl\r\n3L/tNFXC+21yIlMMELPpPrxYbaRtfMsPuirxQG7sUrMA0b8E4oHQIak0y72e\r\nS/ZelAEvxd6ptPKZ4WLnpJ0fbuFVrLvzVmCGO8U1oLXZv3ivwfxz7WN4knhl\r\n2OrpUBROwxCgnts271uONW/PHbuxcNBtD0G5gaj3i9KZO5ox5hnwqrpAplxs\r\nFInKLD5FHjyY2MsMVmzI9lqyM90jTfugyZZLTtwasjMfYaaN0L+BQQrpU7+J\r\nahS35fd7f9ynHsaieFEoFJ3k7dDNawy7pK4Ud+8ghbCylufwu6nd/ym6joVp\r\nQMLos5Syti30BKJVFaem++jp0tDjR5LA7tC9zr1C47h64sMraiB4nesAvr7H\r\nQ2Yz5Zvo97rZU/kyerIGHK+GC4pcfuRkTOOxEYTedjm8DtV28x16XzwnuAbb\r\nFzpsG5LfwuR86H1hsUZGaoBEnnEn4S7vXN0=\r\n=IcDy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"files.js","type":"module","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"5e5c5460a6e5295da056057f607c68394e809e8a","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"8.19.2","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"16.18.1","dependencies":{"swear":"^1.1.2","atocha":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3"},"_npmOperationalInternal":{"tmp":"tmp/files_2.2.2_1675399877184_0.8378969465165442","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"files","version":"3.0.0","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@3.0.0","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"95ad72bc0dbc3e1510dd002af2456f742f3f9c63","tarball":"https://registry.npmjs.org/files/-/files-3.0.0.tgz","fileCount":15,"integrity":"sha512-C5zPyfeRyOTLeTH1xLSMOW0yShfY8rQ21eJAPY4yMuSjwUNpW5Td30wUG5cNR+pOohTuBHO9sL/uURBBMs7CJw==","signatures":[{"sig":"MEUCIQDtXqLbTrNzTe2CuslQrhDMLBzM5SD2oi0JAoMvlnlcCAIgcuGIN3qZx7FHkgXO6/3VH66yP9epUSXl5xw9lztSnOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46604},"jest":{"transform":{}},"main":"files.js","type":"module","types":"index.d.ts","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"fcd71d2f77b565ec4c70f5d6f6e868aa544d7893","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js && npx check-dts","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"10.2.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"20.11.0","dependencies":{"swear":"^1.1.2","atocha":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","check-dts":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/files_3.0.0_1710305745131_0.6461255970911814","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"files","version":"3.0.1","keywords":["files","fs","filesystem","promise","promises","async","await"],"author":{"url":"https://francisco.io/","name":"Francisco Presencia","email":"public@francisco.io"},"license":"MIT","_id":"files@3.0.1","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"homepage":"https://github.com/franciscop/files#readme","bugs":{"url":"https://github.com/franciscop/files/issues"},"dist":{"shasum":"de04ecf4fb4b9dcb74b1dff8088bc1c22c9787d6","tarball":"https://registry.npmjs.org/files/-/files-3.0.1.tgz","fileCount":15,"integrity":"sha512-zTVARY/46KE9x40z4kWSmFtUzw66bygpivvpOpjljf4g57ZT8idC4XErqWvxEf8JVL/pNY4qECiJOJtrB6KC8w==","signatures":[{"sig":"MEUCIAbgFAwDIUou1aNgaCTiC8oayhsIxNvudXO4VoA8ykHzAiEAw+QDQar2PEIWINFqqABIvSi95WlMtqEJY1M4lq5bi+c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46779},"jest":{"transform":{}},"main":"files.js","type":"module","types":"index.d.ts","funding":"https://www.paypal.me/franciscopresencia/19","gitHead":"db10142b89a8e68d69599f41999f335d9cce133f","scripts":{"test":"node --experimental-vm-modules node_modules/jest/bin/jest.js && npx check-dts","start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"repository":{"url":"git+https://github.com/franciscop/files.git","type":"git"},"_npmVersion":"10.2.4","description":"Filesystem API easily usable with Promises and arrays","directories":{},"_nodeVersion":"20.11.0","dependencies":{"swear":"^1.1.2","atocha":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","check-dts":"^0.7.2"},"_npmOperationalInternal":{"tmp":"tmp/files_3.0.1_1710307042429_0.4577845175077546","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"files","version":"3.0.2","description":"Filesystem API easily usable with Promises and arrays","author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"homepage":"https://github.com/franciscop/files#readme","repository":{"type":"git","url":"git+https://github.com/franciscop/files.git"},"bugs":{"url":"https://github.com/franciscop/files/issues"},"funding":"https://www.paypal.me/franciscopresencia/19","license":"MIT","scripts":{"start":"node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll","test":"node --experimental-vm-modules node_modules/jest/bin/jest.js && npx check-dts"},"keywords":["files","fs","filesystem","promise","promises","async","await"],"type":"module","main":"files.js","types":"index.d.ts","dependencies":{"atocha":"^2.0.0","swear":"^1.1.2"},"devDependencies":{"check-dts":"^0.7.2","jest":"^29.7.0"},"jest":{"transform":{}},"_id":"files@3.0.2","gitHead":"ee98731715af4cf1bacd32e050e72367c1e633b6","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-5m6TnISsT5H2pF/XxnsN+vlX3dkA3VWiejrMUxpXfAcbCgcmbeKtVxL9yBen8/FWJNMu8/CbaTep9uHLyqqUlQ==","shasum":"633ea3396d2e92e638e4d99b327203a492e9320e","tarball":"https://registry.npmjs.org/files/-/files-3.0.2.tgz","fileCount":16,"unpackedSize":49166,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDULa3kSYCitUScinGVbKXZbNywHGkm9b8fsekoyYg72AIgZDOjWDfg19KUsVL9Um/CZ7u/pqqwlY5+ZjyM/0a/Ajg="}]},"_npmUser":{"name":"franciscop","email":"public@francisco.io"},"directories":{},"maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/files_3.0.2_1742480210530_0.7337350984551785"},"_hasShrinkwrap":false}},"time":{"created":"2012-06-08T11:55:52.682Z","modified":"2025-03-20T14:16:50.875Z","0.1.0":"2012-06-08T11:55:53.967Z","0.2.0":"2012-06-09T09:53:43.961Z","0.3.0":"2012-06-28T17:40:41.792Z","0.4.0":"2012-07-20T13:53:00.146Z","0.5.0":"2012-07-20T22:01:33.708Z","0.5.1":"2012-07-20T22:02:48.980Z","0.5.2":"2012-07-20T22:08:24.884Z","0.5.5":"2012-07-20T22:20:08.897Z","0.6.0":"2012-07-20T22:27:22.512Z","0.7.1":"2012-07-24T15:49:21.728Z","0.8.0":"2012-10-21T13:36:57.887Z","0.8.1":"2012-11-27T15:00:17.335Z","0.8.2":"2012-11-27T15:01:13.192Z","1.0.0":"2019-02-11T14:59:40.731Z","1.0.1":"2019-11-29T10:00:30.763Z","1.0.2":"2020-01-13T08:06:40.035Z","1.0.3":"2020-01-13T08:16:32.954Z","1.0.4":"2020-01-13T20:15:37.043Z","1.1.0":"2020-01-13T20:17:27.349Z","2.0.0":"2020-05-19T12:21:11.508Z","2.0.1":"2020-05-26T09:01:04.637Z","2.1.0":"2020-06-29T09:03:25.593Z","2.1.1":"2021-01-16T08:38:49.414Z","2.2.0":"2022-08-21T19:25:51.207Z","2.2.1":"2022-08-21T19:32:26.097Z","2.2.2":"2023-02-03T04:51:17.322Z","3.0.0":"2024-03-13T04:55:45.347Z","3.0.1":"2024-03-13T05:17:22.589Z","3.0.2":"2025-03-20T14:16:50.733Z"},"bugs":{"url":"https://github.com/franciscop/files/issues"},"author":{"name":"Francisco Presencia","email":"public@francisco.io","url":"https://francisco.io/"},"license":"MIT","homepage":"https://github.com/franciscop/files#readme","keywords":["files","fs","filesystem","promise","promises","async","await"],"repository":{"type":"git","url":"git+https://github.com/franciscop/files.git"},"description":"Filesystem API easily usable with Promises and arrays","maintainers":[{"name":"franciscop","email":"public@francisco.io"}],"readme":"# 📁 Files [![npm install files](https://img.shields.io/badge/npm%20install-files-blue.svg)](https://www.npmjs.com/package/files) [![test badge](https://github.com/franciscop/files/workflows/tests/badge.svg)](https://github.com/franciscop/files/actions)\n\nA flexible filesystem API for Node and Bun:\n\n```js\nimport { read, walk } from \"files\";\n\n// Find all of the readmes\nconst readmes = await walk(\"demo\")\n  .filter(/\\/readme\\.md$/) // Works as expected!\n  .map(read);\n\nconsole.log(readmes);\n// ['# files', '# sub-dir', ...]\n```\n\n- Works with **`'utf-8'`** by default.\n- Supports **Promises**, **WebStreams**, **NodeStreams** (and Buffers and JSON).\n- Extends promises [with `swear`](https://github.com/franciscop/swear) so you can chain operations easily.\n- **Absolute paths** with the root as the running script.\n- Ignores **the second parameter** if it's not an object so you can work with arrays better like `.map(read)`.\n\nIt's an ideal library if you have to build scripts with many file and folder operations since it's made to simplify those.\n\n| function            | description                                            |\n| ------------------- | ------------------------------------------------------ |\n| [abs()](#abs)       | retrieve the absolute path of the path                 |\n| [copy()](#copy)     | copy a file while keeping the original                 |\n| [dir()](#dir)       | get the directory of the path                          |\n| [exists()](#exists) | check whenever a file or folder exists                 |\n| [home()](#home)     | get the home directory                                 |\n| [join()](#join)     | put several path parts together in a cross-browser way |\n| [list()](#list)     | list all of the files and folders of the path          |\n| [mkdir()](#mkdir)   | create the specified directory                         |\n| [move()](#move)     | copy a file while removing the original                |\n| [name()](#name)     | get the filename of the path                           |\n| [read()](#read)     | read the file from the specified path                  |\n| [remove()](#remove) | remove a file or folder (recursively)                  |\n| [rename()](#rename) | _alias_ of [`.move()`](#move)                          |\n| [stat()](#stat)     | get some information about the current file            |\n| [swear()](#swear)   | the promise wrapper that we use internally             |\n| [tmp()](#tmp)       | find the temporary directory or a folder inside        |\n| [walk()](#walk)     | recursively list all of the files and folders          |\n| [write()](#write)   | create a new file or put data into a file              |\n\n## Swear package\n\nAll of the methods [follow the `swear`](https://github.com/franciscop/swear) promise extension. These are fully compatible with native promises:\n\n```js\n// Using it as normal promises\nconst all = await list(\"demo\");\nconst devFiles = all.filter((file) => !/node_modules/.test(file));\n// ['a.js', 'b.js', ...]\n```\n\nWith the swear workflow, you can apply operations on the promise that will be queued and run on the eventual value:\n\n```js\nconst devFiles = await list(\"demo\").filter(\n  (file) => !/node_modules/.test(file)\n);\n// ['a.js', 'b.js', ...]\n```\n\nSee how we applied the `.filter()` straight into the output of `list()`. Then we have to await for the whole thing to resolve since `list()` is async. If this seems a bit confusing, read along the examples and try it yourself.\n\nFor convenience, you can import and use `swear`:\n\n```js\nimport files, { swear } from \"files\";\n\nfiles.swear();\nswear();\n```\n\n## abs()\n\n```js\nabs(path:string, root=process.cwd():string) => :string\n```\n\nRetrieve the absolute path of the passed argument relative of the directory running the script:\n\n```js\n// cd ~/me/projects/files/ && node index.js\n\nconsole.log(await abs(\"demo\"));\n// /home/me/projects/files/demo\n\nconsole.log(await abs(\"../../Documents\"));\n// /home/me/Documents\n```\n\nIt will return the same string if the path is already absolute.\n\nYou can pass a second parameter to specify any base directory different from the executing environment:\n\n```jsx\n// cd ~/me/projects/files && node ./demo/abs.js ⚠️\n\n// default; Relative to the place where the script is run\nconsole.log(await abs(\"demo\"));\n// /home/me/projects/files/demo\n\n// default; relative to the console location where the script is run\nconsole.log(await abs(\"demo\", process.cwd()));\n// /home/me/projects/files/demo\n\n// relative to the current directory (./demo)\nconsole.log(await abs(\"demo\", import.meta.url));\n// /home/me/projects/files/demo/demo\n```\n\nIf the second parameter is undefined, or if it's _not a string_, it will be completely ignored and the default of the current running dir will be used. This is great for looping on arrays or similar:\n\n```js\nconsole.log(await list(\"demo\").map(abs));\n// [ '/home/me/projects/files/a', '/home/me/projects/files/b' ]\n```\n\n## copy()\n\n```js\ncopy(source:string, destination:string) => :string\n```\n\nCopy the source file into the destination file, which can be in the same folder or in any other. It maintains the original. Returns the resulting file:\n\n```js\n// cd ~/projects/files && node index.js\n\nconsole.log(await copy(\"demo/README.md\", \"demo/readme.md\"));\n// /home/me/files/demo/readme.md\n\nconsole.log(await copy(\"demo/readme.md\", \"demo/docs/readme.md\"));\n// /home/me/files/demo/docs/readme.md\n```\n\nRelated methods:\n\n- [move()](#move): copy a file while removing the original\n\n## dir()\n\n```js\ndir(path:string) => :string\n```\n\nReturns the directory of the passed path:\n\n```js\nconsole.log(await dir(\"~/hello/world.js\"));\n// /home/me/hello\n```\n\nIf the path is already a directory, it returns the one that contains it; its parent:\n\n```js\nconsole.log(await dir(\"~/hello/\"));\n// /home/me\n```\n\n## exists()\n\n```js\nexists(path:string) => :boolean\n```\n\nCheck whenever a file or folder exists:\n\n```js\nconsole.log(await exists(\"readme.md\"));\n// true\n\nconsole.log(await exists(\"non-existing.md\"));\n// false\n```\n\nThis _cannot_ be used with `.filter()`, since in JS `.filter()` is sync and doesn't expect an array of promises to be returned.\n\nTo filter based on whether it exists or not, extend it to an array of promises, then filter that asynchronously and finally retrieve the original file:\n\n```js\nconst keeper = (file) => exists(file).then((keep) => keep && file);\nconst existing = await Promise.all([\"a.md\", \"b.md\"].map(keeper));\nconsole.log(existing.filter((file) => file));\n```\n\n> **Swear interface**: you can use `swear` to make your life a bit easier with its `.filter()`, which accepts promises:\n\n```js\nimport { swear } from \"files\";\nconsole.log(await swear([\"a.md\", \"b.md\"]).filter(exists));\n```\n\n## home()\n\n```js\nhome(arg1:string, arg2:string, ...) => :string\n```\n\nFind the home directory if called without arguments, or the specified directory inside the home folder as specified in the arguments.\n\n```js\nconsole.log(await home());\n// /home/me/\n\nconsole.log(await home(\"demo\"));\n// /home/me/demo/\n\nconsole.log(await home(\"demo\", \"a\"));\n// /home/me/demo/a/\n```\n\nIt will create the specified folder if it does not exist yet.\n\nTo make sure the new folder is empty, you can call `remove()` and `mkdir()` consecutively:\n\n```js\nconst dir = await home(\"demo\").then(remove).then(mkdir);\nconsole.log(dir);\n// /home/me/demo/ (empty)\n```\n\n## join()\n\n```js\njoin(arg1:string, arg2:string, ...) => :string\n```\n\nPut several path segments together in a cross-browser way and return the absolute path:\n\n```js\nconsole.log(await join(\"demo\", \"a\"));\n// /home/me/projects/files/demo/a\n```\n\n## list()\n\n```js\nlist(path=process.cwd():string) => :Array(:string)\n```\n\nGet all of the files and folders of the specified directory into an array:\n\n```js\nconsole.log(await list());\n// ['/home/me/files/node_modules', '/home/me/files/demo/abs.js', ...]\n```\n\nTo scan any other directory specify it as a parameter:\n\n```js\nconsole.log(await list(\"demo\"));\n// ['/home/me/files/demo/a', '/home/me/files/demo/abs.js', ...]\n```\n\n> **Swear interface**: you can iterate and treat the returned value as a normal array, except that you'll have to `await` at some point for the whole thing.\n\n```js\n// Retrieve all of the files and filter for javascript\nconsole.log(await list().filter(/\\.js$/));\n//  ['/home/me/projects/files/files.js', '/home/me/projects/files/files.test.js', ...]\n```\n\nRelated methods:\n\n- [`walk()`](#walk) recursively list all of the files in a directory. Does not output directories.\n\n## mkdir()\n\n```js\nmkdir(path:string) => :string\n```\n\nCreate the specified directory. If it already exists, do nothing. Returns the directory that was created.\n\n```js\n// cd ~/projects/files && node index.js\n\nconsole.log(await mkdir(\"demo/b\"));\n// /home/me/files/demo/b\n```\n\nRelated methods:\n\n- [exists()](#exists): check whether a directory exists.\n- [remove()](#remove): remove a folder or file.\n- [list()](#list): read all the contents of a directory.\n\n## move()\n\n```js\nmove(source:string, destination:string) => :string\n```\n\nPut the source file into the destination file. This can be just a rename or actually changing the folder where the file lives. Returns the resulting file:\n\n```js\n// cd ~/projects/files && node index.js\n\nconsole.log(await move(\"demo/README.md\", \"demo/readme.md\"));\n// /home/me/files/demo/readme.md\n\nconsole.log(await move(\"demo/readme.md\", \"demo/docs/readme.md\"));\n// /home/me/files/demo/docs/readme.md\n```\n\nRelated methods:\n\n- [copy()](#copy): copy a file while keeping the original\n\n## name()\n\n```js\nname(path:string) => :string\n```\n\nGet the filename of the passed path:\n\n```js\nconsole.log(await name(\"~/hello/world.js\"));\n// world.js\n```\n\n## read()\n\n```js\nread(path:string, { type: 'text' }) => :string\n```\n\nRead the specified file contents into a string:\n\n```js\nconsole.log(await read(\"readme.md\"));\n// # files ...\n\nconsole.log(await read(\"data.json\").then(JSON.parse));\n// { hello: \"world\" }\n```\n\nYou can specify other types:\n\n- `text` (default): get the file as a plain string, useful for e.g. `.csv`, `.txt`, `.md`, `.html`, etc.\n- `raw` (Buffer): put the whole file into a Buffer, which is useful for raw file manipulation (like with [sharp](https://sharp.pixelplumbing.com/)) or binary delivery.\n- `json` (JSON.parse): reads the data as a string, and parses it with `JSON.parse()`.\n- `web` (WebStream): create a new WebStream, which allows for further processing with e.g. `fetch()`.\n- `node` (NodeStreams): create a traditional Node.js Stream, which allows for chunked processing with other Node.js utilities.\n\n```js\nconsole.log(await read(\"data.json\", { type: 'json' });\n// { hello: \"world\" }\n\nconst stream = await read(\"data.json\", { type: 'web' });\nstream.pipeTo(...);\n```\n\nFile reads are relative as always to the executing script. It expects a single argument so you can easily put an array on it:\n\n```js\n// Read two files manually\nconsole.log(await Promise.all([\"a.md\", \"b.md\"].map(read)));\n// ['# A', '# B']\n\n// Read all markdown files in all subfolders (using Swear interface):\nconsole.log(await walk(\"demo\").filter(/\\.md$/).map(read));\n// ['# A', '# B', ...]\n```\n\nIt also follows the [`swear` specification](#swear-package), so you can chain normal string operations on it:\n\n```js\n// Find all the secondary headers in a markdown file\nconsole.log(await read('readme.md').split('\\n').filter(/^##\\s+/));\n// ['## abs()', '## dir()', ...]\n\n// Read all markdown files in all subfolders\nconsole.log(await walk().filter(/\\.md$/).map(read)));\n// ['# A', '# B', ...]\n```\n\n## remove()\n\n```js\nremove(path:string) => :string\n```\n\nRemove a file or folder (recursively) and return the absolute path that was removed\n\n```js\nconsole.log(await remove(\"readme.md\"));\n// /home/me/projects/readme.md\n\nconsole.log(await remove(\"~/old-project\"));\n// /home/me/old-project\n```\n\nPlease be careful when using this, since there is no way of recovering deleted files.\n\n## rename()\n\n> _alias_ of [`move()`](#move).\n\n## stat()\n\n```ts\nstat(path:string) => :Object({\n  isDirectory:fn,\n  isFile:fn,\n  atime:string,\n  mtime:string,\n  ...\n})\n```\n\nGet some information about the current path:\n\n```js\nconsole.log(await stat().isDirectory());\n// true (the current directory)\n\nconsole.log(await stat(\"readme.md\").isFile());\n// true\n\nconsole.log(await stat(\"readme.md\").atime);\n// 2018-08-27T23:42:16.206Z\n```\n\n## swear()\n\n```js\nswear(arg:any) => :any\n```\n\nThis [is **the `swear` package**](https://www.npmjs.com/package/swear) exported here for convenience. It allows you to chain promises using the underlying value methods for convenience.\n\nExample: reading some specific files if they exist **without** swear:\n\n```js\nconst keeper = (file) => exists(file).then((keep) => keep && file);\nconst existing = await Promise.all([\"a.md\", \"b.md\"].map(keeper));\nconsole.log(existing.filter(Boolean).map(read));\n```\n\nReading the same files if they exist **with** swear:\n\n```js\nconsole.log(await swear([\"a.md\", \"b.md\"]).filter(exists).map(read));\n```\n\n## tmp()\n\n```js\ntmp(arg1:string) => :string\n```\n\nFind the temporary directory. Find a subfolder if an argument is passed:\n\n```js\nconsole.log(await tmp());\n// /tmp/\n\nconsole.log(await tmp(\"demo\"));\n// /tmp/demo/\n\nconsole.log(await tmp(\"demo\", \"a\"));\n// /tmp/demo/a/\n```\n\nIt will create the specified folder if it does not exist yet.\n\nTo reuse a temp folder and make sure it's empty on each usage, you can call `remove()` and `mkdir()` consecutively:\n\n```js\nconst dir = await tmp(\"demo\").then(remove).then(mkdir);\nconsole.log(dir);\n// /tmp/demo/ (empty)\n```\n\n## walk()\n\n```js\nwalk(path:string) => :Array(:string)\n```\n\nRecursively list all of the files from the specified folder:\n\n```js\n// Retrieve all files inside './demo'\nawait walk(\"demo\");\n// ['/home/me/projects/files/demo/readme.md', '/home/me/projects/files/demo/a/readme.md', ...]\n```\n\nIt will _not_ return directories. You can then use `filter` to filter e.g. by filename:\n\n```js\n// Retrieve the content of all markdown files inside demo\nawait walk(\"demo\")\n  .filter(/\\.md$/)\n  .map(read);\n// ['# Readme A', '# Me also', ...]\n```\n\nNote: you could also apply the regex straight in the filter since we are using [swear](#swear).\n\n## write()\n\n```js\nwrite(path:string, content:any) => :string\n```\n\nCreate a new file or put data into a file that already exists. Returns the path of the file:\n\n```js\n// Write to a file and then read its contents\nconst path = await write(\"demo.txt\", \"Hello!\");\n\n// Write it as a webstream\nconst res = await fetch();\nawait write(\"requested.txt\", res.body);\n```\n\nYou can pass simple text to write it to the file, which will automatically be written as UTF-8:\n\n```js\nawait write('demo.txt', 'Hello world');\n````\n\nYou can also pass a Readable WebStream or a Node.js Stream:\n\n```js\n// Write it as a webstream\nconst stream = new ReadableStream({\n  start(controller) {\n    controller.enqueue(\"Hello!\");\n    controller.close();\n  },\n});\n\nawait write(\"webstream.txt\", stream);\n\n// Write it as a node stream:\nconst stream = new Readable();\nstream.push(\"Hello!\"); // the string you want\nstream.push(null); // indicates end-of-file basically - the end of the stream\n\nawait write(\"demo/deleteme.md\", stream);\n```\n\nIf the folder of the target file doesn't exist it will create it.\n\nIt accepts multiple types for the contect, specifically it accepts `string`, `Buffer`, `ReadableStream` (WebStreams), `Readable` (NodeStreams) or a serializable object/array that will be converted to JSON.\n","readmeFilename":"readme.md","users":{"fgribreau":true,"mhaun0910":true}}