Update Apollo Server to v2.3, re-enable build in file uploads.
Apollo Server v2.3+ uses graphql-upload, see https://github.com/apollographql/apollo-server/pull/2054 .
This commit is contained in:
parent
86d850b841
commit
884f671997
316
api/package-lock.json
generated
316
api/package-lock.json
generated
@ -4,23 +4,13 @@
|
||||
"lockfileVersion": 1,
|
||||
"dependencies": {
|
||||
"@apollographql/apollo-tools": {
|
||||
"version": "0.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.2.8.tgz",
|
||||
"integrity": "sha512-A7FTUigtpGCFBaLT1ILicdjM6pZ7LQNw7Vgos0t4aLYtvlKO/L1nMi/NO7bPypzZaJSToTgcxHJPRydP1Md+Kw==",
|
||||
"version": "0.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.2.9.tgz",
|
||||
"integrity": "sha512-AEIQwPkS0QLbkpb6WyRhV4aOMxuErasp47ABv5niDKOasQH8mrD8JSGKJAHuQxVe4kB8DE9sLRoc5qeQ0KFCHA==",
|
||||
"requires": {
|
||||
"apollo-env": "0.2.5"
|
||||
}
|
||||
},
|
||||
"@apollographql/apollo-upload-server": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/apollo-upload-server/-/apollo-upload-server-5.0.3.tgz",
|
||||
"integrity": "sha512-tGAp3ULNyoA8b5o9LsU2Lq6SwgVPUOKAqKywu2liEtTvrFSGPrObwanhYwArq3GPeOqp2bi+JknSJCIU3oQN1Q==",
|
||||
"requires": {
|
||||
"@babel/runtime-corejs2": "^7.0.0-rc.1",
|
||||
"busboy": "^0.2.14",
|
||||
"object-path": "^0.11.4"
|
||||
}
|
||||
},
|
||||
"@apollographql/graphql-playground-html": {
|
||||
"version": "1.6.6",
|
||||
"resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz",
|
||||
@ -46,15 +36,6 @@
|
||||
"js-tokens": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"@babel/runtime-corejs2": {
|
||||
"version": "7.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.5.tgz",
|
||||
"integrity": "sha512-WsYRwQsFhVmxkAqwypPTZyV9GpkqMEaAr2zOItOmqSX2GBFaI+eq98CN81e13o0zaUKJOQGYyjhNVqj56nnkYg==",
|
||||
"requires": {
|
||||
"core-js": "^2.5.7",
|
||||
"regenerator-runtime": "^0.12.0"
|
||||
}
|
||||
},
|
||||
"@koa/cors": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@koa/cors/-/cors-2.2.2.tgz",
|
||||
@ -238,14 +219,14 @@
|
||||
"integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "10.12.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.10.tgz",
|
||||
"integrity": "sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w=="
|
||||
"version": "10.12.17",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.17.tgz",
|
||||
"integrity": "sha512-umSCRkjWH70uNzFiOof5yxCqrMXIBJ9UJJUzbEsmtWt8apURQh06pylGMqnhdjHGJSeoBrhzk+mibu6NgL1oBA=="
|
||||
},
|
||||
"@types/range-parser": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz",
|
||||
"integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw=="
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
|
||||
"integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
|
||||
},
|
||||
"@types/serve-static": {
|
||||
"version": "1.13.2",
|
||||
@ -293,9 +274,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.5.5",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
|
||||
"integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
|
||||
"version": "6.6.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
|
||||
"integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
@ -350,18 +331,18 @@
|
||||
}
|
||||
},
|
||||
"apollo-cache-control": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.3.3.tgz",
|
||||
"integrity": "sha512-X6JhKfIaMLfl2jpsK/880BflXA+2lmm2sAsOZL4Bn2VrMsDtOssI1Ij9vNRbch9k9cA4WJvKed7Sql/wUIa1Eg==",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.4.0.tgz",
|
||||
"integrity": "sha512-WuriaNQIugTE8gYwfBWWCbbQTSKul/cV4JMi5UgqNIUvjHvnKZQLKbt5uYWow6QQNMkLT9hey8QPYkWpogkeSA==",
|
||||
"requires": {
|
||||
"apollo-server-env": "2.2.0",
|
||||
"graphql-extensions": "0.3.3"
|
||||
"graphql-extensions": "0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"graphql-extensions": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.3.3.tgz",
|
||||
"integrity": "sha512-pudOaHq7Ok+rh1ElzlqFaoYZWGefUNsqn/jX6eKns7rl0VHuB4qZBfhpVLTpquJpM6Y19/hsCYZNPfnUVMFIiA==",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.4.0.tgz",
|
||||
"integrity": "sha512-8TUgIIUVpXWOcqq9RdmTSHUrhc3a/s+saKv9cCl8TYWHK9vyJIdea7ZaSKHGDthZNcsN+C3LulZYRL3Ah8ukoA==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.2.6"
|
||||
}
|
||||
@ -378,21 +359,21 @@
|
||||
}
|
||||
},
|
||||
"apollo-engine-reporting": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-0.1.3.tgz",
|
||||
"integrity": "sha512-VkjiifHMHIAxydXecT+ck0WtqpFIsMlylKnKeuNAXfIfAXHX/JYtLhbArTTyhDunLrphMiUewfFv9P0K+aX2jw==",
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-0.2.0.tgz",
|
||||
"integrity": "sha512-Q6FfVb10v/nrv8FaFsPjIYlWh62jaYav3LuMgM9PsHWGK/zRQFXOEwLxcY2UCvG7O1moxF3XGmfBhMgo54py+Q==",
|
||||
"requires": {
|
||||
"apollo-engine-reporting-protobuf": "0.1.0",
|
||||
"apollo-engine-reporting-protobuf": "0.2.0",
|
||||
"apollo-server-env": "2.2.0",
|
||||
"async-retry": "^1.2.1",
|
||||
"graphql-extensions": "0.3.3",
|
||||
"graphql-extensions": "0.4.0",
|
||||
"lodash": "^4.17.10"
|
||||
},
|
||||
"dependencies": {
|
||||
"graphql-extensions": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.3.3.tgz",
|
||||
"integrity": "sha512-pudOaHq7Ok+rh1ElzlqFaoYZWGefUNsqn/jX6eKns7rl0VHuB4qZBfhpVLTpquJpM6Y19/hsCYZNPfnUVMFIiA==",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.4.0.tgz",
|
||||
"integrity": "sha512-8TUgIIUVpXWOcqq9RdmTSHUrhc3a/s+saKv9cCl8TYWHK9vyJIdea7ZaSKHGDthZNcsN+C3LulZYRL3Ah8ukoA==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.2.6"
|
||||
}
|
||||
@ -400,9 +381,9 @@
|
||||
}
|
||||
},
|
||||
"apollo-engine-reporting-protobuf": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.1.0.tgz",
|
||||
"integrity": "sha512-GReJtAYTmpwg0drb9VgFtqObYYTCHkJhlHEYCeXY8bJV4fOgXsAZ7CIXR9nPKO0mBaoHIHaGYvXGcyCLrZ36VA==",
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.0.tgz",
|
||||
"integrity": "sha512-qI+GJKN78UMJ9Aq/ORdiM2qymZ5yswem+/VDdVFocq+/e1QqxjnpKjQWISkswci5+WtpJl9SpHBNxG98uHDKkA==",
|
||||
"requires": {
|
||||
"protobufjs": "^6.8.6"
|
||||
}
|
||||
@ -414,22 +395,15 @@
|
||||
"requires": {
|
||||
"core-js": "^3.0.0-beta.3",
|
||||
"node-fetch": "^2.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"core-js": {
|
||||
"version": "3.0.0-beta.3",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.3.tgz",
|
||||
"integrity": "sha512-kM/OfrnMThP5PwGAj5HhQLdjUqzjrllqN2EVnk/X9qrLsfYjR2hzZ+E/8CzH0xuosexZtqMTLQrk//BULrBj9w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"apollo-link": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.4.tgz",
|
||||
"integrity": "sha512-B1z+9H2nTyWEhMXRFSnoZ1vSuAYP+V/EdUJvRx9uZ8yuIBZMm6reyVtr1n0BWlKeSFyPieKJy2RLzmITAAQAMQ==",
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.6.tgz",
|
||||
"integrity": "sha512-sUNlA20nqIF3gG3F8eyMD+mO80fmf3dPZX+GUOs3MI9oZR8ug09H3F0UsWJMcpEg6h55Yy5wZ+BMmAjrbenF/Q==",
|
||||
"requires": {
|
||||
"apollo-utilities": "^1.0.0",
|
||||
"zen-observable-ts": "^0.8.11"
|
||||
"zen-observable-ts": "^0.8.13"
|
||||
}
|
||||
},
|
||||
"apollo-server-caching": {
|
||||
@ -441,26 +415,26 @@
|
||||
}
|
||||
},
|
||||
"apollo-server-core": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.2.4.tgz",
|
||||
"integrity": "sha512-HHienzcp4KbVatUahH22xepk58szaXU3B14dPlJdvE58V6fApdWneEg+2iCXPOiTs5dR5uxrayuqwQdzjZhK2g==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.3.1.tgz",
|
||||
"integrity": "sha512-8jMWYOQIZi9mDJlHe2rXg8Cp4xKYogeRu23jkcNy+k5UjZL+eO+kHXbNFiTaP4HLYYEpe2XE3asxp6q5YUEQeQ==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.2.6",
|
||||
"@apollographql/apollo-upload-server": "^5.0.3",
|
||||
"@apollographql/graphql-playground-html": "^1.6.6",
|
||||
"@types/ws": "^6.0.0",
|
||||
"apollo-cache-control": "0.3.3",
|
||||
"apollo-cache-control": "0.4.0",
|
||||
"apollo-datasource": "0.2.1",
|
||||
"apollo-engine-reporting": "0.1.3",
|
||||
"apollo-engine-reporting": "0.2.0",
|
||||
"apollo-server-caching": "0.2.1",
|
||||
"apollo-server-env": "2.2.0",
|
||||
"apollo-server-errors": "2.2.0",
|
||||
"apollo-server-plugin-base": "0.1.4",
|
||||
"apollo-tracing": "0.3.3",
|
||||
"graphql-extensions": "0.3.4",
|
||||
"apollo-server-plugin-base": "0.2.1",
|
||||
"apollo-tracing": "0.4.0",
|
||||
"graphql-extensions": "0.4.1",
|
||||
"graphql-subscriptions": "^1.0.0",
|
||||
"graphql-tag": "^2.9.2",
|
||||
"graphql-tools": "^4.0.0",
|
||||
"graphql-upload": "^8.0.2",
|
||||
"json-stable-stringify": "^1.0.1",
|
||||
"lodash": "^4.17.10",
|
||||
"subscriptions-transport-ws": "^0.9.11",
|
||||
@ -482,11 +456,10 @@
|
||||
"integrity": "sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg=="
|
||||
},
|
||||
"apollo-server-koa": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-koa/-/apollo-server-koa-2.2.4.tgz",
|
||||
"integrity": "sha512-+puSddQn4QwJ3p8yVICYR+ewC8qBaLLSVa0JYJFhQ6R783ajW7+ijpFIAk+JO615tJquiWM1Ku5kwYslIBHoxQ==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-koa/-/apollo-server-koa-2.3.1.tgz",
|
||||
"integrity": "sha512-376m4uxgaLUux1Mjb7pShc596bGfLPBicqrTw60biZBmIx9pTWUN9ByckCI76IkR4tCwSmQKl96uEvFGMh832g==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-upload-server": "^5.0.3",
|
||||
"@apollographql/graphql-playground-html": "^1.6.6",
|
||||
"@koa/cors": "^2.2.1",
|
||||
"@types/accepts": "^1.3.5",
|
||||
@ -496,7 +469,7 @@
|
||||
"@types/koa-compose": "^3.2.2",
|
||||
"@types/koa__cors": "^2.2.1",
|
||||
"accepts": "^1.3.5",
|
||||
"apollo-server-core": "2.2.4",
|
||||
"apollo-server-core": "2.3.1",
|
||||
"graphql-subscriptions": "^1.0.0",
|
||||
"graphql-tools": "^4.0.0",
|
||||
"koa": "2.6.2",
|
||||
@ -506,23 +479,23 @@
|
||||
}
|
||||
},
|
||||
"apollo-server-plugin-base": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.1.4.tgz",
|
||||
"integrity": "sha512-hsRfTEvtCZkpgad3sXHPCWMO+FWugMgzFEmOOrSWzBbqzWTIRYPc9y0VgjvArl70dHcbgx+WBSc5HTLwFOF2fw=="
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.2.1.tgz",
|
||||
"integrity": "sha512-497NIY9VWRYCrMSkgR11IrIUO4Fsy6aGgnpOJoTdLQAnkDD9SJDSRzwKj4gypUoTT2unfKDng4eMxXVZlHvjOw=="
|
||||
},
|
||||
"apollo-tracing": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.3.3.tgz",
|
||||
"integrity": "sha512-gsTYgDVjtMlnomPq46aky7yk8XshCQfj9rxalCCismLlMomVW44fq+8GKQnZIkFOwiAsazRy4dzZ0cBbygA9sA==",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.4.0.tgz",
|
||||
"integrity": "sha512-BlM8iQUQva4fm0xD/pLwkcz0degfB9a/aAn4k4cK36eLVD8XUkl7ptEB0c+cwcj7tOYpV1r5QX1XwdayBzlHSg==",
|
||||
"requires": {
|
||||
"apollo-server-env": "2.2.0",
|
||||
"graphql-extensions": "0.3.3"
|
||||
"graphql-extensions": "0.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"graphql-extensions": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.3.3.tgz",
|
||||
"integrity": "sha512-pudOaHq7Ok+rh1ElzlqFaoYZWGefUNsqn/jX6eKns7rl0VHuB4qZBfhpVLTpquJpM6Y19/hsCYZNPfnUVMFIiA==",
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.4.0.tgz",
|
||||
"integrity": "sha512-8TUgIIUVpXWOcqq9RdmTSHUrhc3a/s+saKv9cCl8TYWHK9vyJIdea7ZaSKHGDthZNcsN+C3LulZYRL3Ah8ukoA==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.2.6"
|
||||
}
|
||||
@ -582,6 +555,12 @@
|
||||
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
|
||||
"dev": true
|
||||
},
|
||||
"astral-regex": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
|
||||
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
|
||||
"dev": true
|
||||
},
|
||||
"async-each": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
|
||||
@ -979,9 +958,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"content-disposition": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
|
||||
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
|
||||
"integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
|
||||
"requires": {
|
||||
"safe-buffer": "5.1.2"
|
||||
}
|
||||
},
|
||||
"content-type": {
|
||||
"version": "1.0.4",
|
||||
@ -1004,9 +986,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"core-js": {
|
||||
"version": "2.5.7",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
|
||||
"integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
|
||||
"version": "3.0.0-beta.6",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.6.tgz",
|
||||
"integrity": "sha512-06k0SnRTdYGlTNek5vAqfxbQjTtMM0zC2xJ79T1QM5UkZS0JQegrOgDiGh43n1QICnOe5+bcvS0zOGTm2C7rBA=="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
@ -1169,9 +1151,9 @@
|
||||
}
|
||||
},
|
||||
"dotenv": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.1.0.tgz",
|
||||
"integrity": "sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw=="
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz",
|
||||
"integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w=="
|
||||
},
|
||||
"duplexer3": {
|
||||
"version": "0.1.4",
|
||||
@ -1232,9 +1214,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"eslint": {
|
||||
"version": "5.9.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz",
|
||||
"integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==",
|
||||
"version": "5.10.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
|
||||
"integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
@ -1246,7 +1228,7 @@
|
||||
"eslint-scope": "^4.0.0",
|
||||
"eslint-utils": "^1.3.1",
|
||||
"eslint-visitor-keys": "^1.0.0",
|
||||
"espree": "^4.0.0",
|
||||
"espree": "^5.0.0",
|
||||
"esquery": "^1.0.1",
|
||||
"esutils": "^2.0.2",
|
||||
"file-entry-cache": "^2.0.0",
|
||||
@ -1256,7 +1238,6 @@
|
||||
"ignore": "^4.0.6",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"inquirer": "^6.1.0",
|
||||
"is-resolvable": "^1.1.0",
|
||||
"js-yaml": "^3.12.0",
|
||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||
"levn": "^0.3.0",
|
||||
@ -1576,9 +1557,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"espree": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
|
||||
"integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz",
|
||||
"integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn": "^6.0.2",
|
||||
@ -1654,14 +1635,20 @@
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.4.tgz",
|
||||
"integrity": "sha512-EPstzZ23znHUVLKj+lcXO1KvZkrlw+ZirdwvOmnAnA/1PB4ggyXJ77LRkCqkff+ShQ+cqoxCxLQOh4cKITO5iA==",
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^3.0.2"
|
||||
"yallist": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -2575,9 +2562,9 @@
|
||||
}
|
||||
},
|
||||
"graphql-extensions": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.3.4.tgz",
|
||||
"integrity": "sha512-fOI+0p2+1xnwLQx3DvInSuPyGjwsW4RWxTI8caZ91NTFfsa0K3EBFBD71BNO3Ziw2P1nIa8Ip+WRT/Dx3GML0g==",
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.4.1.tgz",
|
||||
"integrity": "sha512-Xei4rBxbsTHU6dYiq9y1xxbpRMU3+Os7yD3vXV5W4HbTaxRMizDmu6LAvV4oBEi0ttwICHARQjYTjDTDhHnxrQ==",
|
||||
"requires": {
|
||||
"@apollographql/apollo-tools": "^0.2.6"
|
||||
}
|
||||
@ -2752,9 +2739,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
|
||||
"integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
|
||||
"integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-escapes": "^3.0.0",
|
||||
@ -2768,8 +2755,25 @@
|
||||
"run-async": "^2.2.0",
|
||||
"rxjs": "^6.1.0",
|
||||
"string-width": "^2.1.0",
|
||||
"strip-ansi": "^4.0.0",
|
||||
"strip-ansi": "^5.0.0",
|
||||
"through": "^2.3.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
|
||||
"integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
|
||||
"dev": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
|
||||
"integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"is-accessor-descriptor": {
|
||||
@ -2991,12 +2995,6 @@
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-resolvable": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
|
||||
"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
|
||||
"dev": true
|
||||
},
|
||||
"is-retry-allowed": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
|
||||
@ -3406,9 +3404,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.11.1",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
|
||||
"integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
|
||||
"version": "2.12.1",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
|
||||
"integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
@ -3459,21 +3457,21 @@
|
||||
"integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA=="
|
||||
},
|
||||
"nodemon": {
|
||||
"version": "1.18.7",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.7.tgz",
|
||||
"integrity": "sha512-xuC1V0F5EcEyKQ1VhHYD13owznQbUw29JKvZ8bVH7TmuvVNHvvbp9pLgE4PjTMRJVe0pJ8fGRvwR2nMiosIsPQ==",
|
||||
"version": "1.18.9",
|
||||
"resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.9.tgz",
|
||||
"integrity": "sha512-oj/eEVTEI47pzYAjGkpcNw0xYwTl4XSTUQv2NPQI6PpN3b75PhpuYk3Vb3U80xHCyM2Jm+1j68ULHXl4OR3Afw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chokidar": "^2.0.4",
|
||||
"debug": "^3.1.0",
|
||||
"ignore-by-default": "^1.0.1",
|
||||
"minimatch": "^3.0.4",
|
||||
"pstree.remy": "^1.1.2",
|
||||
"pstree.remy": "^1.1.6",
|
||||
"semver": "^5.5.0",
|
||||
"supports-color": "^5.2.0",
|
||||
"touch": "^3.1.0",
|
||||
"undefsafe": "^2.0.2",
|
||||
"update-notifier": "^2.3.0"
|
||||
"update-notifier": "^2.5.0"
|
||||
}
|
||||
},
|
||||
"nopt": {
|
||||
@ -3831,9 +3829,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"prettier": {
|
||||
"version": "1.15.2",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.2.tgz",
|
||||
"integrity": "sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug==",
|
||||
"version": "1.15.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.3.tgz",
|
||||
"integrity": "sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==",
|
||||
"dev": true
|
||||
},
|
||||
"prettier-linter-helpers": {
|
||||
@ -3852,9 +3850,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"progress": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
|
||||
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
},
|
||||
"promises-all": {
|
||||
@ -3892,9 +3890,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"pstree.remy": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.2.tgz",
|
||||
"integrity": "sha512-vL6NLxNHzkNTjGJUpMm5PLC+94/0tTlC1vkP9bdU0pOHih+EujMjgMTwfZopZvHWRFbqJ5Y73OMoau50PewDDA==",
|
||||
"version": "1.1.6",
|
||||
"resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.6.tgz",
|
||||
"integrity": "sha512-NdF35+QsqD7EgNEI5mkI/X+UwaxVEbQaz9f4IooEmMUv6ZPmlTQYGjBPJGgrlzNdjSvIy4MWMg6Q6vCgBO2K+w==",
|
||||
"dev": true
|
||||
},
|
||||
"punycode": {
|
||||
@ -4013,11 +4011,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.12.1",
|
||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
|
||||
"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
|
||||
},
|
||||
"regex-not": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
|
||||
@ -4082,12 +4075,12 @@
|
||||
}
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
|
||||
"integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
|
||||
"version": "1.9.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz",
|
||||
"integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"path-parse": "^1.0.5"
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"resolve-from": {
|
||||
@ -4153,8 +4146,7 @@
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
||||
"dev": true
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"safe-regex": {
|
||||
"version": "1.1.0",
|
||||
@ -4244,11 +4236,13 @@
|
||||
"dev": true
|
||||
},
|
||||
"slice-ansi": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
|
||||
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",
|
||||
"integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.0",
|
||||
"astral-regex": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^2.0.0"
|
||||
}
|
||||
},
|
||||
@ -4394,9 +4388,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"spdx-correct": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
|
||||
"integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
|
||||
"integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"spdx-expression-parse": "^3.0.0",
|
||||
@ -4558,14 +4552,14 @@
|
||||
"integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
|
||||
},
|
||||
"table": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
|
||||
"integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-5.1.1.tgz",
|
||||
"integrity": "sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.5.3",
|
||||
"lodash": "^4.17.10",
|
||||
"slice-ansi": "1.0.0",
|
||||
"ajv": "^6.6.1",
|
||||
"lodash": "^4.17.11",
|
||||
"slice-ansi": "2.0.0",
|
||||
"string-width": "^2.1.1"
|
||||
}
|
||||
},
|
||||
@ -4980,9 +4974,9 @@
|
||||
"integrity": "sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ=="
|
||||
},
|
||||
"zen-observable-ts": {
|
||||
"version": "0.8.11",
|
||||
"resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.11.tgz",
|
||||
"integrity": "sha512-8bs7rgGV4kz5iTb9isudkuQjtWwPnQ8lXq6/T76vrepYZVMsDEv6BXaEA+DHdJSK3KVLduagi9jSpSAJ5NgKHw==",
|
||||
"version": "0.8.13",
|
||||
"resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.13.tgz",
|
||||
"integrity": "sha512-WDb8SM0tHCb6c0l1k60qXWlm1ok3zN9U4VkLdnBKQwIYwUoB9psH7LIFgR+JVCCMmBxUgOjskIid8/N02k/2Bg==",
|
||||
"requires": {
|
||||
"zen-observable": "^0.8.0"
|
||||
}
|
||||
|
||||
@ -11,10 +11,9 @@
|
||||
"node": ">=8.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"apollo-server-koa": "^2.2.4",
|
||||
"dotenv": "^6.1.0",
|
||||
"apollo-server-koa": "^2.3.1",
|
||||
"dotenv": "^6.2.0",
|
||||
"graphql": "^14.0.2",
|
||||
"graphql-upload": "^8.0.2",
|
||||
"koa": "^2.6.2",
|
||||
"lowdb": "^1.0.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
@ -22,15 +21,15 @@
|
||||
"shortid": "^2.2.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^5.9.0",
|
||||
"eslint": "^5.10.0",
|
||||
"eslint-config-env": "^2.0.0",
|
||||
"eslint-config-prettier": "^3.3.0",
|
||||
"eslint-plugin-import": "^2.14.0",
|
||||
"eslint-plugin-import-order-alphabetical": "0.0.1",
|
||||
"eslint-plugin-node": "^8.0.0",
|
||||
"eslint-plugin-prettier": "^3.0.0",
|
||||
"nodemon": "^1.18.7",
|
||||
"prettier": "^1.15.2"
|
||||
"nodemon": "^1.18.9",
|
||||
"prettier": "^1.15.3"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "nodemon -i db.json",
|
||||
|
||||
@ -3,8 +3,7 @@
|
||||
An example GraphQL API using:
|
||||
|
||||
- [`koa`](https://npm.im/koa)
|
||||
- [`apollo-server-koa`](https://npm.im/apollo-server-koa)
|
||||
- [`graphql-upload`](https://npm.im/graphql-upload)
|
||||
- [`apollo-server-koa`](https://npm.im/apollo-server-koa), which implements [`graphql-upload`](https://npm.im/graphql-upload)
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import fs from 'fs'
|
||||
import { GraphQLUpload } from 'graphql-upload'
|
||||
import apolloServerKoa from 'apollo-server-koa'
|
||||
import lowdb from 'lowdb'
|
||||
import FileSync from 'lowdb/adapters/FileSync'
|
||||
import mkdirp from 'mkdirp'
|
||||
@ -9,10 +9,10 @@ import shortid from 'shortid'
|
||||
const UPLOAD_DIR = './uploads'
|
||||
const db = lowdb(new FileSync('db.json'))
|
||||
|
||||
// Seed an empty DB
|
||||
// Seed an empty DB.
|
||||
db.defaults({ uploads: [] }).write()
|
||||
|
||||
// Ensure upload directory exists
|
||||
// Ensure upload directory exists.
|
||||
mkdirp.sync(UPLOAD_DIR)
|
||||
|
||||
const storeFS = ({ stream, filename }) => {
|
||||
@ -22,7 +22,7 @@ const storeFS = ({ stream, filename }) => {
|
||||
stream
|
||||
.on('error', error => {
|
||||
if (stream.truncated)
|
||||
// Delete the truncated file
|
||||
// Delete the truncated file.
|
||||
fs.unlinkSync(path)
|
||||
reject(error)
|
||||
})
|
||||
@ -47,7 +47,7 @@ const processUpload = async upload => {
|
||||
}
|
||||
|
||||
export default {
|
||||
Upload: GraphQLUpload,
|
||||
Upload: apolloServerKoa.GraphQLUpload,
|
||||
Query: {
|
||||
uploads: () => db.get('uploads').value()
|
||||
},
|
||||
|
||||
@ -1,22 +1,20 @@
|
||||
import apolloServerKoa from 'apollo-server-koa'
|
||||
import { graphqlUploadKoa } from 'graphql-upload'
|
||||
import Koa from 'koa'
|
||||
import resolvers from './resolvers'
|
||||
import typeDefs from './types'
|
||||
|
||||
const app = new Koa().use(
|
||||
graphqlUploadKoa({
|
||||
maxFileSize: 10000000, // 10 MB
|
||||
maxFiles: 20
|
||||
})
|
||||
)
|
||||
|
||||
const app = new Koa()
|
||||
const server = new apolloServerKoa.ApolloServer({
|
||||
typeDefs,
|
||||
resolvers,
|
||||
|
||||
// Disable outdated built in uploads, to setup graphql-upload instead.
|
||||
uploads: false
|
||||
uploads: {
|
||||
// Limits here should be stricter than config for surrounding
|
||||
// infrastructure such as Nginx so errors can be handled elegantly by
|
||||
// graphql-upload:
|
||||
// https://github.com/jaydenseric/graphql-upload#type-uploadoptions
|
||||
maxFileSize: 10000000, // 10 MB
|
||||
maxFiles: 20
|
||||
}
|
||||
})
|
||||
|
||||
server.applyMiddleware({ app })
|
||||
|
||||
@ -1,6 +1,4 @@
|
||||
export default /* GraphQL */ `
|
||||
scalar Upload
|
||||
|
||||
type File {
|
||||
id: ID!
|
||||
path: String!
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user