{"_id":"mantafs","_rev":"38-51aa6c68778d5a4b3098340cb13d69de","name":"mantafs","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"mantafs","version":"0.1.0","author":{"url":"http://joyent.com/","name":"Joyent, Inc."},"license":"MPL","_id":"mantafs@0.1.0","maintainers":[{"name":"mcavage","email":"mcavage@gmail.com"}],"homepage":"https://github.com/joyent/node-mantafs","bugs":{"url":"https://github.com/joyent/node-mantafs/issues"},"dist":{"shasum":"f8231c7ffcdf413a0657b3b601a69f098af36909","tarball":"https://registry.npmjs.org/mantafs/-/mantafs-0.1.0.tgz","integrity":"sha512-7eXXkyLW5B0+HiBbaB085mbjD3Y8g0MJCzkG4H3+tR6kRxnDd5J6fHp0b/pJqG5fj8ecD6lBcVNnjHpA7VuQLQ==","signatures":[{"sig":"MEQCID+vLiac/JRTTqz/DA2+4UvWuraAoqaRqDzLrajiRprrAiAYf1sSxYzTnGLS0jJdoHA2k092KF385oSq4JXbxblYOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","scripts":{"test":"./node_modules/.bin/istanbul test ./node_modules/.bin/tap test/*.test.js"},"_npmUser":{"name":"mcavage","email":"mcavage@gmail.com"},"repository":{"url":"git://github.com/joyent/node-mantafs.git","type":"git"},"_npmVersion":"1.3.21","description":"`fs` compatible API that caches/stages from Joyent Manta","directories":{},"dependencies":{"once":"1.3.0","manta":"1.2.6","bunyan":"0.22.1","mkdirp":"0.3.5","vasync":"1.4.1","levelup":"0.18.1","lstream":"0.0.3","statvfs":"2.1.0","leveldown":"0.10.0","lru-cache":"2.5.0","node-uuid":"1.4.1","assert-plus":"0.1.5"},"devDependencies":{"tap":"0.4.7","rimraf":"2.2.2","istanbul":"0.1.46"}}},"time":{"created":"2014-04-10T16:27:00.225Z","modified":"2025-11-26T18:15:52.750Z","0.1.0":"2014-04-10T16:27:00.225Z"},"bugs":{"url":"https://github.com/joyent/node-mantafs/issues"},"author":{"url":"http://joyent.com/","name":"Joyent, Inc."},"license":"MPL","homepage":"https://github.com/joyent/node-mantafs","repository":{"url":"git://github.com/joyent/node-mantafs.git","type":"git"},"description":"`fs` compatible API that caches/stages from Joyent Manta","maintainers":[{"email":"todd.whiteman@joyent.com","name":"todd.whiteman"},{"email":"kusorbox@gmail.com","name":"kusor"},{"email":"michael.hicks@joyent.com","name":"michael.hicks"},{"email":"bahamat@digitalelf.net","name":"bahamat"},{"email":"Tr@visPaul.me","name":"tpaul"},{"email":"danmcd@edgecast.io","name":"kebesays"},{"email":"mcavage@gmail.com","name":"mcavage"},{"email":"melloc@writev.io","name":"melloc"}],"readme":"# mantafs\n\n`mantafs` provides an API for interacting with\n[Joyent Manta](http://www.joyent.com/products/manta)that is drop-in compatible\nwith node's [fs](http://nodejs.org/api/fs.html) API.  This API automatically\nmanages interactions with Manta by maintaining a local on-disk cache; this will\ngive you a dramatic performance increase (since in most cases the WAN is\navoided), at the cost of no longer being consistent at any point in time with\nyour data in Manta (i.e., this is 'A' in CAP).\n\n# Usage\n\nAs always:\n\n    npm install mantafs\n\nThen to use:\n\n```javascript\nvar assert = require('assert');\nvar manta = require('manta');\nvar mantafs = require('mantafs');\n\nvar fs = mantafs.createClient({\n    files: 10000,                // how many local files to keep\n    path: '/var/tmp/mantafs',    // where to stash cached files\n    sizeMB: 1000,                // how much disk space to consume\n    ttl: 3600,                   // if no cache-control header, the default TTL\n    manta: manta.createClient({  // must provide a Manta client\n        sign: manta.privateKeySigner({\n            key: fs.readFileSync(process.env.HOME + '/.ssh/id_rsa', 'utf8'),\n            keyId: process.env.MANTA_KEY_ID,\n            user: process.env.MANTA_USER\n        }),\n        user: process.env.MANTA_USER,\n        url: process.env.MANTA_URL\n    })\n});\n\n\nfs.once('ready', function () {\n    fs.readdir('~~/stor', function (err, files) {\n        assert.ifError(err);\n\n        console.log(files);\n\n        fs.close(function (err2) {\n            assert.ifError(err2);\n            manta.close();\n        });\n    });\n});\n\n```\n","readmeFilename":"README.md","users":{"jacques":true}}