{"_id":"@dmedina2015/skipper-gridfs","_rev":"4-29fd6d4a5af70aa6903dd4806329268e","name":"@dmedina2015/skipper-gridfs","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.2":{"name":"@dmedina2015/skipper-gridfs","version":"1.0.2","description":"A skipper adapter to allow uploading files to MongoDB's GridFS. Fork made by Daniel Medina.","main":"index.js","scripts":{"test":"node -e \"require('skipper-adapter-tests')({module: require('./'), uri: process.env.URI});\""},"repository":{"type":"git","url":"git+https://github.com/willhuang85/skipper-gridfs.git"},"keywords":["skipper","gridfs","skipper-gridfs","mongodb","upload"],"author":{"name":"Will Huang","email":"willhuang85@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/willhuang85/skipper-gridfs/issues"},"homepage":"https://github.com/willhuang85/skipper-gridfs","devDependencies":{"skipper-adapter-tests":"github:willhuang85/skipper-adapter-tests#master"},"dependencies":{"concat-stream":"^1.6.2","lodash":"^4.17.11","mime":"^2.3.1","mongodb":"^3.1.8"},"gitHead":"c12a66f86c5aa0cc2008c35997bc2182a0cc6bc5","_id":"@dmedina2015/skipper-gridfs@1.0.2","_nodeVersion":"12.13.1","_npmVersion":"7.5.4","dist":{"integrity":"sha512-aplRi9cg09qnxijWeLAOQ9vFqJOihwxjJUmXVCu18xtnR/obvUW/DKhZqkJW16EMhLYxPEmvI7tkRtS34+Pzcw==","shasum":"81aac573bb265a06e1a83023e1bf8ab2628de6da","tarball":"https://registry.npmjs.org/@dmedina2015/skipper-gridfs/-/skipper-gridfs-1.0.2.tgz","fileCount":6,"unpackedSize":16353,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRArECRA9TVsSAnZWagAAgfoP/0PMk2bYE1m8bFtLJoeC\n/i+g5Rqr8h4f7ADdvVMpKK4Uid6n3FWuTCajKcNH1xP9/7aj4QslqsCZcKsv\ngPOkTb/TIPE2K8uuXCyosX6e2/8/9FaymqLwDiWtOTm5eKf3NBmoiwSqGb8P\n5DJWMJG6WzhnNo7FlRdtMzvdXUbLZSHyVzlxk3UnF5Uv7cZ0SrLrg+9n4CrX\n8lyzncB5pwbGuk5ogAvP2+0WAQPv2qrFT40OyFu0IOZzlmhJZc3fa5SuN/C0\neD6tOsN90nka4cgz1HTkYZCJouIcsopJd8T0O2I3hRRgA3+MKYqdc+e7lesi\nVCDe3Kawf8G/6uGt4M0Me6ckwOWqeHGl8HiwYTRa8DYIOo+rb109oHIs2gu1\nQx+GJ3DsfOZR+8MUmE/wB/WmnHYPqy+FUNnIv+ONmWZmbFZIzPifNFWvq70b\nZsXt+h9S83aPSgAl3hDW2/d4c/pZO4Ne96pnfm7iOj/kNo9tE2FmaYVGc51m\noAJP3hpa9YRxlWgAQslTPyCOpf0P2hzP2ThpdBopzbsLp8Ra3TWRfHKxZNTO\n0fN0sWBz+ZuiaZZaDDMBGVYjV9O+H35dlbCaOMDrKANz4KiidzLKAWoQNxac\nyWgqiD6tBzg88OqHNJIfyPL3daNudSMlzZhoxwiMWvCD5ZJbU7a72mUSMb9Z\n51CA\r\n=RTPU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICG47uBvT96yG80sn7dwfnAGcdJYf6R7jgF/x1qNTau0AiA8WSLVeXXEecw7X4Luy6jNTCcXjeVzN0Tgjnrb+KD6zw=="}]},"_npmUser":{"name":"dmedina2015","email":"daniel.sm@gmail.com"},"directories":{},"maintainers":[{"name":"dmedina2015","email":"daniel.sm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/skipper-gridfs_1.0.2_1615071940200_0.7732578722721402"},"_hasShrinkwrap":false},"1.0.3":{"name":"@dmedina2015/skipper-gridfs","version":"1.0.3","description":"A skipper adapter to allow uploading files to MongoDB's GridFS. Fork made by Daniel Medina.","main":"index.js","scripts":{"test":"node -e \"require('skipper-adapter-tests')({module: require('./'), uri: process.env.URI});\""},"repository":{"type":"git","url":"git+https://github.com/dmedina2015/skipper-gridfs.git"},"keywords":["skipper","gridfs","skipper-gridfs","mongodb","upload"],"author":"","license":"MIT","bugs":{"url":"https://github.com/dmedina2015/skipper-gridfs/issues"},"homepage":"https://github.com/dmedina2015/skipper-gridfs","devDependencies":{},"dependencies":{"concat-stream":"^1.6.2","lodash":"^4.17.11","mime":"^2.3.1","mongodb":"^3.1.8"},"gitHead":"279010d3ceab6cab9605f6acfe1555790017a94b","_id":"@dmedina2015/skipper-gridfs@1.0.3","_nodeVersion":"12.13.1","_npmVersion":"7.5.4","dist":{"integrity":"sha512-RdhHyItiHzEWxhDYv+kBD1/rET8Q50FEPCJab8qoSiGUzM3rq0HnztFDa8ABKt9bbK4CAWlhoE/dhWJmHoN7Dg==","shasum":"84607e6b6f15566d46b4ec42de3cb9cd90303ce3","tarball":"https://registry.npmjs.org/@dmedina2015/skipper-gridfs/-/skipper-gridfs-1.0.3.tgz","fileCount":4,"unpackedSize":12190,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRB3ICRA9TVsSAnZWagAAS10P/1SBFsyhP3QAm4h8+T+4\n48LIGM2Cjcd0vfDYtSXmrBrq2kofymRlPV0nE0OYai/vF10IENvhLdhlE2+6\ndQBI57Ho4NsQS61CrPJ7XAYUXQ4l/t8Xxq22alo+eQqADgJMbmdO/6FoHQBs\n4q6lj1aGYRxB/Bptw3HzfkFHJP9k6UmdVrGzqBCBXxE8V8LjTrvr4YzVt01H\nA5ViWjdXzIy2rch2tqztui3HfOyZKhbpvUH9o+GQeAJH7bYbj65iXFYEoKag\nGmGu5IWsahVjDzcAMCc7aQmhNQ1OYxlwYrQPg+1uPovs5bo7YrANn7kNxwcy\nTOzMpARCuPxx7IM/FmikXjw7HW5Kbzmz3SWzJNTbpbrE7YcmAku+9rZA9iZi\n1ud2ehmuYu4KeyzNjoqvpM5xmTSI5FivWktdfk9pgiJgjjk1KeikyLgyCwDH\niXgxQykZFUVsALYG5wQV7beg3w0G5X6rS8WpUJFlKKYrsiCEBpyoGTcBaZIj\nOEDL4XUtvX/AO/9Aa50jOMdyq08khlaZY3riLeaqrxpAKvplMVVGCBqYDdH9\nw//0yIoU0DSOwo/YmmwuMs5VDGW5Dzb2vzqby7YPNjSdRDKRueiGTZoPs+O1\n0WC50E0K5UJKzvZLbDkhnat1WMGVf0KTQy1Ed8MYXhimKAMHvMYRoHO6o+rG\n35ES\r\n=EqFK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC10n7jKgit884l8BjxNNIriwgxDUz6wifw4CNiyIr4/AiAjmsVtjt6WxiJS0MJkmz/GgyOxo6Y3a+pM0wJ0T2x4kg=="}]},"_npmUser":{"name":"dmedina2015","email":"daniel.sm@gmail.com"},"directories":{},"maintainers":[{"name":"dmedina2015","email":"daniel.sm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/skipper-gridfs_1.0.3_1615076808128_0.16182303837645295"},"_hasShrinkwrap":false},"1.0.5":{"name":"@dmedina2015/skipper-gridfs","version":"1.0.5","description":"A skipper adapter to allow uploading files to MongoDB's GridFS. Fork made by Daniel Medina.","main":"index.js","scripts":{"test":"node -e \"require('skipper-adapter-tests')({module: require('./'), uri: process.env.URI});\""},"repository":{"type":"git","url":"git+https://github.com/dmedina2015/skipper-gridfs.git"},"keywords":["skipper","gridfs","skipper-gridfs","mongodb","upload"],"author":"","license":"MIT","bugs":{"url":"https://github.com/dmedina2015/skipper-gridfs/issues"},"homepage":"https://github.com/dmedina2015/skipper-gridfs","devDependencies":{},"dependencies":{"concat-stream":"^1.6.2","lodash":"^4.17.11","mime":"^2.3.1","mongodb":"^3.1.8"},"gitHead":"ccc852f9bb762e5e494023565bed49ed8e4e29f5","_id":"@dmedina2015/skipper-gridfs@1.0.5","_nodeVersion":"12.13.1","_npmVersion":"7.5.4","dist":{"integrity":"sha512-nQ3rzfK0PXIqh4cDoAYEbBkwSOAZ+QBCwi7h4iJI0kY4P78vX0nsw2gohbnq3S8tOjw1N/SP9nligakieguQaw==","shasum":"5e95e2c372098e942505c787aa668ff504fd98bd","tarball":"https://registry.npmjs.org/@dmedina2015/skipper-gridfs/-/skipper-gridfs-1.0.5.tgz","fileCount":4,"unpackedSize":12472,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgR3s6CRA9TVsSAnZWagAACnAP/2ft5PFO8MhRSiKW8nyO\nofP/Kc/DPoSmVSMyVnYNyLdruSW1e8sPc68mxr+JyM7IT5cT9mKityWuprke\nHPk2CIVCuoiKi9zeOKRC2mLhsk3DvIl+TEwAqcCuFKuXG0TxjPT2/Pt4sROu\nPFwu0Md0aEuEAqh6GfVSwVk6nQa/X1pzsuAKuYg+LI4MDZU5ffC2PX0zHxT2\nOW+Fm0dIWxiakdMmbW3XjvmjLmUU1c1b7aigsVjkNXlTorgetOKgXVYnQHh6\naPwiSi9s1EkCs/W/x5RyYCE5QIXD4DaqkjlipNPjIbj+fNjojxalra5/nla6\nTM70SizSmstJoa282/il/EHIR7dkpaLe6yv4vLi7405R3UEtyRTN+R0HlGpR\nTv9tCwpyMDJPllo3xM78h0yC65Mc8rfVkGAOrw1+RLENDHexFq8bdGmEmb/Q\noWnQ8xD/7x1lCMHv5FrUNp+cBjngxtAVnVcgRXv9MKnx0gZpcOmvebXVcbNr\nD2AOz4gyB+ybM1jWI7w4yCSW2LdYCw1LyhadzF/qA0xRiW12++SczZoz1/X4\nDL6KQaRNRk5/BADJsHC0rz8couTfWsMBFB1vx5067+JrnyycH4tB8XMRFFmw\n08XMswL9DxsIZuZbUep4Ii2j83jaVQsAUn8mfI+PGAMjMZaadHlVUb39MwBC\njHwY\r\n=0Wwv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrewbhkAFr2W+6y6xiPiK/+ISnjoD8W0VivANooLwo8AiEAxyiJclcLeF68JwXp6pSyK9kGs2gZqsgiq4YFJ4ftrkY="}]},"_npmUser":{"name":"dmedina2015","email":"daniel.sm@gmail.com"},"directories":{},"maintainers":[{"name":"dmedina2015","email":"daniel.sm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/skipper-gridfs_1.0.5_1615297338498_0.7473278874132987"},"_hasShrinkwrap":false},"1.1.0":{"name":"@dmedina2015/skipper-gridfs","version":"1.1.0","description":"Alternative skipper adapter to allow uploading files to MongoDB's GridFS. Fork made by Daniel Medina.","main":"index.js","scripts":{"test":"node -e \"require('skipper-adapter-tests')({module: require('./'), uri: process.env.URI});\""},"repository":{"type":"git","url":"git+https://github.com/dmedina2015/skipper-gridfs.git"},"keywords":["skipper","gridfs","skipper-gridfs","mongodb","upload"],"author":{"name":"Daniel Medina"},"license":"MIT","bugs":{"url":"https://github.com/dmedina2015/skipper-gridfs/issues"},"homepage":"https://github.com/dmedina2015/skipper-gridfs","devDependencies":{"skipper-adapter-tests":"^2.0.0"},"dependencies":{"concat-stream":"^1.6.2","lodash":"^4.17.11","mime":"^2.3.1","mongodb":"^3.6.5"},"gitHead":"30cb4d0c9a8cd713f50c24818e1c5a535e05dc7f","_id":"@dmedina2015/skipper-gridfs@1.1.0","_nodeVersion":"14.16.0","_npmVersion":"6.14.11","dist":{"integrity":"sha512-jIQlqog6sscseuYLbEW1BL/LsPooUftSRTO40KWKxNpr7jV8nUIdxrIXh6S2dGCAyh/RhLqSCa/1whCiXG7mIQ==","shasum":"ddb4ac46bbd0a615fce0917e3c867003113a3ed5","tarball":"https://registry.npmjs.org/@dmedina2015/skipper-gridfs/-/skipper-gridfs-1.1.0.tgz","fileCount":6,"unpackedSize":19780,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUrH9CRA9TVsSAnZWagAAK4AP/Az5z33CWOZHI9gGvY2h\neuDQo6ITodFhweq6m9gCk6ViqSlnpvQ87XGHCfHRh1Sc8ose7FRS9axeWBEm\nPStQNIGU7OvF5tMG1ISmTkx6X4y6Mpp4O431YrSSbm+1HB8KJSTeyWcF3Rdz\n7J0efIeNCwovx0eWtRvtHqmUNlo7qKh9xx5lC5Qv3yvdeeQi/3+D7sJQcbrz\nKqfWu3TfYd07/t0UCIj+NTvrXoyw4bEr0AokxQM0qGnB+v8nKYE7gM0Z8xCI\nAXTFZS62EU/nrR7vLAZzdLb5Vu2E+osa1gQWinJzo7HLytvFqRcbnM0esFeP\n2RZXRBg5w0UGYa9PsP6DWM0RDLtmIzNbN3FWM+zrHqDaoMiJbcJ3b5LB4Vyx\nBr0Dg4co6Zlbv8Xf48Ecrsy7L9UEwuwlDBlSEiQrMniX45ck/5o6QCMUKq7y\nghJUHeIsB1YJRq+fOfP0YjD2UKp3y21u3Gu0KMC3QSRIz8M7W+gCGNCBua1W\n/C5O8h5faAAedggUYQk7kcnSEoICrI28xbS/ONnuM6zmjVOevJFGVmr3KNzJ\n83gyV4Yh7oH4gJtoAp7tw2RJyAkMUX2/R5tbLmKUa7/PWMYRplLyQlWb/6S3\niOklW0xL1syA5RN3pHIw/yxwkmX7W0bOh4ZR1S7czTFyu/GqaY4pckQO3RfH\nOd+1\r\n=ISvQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGRvJgytggKOb4Pq3skwpRsv2adRvEljG7ELo9DV1q2sAiEAoL2YK2WhHhNOCUM//UeRVCx8R2g4IZ9Ij5/dO+47PXM="}]},"_npmUser":{"name":"dmedina2015","email":"daniel.sm@gmail.com"},"directories":{},"maintainers":[{"name":"dmedina2015","email":"daniel.sm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/skipper-gridfs_1.1.0_1616032253437_0.564840401183218"},"_hasShrinkwrap":false}},"time":{"created":"2021-03-06T23:05:40.154Z","1.0.2":"2021-03-06T23:05:40.351Z","modified":"2022-04-05T04:58:27.749Z","1.0.3":"2021-03-07T00:26:48.294Z","1.0.5":"2021-03-09T13:42:18.664Z","1.1.0":"2021-03-18T01:50:53.613Z"},"maintainers":[{"name":"dmedina2015","email":"daniel.sm@gmail.com"}],"description":"Alternative skipper adapter to allow uploading files to MongoDB's GridFS. Fork made by Daniel Medina.","homepage":"https://github.com/dmedina2015/skipper-gridfs","keywords":["skipper","gridfs","skipper-gridfs","mongodb","upload"],"repository":{"type":"git","url":"git+https://github.com/dmedina2015/skipper-gridfs.git"},"bugs":{"url":"https://github.com/dmedina2015/skipper-gridfs/issues"},"license":"MIT","readme":"[<img title=\"skipper-gridfs - GridFS filesystem adapter for Skipper\" src=\"http://i.imgur.com/P6gptnI.png\" width=\"290px\" alt=\"skipper emblem - face of a ship's captain\"/>](https://github.com/dmedina2015/skipper-gridfs)\n## GridFS Filesystem Adapter\n\n[![npm version](https://badge.fury.io/js/%40dmedina2015%2Fskipper-gridfs.svg)](https://badge.fury.io/js/%40dmedina2015%2Fskipper-gridfs) &nbsp; \n[![Build Status](https://travis-ci.com/dmedina2015/skipper-gridfs.svg?branch=master)](https://travis-ci.com/dmedina2015/skipper-gridfs)\n&nbsp;\n\n\nGridFS adapter for receiving [upstreams](https://github.com/balderdashy/skipper#what-are-upstreams). Particularly useful for handling streaming multipart file uploads from the [Skipper](https://github.com/balderdashy/skipper) body parser.\n\nThis is a fork from [skipper-gridfs](https://www.npmjs.com/package/skipper-gridfs). Below are the diferences from base repository:\n\n- Added support to `maxBytes` option, using similar logic from `skipper-disk`. Behavior:\n  * An error is thrown when upload stream exceeds bytes defined in `maxBytes` parameter.\n  * Limit is applied for all upload stream (all files in the same request, not for each file individually)\n  * Files uploaded before limit is reached are saved in GridFS. Only the one that exceeds and the subsequent are not saved.\n  * Garbage of unfinished upload is removed using `GridFSBucketWriteStream.abort()` function\n\n- Added support to `onProgress` using same logic from `skipper-disk`\n\n- Added support to Node >= 14 & MongoDB Node Driver 3.6.5\n\n- CI using official [skipper-adapter-test](https://github.com/balderdashy/skipper-adapter-tests)\n\n- Bug fix in function `adapter.rm()` that causes callback to be called twice.\n  Detais about it you find [here](https://github.com/willhuang85/skipper-gridfs/pull/44).\n\nAll the credits about the original package belongs to @willhuang85 and the staff. Great job guys!\n\nCurrently only supports Node 6 and up. Node 15 included!\n\n\n========================================\n\n## Installation\n\n```\n$ npm install @dmedina2015/skipper-gridfs --save\n```\n\nAlso make sure you have skipper [installed as your body parser](http://beta.sailsjs.org/#/documentation/concepts/Middleware?q=adding-or-overriding-http-middleware).\n\n> Skipper is installed by default in [Sails](https://github.com/balderdashy/sails) v1.4.2.\n\n========================================\n\n\n## Usage\n\n```javascript\nreq.file('avatar')\n.upload({\n  adapter: require('@dmedina2015/skipper-gridfs'),\n  uri: 'mongodb://username:password@myhost.com:27017/myDatabase'\n}, function whenDone(err, uploadedFiles) {\n  if (err) return res.negotiate(err);\n  else return res.ok({\n    files: uploadedFiles,\n    textParams: req.params.all()\n  });\n});\n```\n\nFor more detailed usage information and a full list of available options, see the Skipper docs, especially the section on \"[Uploading to GridFS](https://github.com/balderdashy/skipper#uploading-files-to-gridfs)\".\n\n\n| Option          | Type       | Details                                                                                                                                                                                                 |\n| --------------- | :--------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `uri`           | ((string)) | URI to connect to Mongo instance, e.g. `mongodb://username:password@localhost:27107/databasename`.<br/> (Check [mongo client URI syntax](https://docs.mongodb.com/manual/reference/connection-string)). |\n| `bucketOptions` | ((object)) | An optional parameter that matches the GridFSBucket options (Check [mongo gridfs bucket options](http://mongodb.github.io/node-mongodb-native/3.1/api/GridFSBucket.html)).                              |\n| `mongoOptions`  | ((object)) | An optional paramter that matches the MongoClient.connect options (Check [mongo client options](http://mongodb.github.io/node-mongodb-native/3.1/api/MongoClient.html#.connect)).                       |\n| `maxBytes`      | ((integer))| Optional. Max total number of bytes permitted for a given upload, calculated by summing the size of all files in the upstream; e.g. if you created an upstream that watches the \"avatar\" field (`req.file('avatar')`), and a given request sends 15 file fields with the name \"avatar\", `maxBytes` will check the total number of bytes in all of the 15 files.  If maxBytes is exceeded, the already-written files will be left untouched, but unfinshed file uploads will be garbage-collected, and not-yet-started uploads will be cancelled.  (Note that `maxBytes` is currently experimental) |\n| `onProgress`    | ((function)) | Optional. This function will be called again and again as the upstream pumps chunks into the receiver with a dictionary (plain JavaScript object) representing the current status of the upload, until the upload completes.\n\n## Error codes\n\n- `E_EXCEEDS_UPLOAD_LIMIT` _(when `maxBytes` is exceeded for upstream)_\n\n========================================\n\n## Contributions\n\nare welcomed :ok_hand:\n\nTo run the tests:\n\n```shell\n$ URI=mongodb://username:password@localhost:27107/databasename npm test\n```\n\n\n========================================\n\n## License\n\nMIT\n","readmeFilename":"README.md","author":{"name":"Daniel Medina"}}