{"_id":"@apollographql/apollo-upload-server","_rev":"70775","name":"@apollographql/apollo-upload-server","description":"Enhances Apollo GraphQL Server for intuitive file uploads via GraphQL mutations.","dist-tags":{"latest":"5.0.3"},"maintainers":[{"name":"abernix","email":"npmjs@jro.cc"},{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"hwillson","email":"hugh@octonary.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"nim","email":"nim@meteor.com"}],"time":{"modified":"2021-06-03T10:23:22.000Z","created":"2018-08-20T17:36:42.168Z","5.0.3":"2018-08-20T19:20:39.981Z","5.0.2":"2018-08-20T19:12:25.714Z","5.0.1":"2018-08-20T17:36:42.168Z"},"users":{},"author":{"name":"opensource@apollographql.com"},"repository":{"type":"git","url":"git+https://github.com/apollographql/apollo-upload-server.git"},"versions":{"5.0.3":{"name":"@apollographql/apollo-upload-server","version":"5.0.3","description":"Enhances Apollo GraphQL Server for intuitive file uploads via GraphQL mutations.","license":"MIT","author":{"name":"opensource@apollographql.com"},"repository":{"type":"git","url":"git+https://github.com/apollographql/apollo-upload-server.git"},"homepage":"https://github.com/apollographql/apollo-upload-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-upload-server/issues"},"keywords":["apollo","server","graphql","file","upload","multipart","koa","express"],"files":["lib"],"main":"lib","module":"lib/index.mjs","engines":{"node":">=6.10"},"dependencies":{"@babel/runtime-corejs2":"^7.0.0-rc.1","busboy":"^0.2.14","object-path":"^0.11.4"},"peerDependencies":{"graphql":"^0.13.1"},"devDependencies":{"@babel/cli":"^7.0.0-rc.1","@babel/core":"^7.0.0-rc.1","@babel/plugin-transform-runtime":"^7.0.0-rc.1","@babel/preset-env":"^7.0.0-rc.1","ava":"^1.0.0-beta.3","cross-env":"^5.1.3","eslint":"^4.18.2","eslint-plugin-ava":"^4.5.1","eslint-plugin-prettier":"^2.6.0","form-data":"^2.3.2","get-port":"^3.2.0","graphql":"^0.13.1","husky":"^0.14.3","koa":"^2.5.0","lint-staged":"^7.0.0","node-fetch":"^2.1.1","npm-run-all":"^4.1.2","prettier":"^1.11.1","rimraf":"^2.6.2"},"scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"run-p build:*","build:js":"babel src -d lib","build:mjs":"cross-env MODULE=true babel src -d lib --keep-file-extension","postbuild":"prettier 'lib/**/*.{mjs,js}' --write","prewatch":"npm run build","watch":"run-p watch:*","watch:build":"run-p 'build:* -- --skip-initial-build --watch'","watch:test":"ava -w","lint":"run-p lint:*","lint:eslint":"eslint . --ext mjs,js","lint:prettier":"prettier '**/*.{json,md}' -l","fix":"run-p fix:*","fix:eslint":"eslint . --ext mjs,js --fix","fix:prettier":"prettier '**/*.{json,md}' --write","pretest":"npm run build","test":"ava"},"lint-staged":{"*.{mjs,js}":"eslint","*.{json,md}":"prettier -l"},"eslintIgnore":["!.*","node_modules","lib"],"eslintConfig":{"parserOptions":{"sourceType":"module","ecmaVersion":2017,"ecmaFeatures":{"experimentalObjectRestSpread":true}},"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:ava/recommended"],"plugins":["ava","prettier"],"rules":{"curly":["error","multi"],"prettier/prettier":"error"}},"prettier":{"proseWrap":"never","semi":false,"singleQuote":true},"ava":{"cache":false,"verbose":true},"gitHead":"0d4bec18b1392749be982210f202a7c40deeb63d","_id":"@apollographql/apollo-upload-server@5.0.3","_npmVersion":"6.4.0","_nodeVersion":"8.11.4","_npmUser":{"name":"mdg","email":"npm@meteor.com"},"dist":{"shasum":"8558c378ff6457de82147e5072c96a6b242773b7","size":8276,"noattachment":false,"key":"/@apollographql/apollo-upload-server/-/@apollographql/apollo-upload-server-5.0.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@apollographql/apollo-upload-server/download/@apollographql/apollo-upload-server-5.0.3.tgz"},"maintainers":[{"name":"abernix","email":"npmjs@jro.cc"},{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"hwillson","email":"hugh@octonary.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"nim","email":"nim@meteor.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apollo-upload-server_5.0.3_1534792839867_0.8004529308596069"},"_hasShrinkwrap":false,"publish_time":1534792839981,"_cnpm_publish_time":1534792839981},"5.0.2":{"name":"@apollographql/apollo-upload-server","version":"5.0.2","description":"Enhances Apollo GraphQL Server for intuitive file uploads via GraphQL mutations.","license":"MIT","author":{"name":"opensource@apollographql.com"},"repository":{"type":"git","url":"git+https://github.com/apollographql/apollo-upload-server.git"},"homepage":"https://github.com/apollographql/apollo-upload-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-upload-server/issues"},"keywords":["apollo","server","graphql","file","upload","multipart","koa","express"],"files":["lib"],"main":"lib","module":"lib/index.mjs","engines":{"node":">=6.10"},"dependencies":{"@babel/runtime-corejs2":"^7.0.0-rc.1","busboy":"^0.2.14","object-path":"^0.11.4"},"peerDependencies":{"graphql":"^0.13.1"},"devDependencies":{"@babel/cli":"^7.0.0-rc.1","@babel/core":"^7.0.0-rc.1","@babel/plugin-transform-runtime":"^7.0.0-rc.1","@babel/preset-env":"^7.0.0-rc.1","ava":"^1.0.0-beta.3","cross-env":"^5.1.3","eslint":"^4.18.2","eslint-plugin-ava":"^4.5.1","eslint-plugin-prettier":"^2.6.0","form-data":"^2.3.2","get-port":"^3.2.0","graphql":"^0.13.1","husky":"^0.14.3","koa":"^2.5.0","lint-staged":"^7.0.0","node-fetch":"^2.1.1","npm-run-all":"^4.1.2","prettier":"^1.11.1","rimraf":"^2.6.2"},"scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"run-p build:*","build:js":"babel src -d lib","build:mjs":"cross-env MODULE=true babel src -d lib --keep-file-extension","postbuild":"prettier 'lib/**/*.{mjs,js}' --write","prewatch":"npm run build","watch":"run-p watch:*","watch:build":"run-p 'build:* -- --skip-initial-build --watch'","watch:test":"ava -w","lint":"run-p lint:*","lint:eslint":"eslint . --ext mjs,js","lint:prettier":"prettier '**/*.{json,md}' -l","fix":"run-p fix:*","fix:eslint":"eslint . --ext mjs,js --fix","fix:prettier":"prettier '**/*.{json,md}' --write","pretest":"npm run build","test":"ava"},"lint-staged":{"*.{mjs,js}":"eslint","*.{json,md}":"prettier -l"},"eslintIgnore":["!.*","node_modules","lib"],"eslintConfig":{"parserOptions":{"sourceType":"module","ecmaVersion":2017,"ecmaFeatures":{"experimentalObjectRestSpread":true}},"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:ava/recommended"],"plugins":["ava","prettier"],"rules":{"curly":["error","multi"],"prettier/prettier":"error"}},"prettier":{"proseWrap":"never","semi":false,"singleQuote":true},"ava":{"cache":false,"verbose":true},"gitHead":"496403543783ebaa75b20103035ef0ad62459415","_id":"@apollographql/apollo-upload-server@5.0.2","_npmVersion":"6.4.0","_nodeVersion":"8.11.4","_npmUser":{"name":"mdg","email":"npm@meteor.com"},"dist":{"shasum":"b6a46ff01ace73e28e4b40e83837c352c39f7950","size":8338,"noattachment":false,"key":"/@apollographql/apollo-upload-server/-/@apollographql/apollo-upload-server-5.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@apollographql/apollo-upload-server/download/@apollographql/apollo-upload-server-5.0.2.tgz"},"maintainers":[{"name":"abernix","email":"npmjs@jro.cc"},{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"hwillson","email":"hugh@octonary.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"nim","email":"nim@meteor.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apollo-upload-server_5.0.2_1534792345570_0.12765415542997638"},"_hasShrinkwrap":false,"publish_time":1534792345714,"_cnpm_publish_time":1534792345714},"5.0.1":{"name":"@apollographql/apollo-upload-server","version":"5.0.1","description":"Enhances Apollo GraphQL Server for intuitive file uploads via GraphQL mutations.","license":"MIT","author":{"name":"opensource@apollographql.com"},"repository":{"type":"git","url":"git+https://github.com/apollographql/apollo-upload-server.git"},"homepage":"https://github.com/apollographql/apollo-upload-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-upload-server/issues"},"keywords":["apollo","server","graphql","file","upload","multipart","koa","express"],"files":["lib"],"main":"lib","module":"lib/index.mjs","engines":{"node":">=6.10"},"dependencies":{"@babel/runtime-corejs2":"^7.0.0-rc.1","busboy":"^0.2.14","object-path":"^0.11.4"},"peerDependencies":{"graphql":"^0.13.1"},"devDependencies":{"@babel/cli":"^7.0.0-rc.1","@babel/core":"^7.0.0-rc.1","@babel/plugin-transform-runtime":"^7.0.0-rc.1","@babel/preset-env":"^7.0.0-rc.1","ava":"^1.0.0-beta.3","cross-env":"^5.1.3","eslint":"^4.18.2","eslint-plugin-ava":"^4.5.1","eslint-plugin-prettier":"^2.6.0","form-data":"^2.3.2","get-port":"^3.2.0","graphql":"^0.13.1","husky":"^0.14.3","koa":"^2.5.0","lint-staged":"^7.0.0","node-fetch":"^2.1.1","npm-run-all":"^4.1.2","prettier":"^1.11.1","rimraf":"^2.6.2"},"scripts":{"clean":"rimraf lib","prebuild":"npm run clean","build":"run-p build:*","build:js":"babel src -d lib","build:mjs":"cross-env MODULE=true babel src -d lib --keep-file-extension","postbuild":"prettier 'lib/**/*.{mjs,js}' --write","prewatch":"npm run build","watch":"run-p watch:*","watch:build":"run-p 'build:* -- --skip-initial-build --watch'","watch:test":"ava -w","lint":"run-p lint:*","lint:eslint":"eslint . --ext mjs,js","lint:prettier":"prettier '**/*.{json,md}' -l","fix":"run-p fix:*","fix:eslint":"eslint . --ext mjs,js --fix","fix:prettier":"prettier '**/*.{json,md}' --write","pretest":"npm run build","test":"ava"},"lint-staged":{"*.{mjs,js}":"eslint","*.{json,md}":"prettier -l"},"eslintIgnore":["!.*","node_modules","lib"],"eslintConfig":{"parserOptions":{"sourceType":"module","ecmaVersion":2017,"ecmaFeatures":{"experimentalObjectRestSpread":true}},"env":{"es6":true,"node":true},"extends":["eslint:recommended","plugin:ava/recommended"],"plugins":["ava","prettier"],"rules":{"curly":["error","multi"],"prettier/prettier":"error"}},"prettier":{"proseWrap":"never","semi":false,"singleQuote":true},"ava":{"cache":false,"verbose":true},"gitHead":"b8a9b8de125d3cde1af54e7f69badcd0409dd5d3","_id":"@apollographql/apollo-upload-server@5.0.1","_npmVersion":"6.4.0","_nodeVersion":"8.11.4","_npmUser":{"name":"mdg","email":"npm@meteor.com"},"dist":{"shasum":"b4ecdb258e32248f79a2b361c51ebb114f824b32","size":7588,"noattachment":false,"key":"/@apollographql/apollo-upload-server/-/@apollographql/apollo-upload-server-5.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@apollographql/apollo-upload-server/download/@apollographql/apollo-upload-server-5.0.1.tgz"},"maintainers":[{"name":"abernix","email":"npmjs@jro.cc"},{"name":"apollo-bot","email":"npm@apollographql.com"},{"name":"hwillson","email":"hugh@octonary.com"},{"name":"martijnwalraven","email":"martijn@martijnwalraven.com"},{"name":"nim","email":"nim@meteor.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apollo-upload-server_5.0.1_1534786602052_0.8744086453682691"},"_hasShrinkwrap":false,"publish_time":1534786602168,"_cnpm_publish_time":1534786602168}},"readme":"![Apollo upload logo](https://cdn.rawgit.com/jaydenseric/apollo-upload-server/6831fef/apollo-upload-logo.svg)\n\n# apollo-upload-server\n\n[![npm version](https://img.shields.io/npm/v/apollo-upload-server.svg)](https://npm.im/apollo-upload-server) ![Licence](https://img.shields.io/npm/l/apollo-upload-server.svg) [![Github issues](https://img.shields.io/github/issues/jaydenseric/apollo-upload-server.svg)](https://github.com/jaydenseric/apollo-upload-server/issues) [![Github stars](https://img.shields.io/github/stars/jaydenseric/apollo-upload-server.svg)](https://github.com/jaydenseric/apollo-upload-server/stargazers) [![Travis status](https://img.shields.io/travis/jaydenseric/apollo-upload-server.svg)](https://travis-ci.org/jaydenseric/apollo-upload-server)\n\nEnhances [Apollo](https://apollographql.com) for intuitive file uploads via GraphQL queries or mutations. Use with a [GraphQL multipart request spec client implementation](https://github.com/jaydenseric/graphql-multipart-request-spec#client) such as [apollo-upload-client](https://github.com/jaydenseric/apollo-upload-client).\n\n## Setup\n\nInstall with peer dependencies using [npm](https://www.npmjs.com):\n\n```shell\nnpm install apollo-upload-server graphql\n```\n\nAdd the middleware just before [graphql-server](https://github.com/apollographql/graphql-server).\n\n### Options\n\n* `maxFieldSize` (integer): Max allowed non-file multipart form field size in bytes; enough for your queries (default: 1 MB).\n* `maxFileSize` (integer): Max allowed file size in bytes (default: Infinity).\n* `maxFiles` (integer): Max allowed number of files (default: Infinity).\n\n### [Koa](http://koajs.com)\n\n```js\nimport { apolloUploadKoa } from 'apollo-upload-server'\n\n// …\n\nrouter.post(\n  '/graphql',\n  koaBody(),\n  apolloUploadKoa(/* Options */),\n  graphqlKoa(/* … */)\n)\n```\n\n### [Express](http://expressjs.com)\n\n```js\nimport { apolloUploadExpress } from 'apollo-upload-server'\n\n// …\n\napp.use(\n  '/graphql',\n  bodyParser.json(),\n  apolloUploadExpress(/* Options */),\n  graphqlExpress(/* … */)\n)\n```\n\n### Custom middleware\n\nMiddleware wraps the async function `processRequest` which accepts a Node.js request and an optional [options object](#options) as arguments. It returns a promise that resolves an operations object for a GraphQL server to consume (usually as the request body). Import it to create custom middleware:\n\n```js\nimport { processRequest } from 'apollo-upload-server'\n```\n\n### `Upload` scalar\n\nA file upload promise that resolves an object containing:\n\n* `stream`\n* `filename`\n* `mimetype`\n* `encoding`\n\nIt must be added to your types and resolvers:\n\n```js\nimport { makeExecutableSchema } from 'graphql-tools'\nimport { GraphQLUpload } from 'apollo-upload-server'\n\nconst schema = makeExecutableSchema({\n  typeDefs: `scalar Upload`,\n  resolvers: { Upload: GraphQLUpload }\n})\n```\n\n## Usage\n\nFiles uploaded via a [GraphQL multipart request](https://github.com/jaydenseric/graphql-multipart-request-spec) appear as [`Upload` scalars](#upload-scalar) in resolver arguments. The upload streams can be used to store the files in the local filesystem or in the cloud. See also [apollo-upload-client usage](https://github.com/jaydenseric/apollo-upload-client#usage) and the [example API and client](https://github.com/jaydenseric/apollo-upload-examples).\n\n## Support\n\n* Node.js v6.10+, see `package.json` `engines`.\n","_attachments":{},"homepage":"https://github.com/apollographql/apollo-upload-server#readme","bugs":{"url":"https://github.com/apollographql/apollo-upload-server/issues"},"license":"MIT"}