{"_id":"multi-fs","_rev":"31-08b571497e1cd9966422892e5b2b0eee","name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","dist-tags":{"latest":"1.0.1"},"versions":{"0.1.0":{"name":"multi-fs","version":"0.1.0","description":"A client for doing FS operations in multiple places in sync.","main":"multi-fs.js","directories":{"test":"test"},"dependencies":{"manta-client":"^1.0.5","once":"~1.3.0","ssh2":"~0.2.18"},"devDependencies":{"mkdirp":"~0.3.5","rimraf":"~2.2.6","tap":"~0.4.8"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"keywords":["fs","redundancy","ssh","scp","manta"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/multi-fs/issues"},"homepage":"https://github.com/npm/multi-fs","_id":"multi-fs@0.1.0","dist":{"shasum":"589304f9fe08a9581e71173e24b7f04f84ba52d3","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.1.0.tgz","integrity":"sha512-FcSDp6APKIc2CmaYr3dxb/KPpqqE8KmBGTcuHIYfGFa1pR5DvXuD9McORjc4em05+P2qPv69sKIDoUcmwMNYTg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDo143IgLJrK7GQgAt2Q62UHWaiXsoddbHxrGRbFmdMpQIgGOFJ0ZLTsZ89ueXuAqpcyciC9pgQy/FlxRSX3Pku9ps="}]},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}]},"0.2.0":{"name":"multi-fs","version":"0.2.0","description":"A client for doing FS operations in multiple places in sync.","main":"multi-fs.js","directories":{"test":"test"},"dependencies":{"manta-client":"^1.0.5","once":"~1.3.0","ssh2":"~0.2.18"},"devDependencies":{"mkdirp":"~0.3.5","rimraf":"~2.2.6","tap":"~0.4.8"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"keywords":["fs","redundancy","ssh","scp","manta"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/multi-fs/issues"},"homepage":"https://github.com/npm/multi-fs","_id":"multi-fs@0.2.0","dist":{"shasum":"42b1eaef429b656fd84c057102f073a461cb0a00","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.2.0.tgz","integrity":"sha512-fr0pw5whCWlJeN1NiFpRZsj/Ub8J8QitQ0Gq/7RqjHMbYWFoC9EvDIlWdxC0BTKQXDROrThUrT1PMD3Ctn+sCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGwqETkcKt4HZp4pH/xrLrsipCpEY2fPNYNGBch2gEt2AiBm+VvbblOBGWbdnomWWACJ/9QUXPWwgP6uY5edcEws1A=="}]},"_from":".","_npmVersion":"1.4.4","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"}]},"0.3.0":{"name":"multi-fs","version":"0.3.0","description":"A client for doing FS operations in multiple places in sync.","main":"multi-fs.js","directories":{"test":"test"},"dependencies":{"manta-client":"^1.0.5","once":"~1.3.0","ssh2":"~0.2.18"},"devDependencies":{"mkdirp":"~0.3.5","rimraf":"~2.2.6","tap":"~0.4.8"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"keywords":["fs","redundancy","ssh","scp","manta"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/multi-fs/issues"},"homepage":"https://github.com/npm/multi-fs","_id":"multi-fs@0.3.0","_shasum":"f9c1250bd18d13b3972017e191c4e04c171871b9","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"f9c1250bd18d13b3972017e191c4e04c171871b9","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.3.0.tgz","integrity":"sha512-F+yzab307ov7jvstB3ky+1y25AJ8nJtz3VeWQGh23osGzQtZOK4vmA6rfjMNaIWL5HDaYQctqyfSALkMh5FRcA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCUH9gY2NQ5EvEMd7g4JBBuEzCsNmBEcMoyMup+c1vMAQIgGk2CIgtuYH6Isypq6Owzyr187MjtH8zsP1LNuh4d/18="}]}},"0.4.0":{"name":"multi-fs","version":"0.4.0","description":"A client for doing FS operations in multiple places in sync.","main":"multi-fs.js","directories":{"test":"test"},"dependencies":{"manta-client":"^1.0.5","once":"~1.3.0","ssh2":"~0.2.18","tmp":"0.0.23"},"devDependencies":{"mkdirp":"~0.3.5","rimraf":"~2.2.6","tap":"~0.4.8"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"keywords":["fs","redundancy","ssh","scp","manta"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/multi-fs/issues"},"homepage":"https://github.com/npm/multi-fs","_id":"multi-fs@0.4.0","_shasum":"c483a39eda1f9e0fb48ee36691dbd351cee1b67e","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"c483a39eda1f9e0fb48ee36691dbd351cee1b67e","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.4.0.tgz","integrity":"sha512-Kuha46GLLkZnKBoLljfzyN3KJg0LWmla5XOulJ0sM6ZJ8BNOte4rj0xu0oY/hL0wXChwA7/gpg7lGWmWdxvvfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDnxlnbmqVWVHl5uQxi29hWUqvkF/Dt98v7RzZm1EcRNQIgFJNvtgPkZay2s11efwYgX6ghKP9oT8+bmAYAfXU3fss="}]}},"0.4.1":{"name":"multi-fs","version":"0.4.1","description":"A client for doing FS operations in multiple places in sync.","main":"multi-fs.js","directories":{"test":"test"},"dependencies":{"manta-client":"^1.0.5","once":"~1.3.0","ssh2":"~0.2.18","tmp":"0.0.23"},"devDependencies":{"mkdirp":"~0.3.5","rimraf":"~2.2.6","tap":"~0.4.8"},"scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"keywords":["fs","redundancy","ssh","scp","manta"],"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"license":"ISC","bugs":{"url":"https://github.com/npm/multi-fs/issues"},"homepage":"https://github.com/npm/multi-fs","gitHead":"898c14d38ec8485cad23173e02cad28c2a6ae7ab","_id":"multi-fs@0.4.1","_shasum":"47e0e0565ff5b3cded5b6a99b6d2f26bf44d88f2","_from":".","_npmVersion":"1.4.13","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"47e0e0565ff5b3cded5b6a99b6d2f26bf44d88f2","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.4.1.tgz","integrity":"sha512-i2Z1OQQQtHo9hfRAlhAk68xbQvis+QDBstFoyi3cs0iic7hblm7FIIuvDIdbpi9SUcGMRiriGatZmUGPfVQuJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGhGiDrdevcfKr4coH5UJHtwMH0j0uOaZTsyq4v6n3foAiAXiWctWgIfYFFoIj3KzvtN1Ez3NHm9aY6bP0NEOtz4jg=="}]}},"0.5.0":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.5.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"~0.4.13"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"b2a9ad6d0a3b5fb3018fb1b9b37db79f850cffc5","_id":"multi-fs@0.5.0","_shasum":"d98ff4e042e0b1a70252fad393caf94c59f73102","_from":".","_npmVersion":"2.1.3","_nodeVersion":"0.10.31","_npmUser":{"name":"isaacs","email":"i@izs.me"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"d98ff4e042e0b1a70252fad393caf94c59f73102","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.5.0.tgz","integrity":"sha512-4a8zP/ETzhkYlfH5tZHWbDXvmnDEoqRMDsYBbcRRCeoP2LMZ8kgd2+EbySki8qrJFTfKUIiy5BjqDJyLKCAwsg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB8WFaG1Ygr4x+8pd+W0Ch5B1Ef7fUUJPIds1tCtwus+AiEAjiHEm1EwkcCwnvBXcevTA8Go3BE6gqVclcSib+m3LUg="}]}},"0.5.1":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.5.1","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"~0.4.13"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"904902e53037b9af0d7b0172c46fa92fb7a681a6","_id":"multi-fs@0.5.1","_shasum":"4bc4d380ad14f8c32d7ccb6b76883927fee199bf","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.31","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"4bc4d380ad14f8c32d7ccb6b76883927fee199bf","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.5.1.tgz","integrity":"sha512-Kk1FmY66VBR5YvQk72KbJHoZ3JsZds9q+w215WH0/M8CFgL4Z4tyuDtRa8EbHuMR+uXoid3psVFMhJkUgXcYlQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH2xa49A2NHssMQjb4kEQgd1Klbos4wz79Pbud0vZ72HAiA2ObjTnCSvK2H6Te+0RzhpaTGWBSHSXQvXdilNwGiRCQ=="}]}},"0.5.2":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.5.2","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"~0.4.13"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"fb5c4678fa9ac83e12693200e12a33f8f40ae6d2","_id":"multi-fs@0.5.2","_shasum":"33580e7201e2c53957c813220a151553acc1dd86","_from":".","_npmVersion":"2.1.5","_nodeVersion":"0.10.31","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"33580e7201e2c53957c813220a151553acc1dd86","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.5.2.tgz","integrity":"sha512-0M5YciK9vZgtJeXxUj4vGRGMiibPLDQnHgjgNWeuCLTxf1eklUxGH1N5VftLfDAk26ljMSjUVCnKaD3fRXqMJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZlCsW/7Ys8EAyLv1RRAbEZLDbzVDeMAJDN6vUiRf0VAIhAK09GnM/d7NetHTmfT+/XRxUFwFv6PgCxMYs9dve2RAT"}]}},"0.5.3":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.5.3","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"~0.4.13"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"1e55ccc076ce66e96b11b71c709af6c4201b551e","_id":"multi-fs@0.5.3","_shasum":"7f96a078b8de4c90163cd435346c54e37cbaae3b","_from":".","_npmVersion":"2.1.6","_nodeVersion":"0.10.31","_npmUser":{"name":"ceejbot","email":"ceejceej@gmail.com"},"maintainers":[{"name":"isaacs","email":"i@izs.me"},{"name":"ceejbot","email":"ceejceej@gmail.com"}],"dist":{"shasum":"7f96a078b8de4c90163cd435346c54e37cbaae3b","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.5.3.tgz","integrity":"sha512-xOcmZGUM8Bz2HY/6nJUR6yYmmNBpWb2DtO/HbDwZpvePmiatlSVeMTXEFeXsULuVt41eOqIQ/NIX5XzrNj/bqQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC6OrwwAL1QMFovr9zxfD+L46oNXlIa5mRcUlw3wBarngIhAJgUnvKlcKKL0Q+UJPVDuee3xm9dkJSrRFFz4rSi448F"}]}},"0.6.0":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.6.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"^1.2.0"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs.git"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"59b204625b7d4eb3f0d86a38aeba35b2df8e454e","_id":"multi-fs@0.6.0","_shasum":"7c06c64fe255e415c2de3e507398351e8889afe7","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.2.3","_npmUser":{"name":"soldair","email":"soldair@gmail.com"},"dist":{"shasum":"7c06c64fe255e415c2de3e507398351e8889afe7","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.6.0.tgz","integrity":"sha512-P4tzIVuaUocTTjzhyQl5Z3qI2kFXNXtr8HsVpePGQ3RiiHCYzDaC0GtKyOjbnURLTfpMpL+g656iTupKHVi79A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSeHkVKA4X+Miooevkczrhrl8+yjtu70F1aF6XD8qrmQIhAMeaNMM4i5iNiPaakfbYvCF6oDQr8rUCIvPlgqy5jX78"}]},"maintainers":[{"name":"ceejbot","email":"ceejceej@gmail.com"},{"name":"isaacs","email":"i@izs.me"},{"name":"soldair","email":"soldair@gmail.com"}]},"0.6.1":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"0.6.1","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"manta-client":"^1.0.5","once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","tap":"^1.2.0"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp","manta"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs.git"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js"},"gitHead":"e6a4f9158cbb50673a37b491eaced8d167f7dcad","_id":"multi-fs@0.6.1","_shasum":"cea862c3a9e039e5a157d37e01766eb9c6a72eed","_from":".","_npmVersion":"3.8.5","_nodeVersion":"5.9.1","_npmUser":{"name":"mmalecki","email":"me@mmalecki.com"},"dist":{"shasum":"cea862c3a9e039e5a157d37e01766eb9c6a72eed","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-0.6.1.tgz","integrity":"sha512-eMSda422UgZBxkbR8fEDOu08UFhYwDxN4mGB1NiMfAGz0027C+hXFQgJme+UZqCo9ZHRaGaGR4WZDVGYBWY4Cg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5RNvk6m/e0+Dqg7IKWqPhptatrq1j04qaewKVwLzreQIhAKqOSIW1kh+JkpRwO0xLh70sqjUVZslWFFpocG+sIoSj"}]},"maintainers":[{"name":"ceejbot","email":"ceejceej@gmail.com"},{"name":"isaacs","email":"i@izs.me"},{"name":"mmalecki","email":"me@mmalecki.com"},{"name":"soldair","email":"soldair@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/multi-fs-0.6.1.tgz_1460990840227_0.6444049968849868"}},"1.0.0":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"1.0.0","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","standard-version":"^4.2.0","tap":"^1.2.0"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs.git"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js","release":"standard-version"},"gitHead":"14e7212794de909e174e6acb7d4e23fb3023fb48","_id":"multi-fs@1.0.0","_shasum":"b6cbd86568614b6ffe43526e548594c37cab5fcc","_from":".","_npmVersion":"4.6.1","_nodeVersion":"7.1.0","_npmUser":{"name":"bcoe","email":"ben@npmjs.com"},"dist":{"shasum":"b6cbd86568614b6ffe43526e548594c37cab5fcc","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-1.0.0.tgz","integrity":"sha512-sC81YtXD9Y3XwB8HFf0YFBx09rCIbcQjghdy1H5pXCHJlo1pZY84q/MEEiz7LcgN+WUgv746vozsF0p9tvUNjQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAJbRFU4mwtCx/WsIyNRaim1XfwO4QfUuA2RRyVTchrSAiEA/nOJiZHKFGAePEEkpViHN0yN9DqtSno1N60G/xPl590="}]},"maintainers":[{"email":"ben@npmjs.com","name":"bcoe"},{"email":"asrobson@gmail.com","name":"arobson"},{"email":"me@mmalecki.com","name":"mmalecki"},{"email":"soldair@gmail.com","name":"soldair"},{"email":"ceejceej@gmail.com","name":"ceejbot"},{"email":"i@izs.me","name":"isaacs"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/multi-fs-1.0.0.tgz_1500051240496_0.5095465362537652"}},"1.0.1":{"name":"multi-fs","description":"A client for doing FS operations in multiple places in sync.","version":"1.0.1","author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"dependencies":{"once":"~1.3.1","ssh2":"~0.3.6","tmp":"~0.0.24"},"devDependencies":{"mkdirp":"~0.5.0","rimraf":"~2.2.6","standard-version":"^4.2.0","tap":"^1.2.0"},"directories":{"test":"test"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp"],"license":"ISC","main":"multi-fs.js","repository":{"type":"git","url":"git://github.com/npm/multi-fs.git"},"scripts":{"test":"tap test/*.js","lint":"jshint multi-fs.js lib/*.js","release":"standard-version"},"gitHead":"10bd8ea85e610dbf687d1e2b8122a0f339968d1f","_id":"multi-fs@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"6.9.4","_npmUser":{"name":"soldair","email":"soldair@gmail.com"},"dist":{"integrity":"sha512-V2tSbqq8R3SvXTHLNL5ZQRtAtF0mAheXTmDlf7swKPu75+daZqvgt/jSh1RVM62/6lQNtJ7s9Fnga3wp9X7Ggg==","shasum":"85788c448d95b311f4ae9625c435cb68013d4d38","tarball":"https://registry.npmjs.org/multi-fs/-/multi-fs-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDplMOo+UVebV6NCjPzElhNhqtsYGhPENsAftWj1K+ekQIgCSTpZj1C9Km5ujuDbc6w4lCBk/wAwTOdWTgko3FZur0="}]},"maintainers":[{"email":"ben@npmjs.com","name":"bcoe"},{"email":"asrobson@gmail.com","name":"arobson"},{"email":"me@mmalecki.com","name":"mmalecki"},{"email":"soldair@gmail.com","name":"soldair"},{"email":"ceejceej@gmail.com","name":"ceejbot"},{"email":"i@izs.me","name":"isaacs"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/multi-fs-1.0.1.tgz_1504195009424_0.5376036004163325"}}},"readme":"# multi-fs\n\nA client for doing FS operations in multiple places in sync.\n\nCurrent supported targets:\n\n1. File system root paths\n2. Remote unix systems (via ssh)\n\nPlanned supported targets:\n\n1. Rackspace Cloud Files\n2. Amazon S3\n\n[![on npm](http://img.shields.io/npm/v/multi-fs.svg?style=flat)](https://www.npmjs.org/package/multi-fs)  [![Dependencies](http://img.shields.io/david/npm/multi-fs.svg?style=flat)](https://david-dm.org/izs/multi-fs)\n\n\n## USAGE\n\n```javascript\nvar MultiFS = require(\"multi-fs\")\nvar client = new MultiFS([\n  // FS is the default type\n  \"/path/to/some/stuff\",\n\n  // ssh urls are desugared\n  \"ssh://user@host:path/in/home\",\n\n  // setting special ssh options requires using\n  // the full object style, though.\n  {\n    type: \"ssh\",\n    host: \"some-host\",\n    user: \"some-user\",\n    identity: \"/home/.ssh/id_rsa_some_key\",\n    path: \"path/in/home\"\n  },\n\n  // you can use a variant of the ssh client that does file\n  // copies by spawning scp. the options are identical to ssh\n  {\n    type: \"scp\",\n    host: \"some-host\",\n    user: \"some-user\",\n    identity: \"/home/.ssh/id_rsa_some_key\",\n    path: \"path/in/home\"\n  },\n  \"scp://user@host:path/in/home\",\n])\n\n// Paths are not allowed to traverse up past the parent.\nclient.readdir(\"foo/bar\", function (er, files) {\n  if (er) {\n    console.log(\"it failed!\")\n  } else {\n    console.log(\"results:\", files)\n  }\n})\n```\n\n## Methods\n\nAll methods take `cb` as their last argument.\n\nReading functions:\n\n* `stat(path, cb)`\n* `readdir(path, cb)`\n* `readFile(path, [encoding], cb)`\n* `md5(path, cb)`\n\nWriting functions:\n\n* `writeFile(path, data, [encoding], cb)`\n* `writeFilep(path, data, [encoding], cb)`\n* `mkdir(path, cb)`\n* `mkdirp(path, cb)`\n* `unlink(path, cb)`\n* `rmdir(path, cb)`\n* `rmr(path, cb)`\n\n### Results\n\nCallbacks are called with the following arguments:\n\n* `error` First error encountered.  If no errors are encountered, but\n  the data returned is not consistent, then it will return an\n  'Inconsistent Data' error.\n* `result`  The result of the operation.  If consistent results are\n  not found, then this will be set to null.\n* `data`  Errors, results, and extra metadata from all hosts.\n\nFor all methods except `readfile`, it performs the operation on all\ntargets, and will raise an `Inconsistent Data` error if they do not\nreturn matching results.\n\nFor `readfile`, it will call `md5` and compare hashes, and then, if\nthe results all match, it will read the actual file from the first\nclient that returned an md5 hash.\n\nCalls to `writeFile` are atomic on all clients.  It will write to a\ntemporary file like `foo.txt.TMP.cafef00d` and then rename to\n`foo.txt` when finished.  If the write fails, it makes a best effort\nattempt to unlink the temporary file.\n\n### Stat Objects\n\nBecause different systems represent file/directory stats differently,\nstat calls return a simple object with only `isFile` and `iDirectory`\nboolean members as the first argument.  The original stat objects from\nthe underlying systems are returned in the `data` argument.\n\n## Streams\n\nI think it'd be great to have `createReadStream(p, cb)` and\n`createWriteStream(p, cb)` methods on the client, especially since all\nthe targets (fs, ssh2, etc.) support streams already.\n\nHowever, especially for readable streams, it's not at all clear how to\nhandle inconsistencies.  Right now, `readFile` will raise an\n`Inconsistent Data` error if two hosts return different stuff.\nHowever, with a readable stream, it'd have to be checking each chunk\nsomehow, and that gets pretty complicated.\n\nProbably that \"check multiple streams and make sure they're all\nproducing the same data\" thing should be a separate module.\n\nFor writable streams, it's a bit easier, since it's just a\nmultiplexing pipe thing, but hasn't been done at this time.\n","maintainers":[{"email":"ben@npmjs.com","name":"bcoe"},{"email":"asrobson@gmail.com","name":"arobson"},{"email":"me@mmalecki.com","name":"mmalecki"},{"email":"soldair@gmail.com","name":"soldair"},{"email":"ceejceej@gmail.com","name":"ceejbot"},{"email":"i@izs.me","name":"isaacs"}],"time":{"modified":"2022-06-20T13:19:53.495Z","created":"2014-03-05T18:16:02.745Z","0.1.0":"2014-03-05T18:16:02.746Z","0.2.0":"2014-03-09T23:23:06.434Z","0.3.0":"2014-05-01T17:14:58.167Z","0.4.0":"2014-05-22T21:51:51.072Z","0.4.1":"2014-06-04T21:01:47.665Z","0.5.0":"2014-10-19T23:48:01.400Z","0.5.1":"2014-10-20T02:39:46.025Z","0.5.2":"2014-10-21T19:12:47.707Z","0.5.3":"2014-10-27T18:42:15.352Z","0.6.0":"2016-01-14T18:37:13.909Z","0.6.1":"2016-04-18T14:47:22.797Z","1.0.0":"2017-07-14T16:54:00.584Z","1.0.1":"2017-08-31T15:56:49.567Z"},"homepage":"https://github.com/npm/multi-fs","keywords":["fs","redundancy","ssh","scp"],"repository":{"type":"git","url":"git://github.com/npm/multi-fs.git"},"author":{"name":"Isaac Z. Schlueter","email":"i@izs.me","url":"http://blog.izs.me/"},"bugs":{"url":"https://github.com/npm/multi-fs/issues"},"license":"ISC","readmeFilename":"README.md","contributors":[{"name":"C J Silverio","email":"ceejceej@gmail.com"}],"users":{"cryogena":true}}