├── .gitignore ├── README.md ├── aws ├── index.js ├── package-lock.json ├── package.json └── serverless.yml ├── azure ├── index.js ├── package-lock.json ├── package.json └── serverless.yml ├── benchmark.yml ├── cloudflare ├── .gitignore ├── empty.js ├── index.js ├── package-lock.json ├── package.json ├── webpack.config.js └── wrangler.toml ├── google ├── index.js ├── package-lock.json ├── package.json └── serverless.yml └── results ├── aws.csv ├── azure.csv ├── cloudflare.csv └── google.csv /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .cargo-ok 3 | .serverless/ 4 | node_modules/ 5 | dist/ 6 | worker/ 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Workers vs. the competitiors 2 | ==================== 3 | A hello-world GraphQL function deployed on Cloudflare Workers, AWS Lambda, Azure Functions, and Google Cloud Functions. 4 | 5 | ```js 6 | const { gql, ApolloServer } = require('apollo-server-${platform}') 7 | 8 | const typeDefs = gql` 9 | type Query { 10 | hello: String 11 | } 12 | ` 13 | 14 | const resolvers = { 15 | Query: { 16 | hello: () => 'Hello world!', 17 | }, 18 | } 19 | 20 | const server = new ApolloServer({ 21 | typeDefs, 22 | resolvers, 23 | introspection: true, 24 | }) 25 | 26 | // Platform-specific handler 27 | // e.g. module.exports.graphql = server.createHandler() 28 | ``` 29 | 30 | Results 31 | ======= 32 | 33 | Results are collected from each provider's logs, execution times are based on what the platform reports. 34 | 35 | Reproduce 36 | ========= 37 | 38 | 1. Run `serverless deploy` (or `wrangler publish` for Cloudflare Workers) 39 | 2. Run `artillery run benchmark.yml` to run various benchmarking tests 40 | 3. Go to the provider's logging system and export the execution times (this will be different for every platform) 41 | 4. Compare the results! 42 | -------------------------------------------------------------------------------- /aws/index.js: -------------------------------------------------------------------------------- 1 | const { gql, ApolloServer } = require('apollo-server-lambda') 2 | 3 | const typeDefs = gql` 4 | type Query { 5 | hello: String 6 | } 7 | ` 8 | 9 | const resolvers = { 10 | Query: { 11 | hello: () => 'Hello world!', 12 | }, 13 | } 14 | 15 | const server = new ApolloServer({ 16 | typeDefs, 17 | resolvers, 18 | introspection: true, 19 | }) 20 | 21 | // Lambda handler 22 | 23 | module.exports.graphql = server.createHandler() 24 | -------------------------------------------------------------------------------- /aws/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@apollo/protobufjs": { 7 | "version": "1.0.4", 8 | "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.0.4.tgz", 9 | "integrity": "sha512-EE3zx+/D/wur/JiLp6VCiw1iYdyy1lCJMf8CGPkLeDt5QJrN4N8tKFx33Ah4V30AUQzMk7Uz4IXKZ1LOj124gA==", 10 | "requires": { 11 | "@protobufjs/aspromise": "^1.1.2", 12 | "@protobufjs/base64": "^1.1.2", 13 | "@protobufjs/codegen": "^2.0.4", 14 | "@protobufjs/eventemitter": "^1.1.0", 15 | "@protobufjs/fetch": "^1.1.0", 16 | "@protobufjs/float": "^1.0.2", 17 | "@protobufjs/inquire": "^1.1.0", 18 | "@protobufjs/path": "^1.1.2", 19 | "@protobufjs/pool": "^1.1.0", 20 | "@protobufjs/utf8": "^1.1.0", 21 | "@types/long": "^4.0.0", 22 | "@types/node": "^10.1.0", 23 | "long": "^4.0.0" 24 | }, 25 | "dependencies": { 26 | "@types/node": { 27 | "version": "10.17.27", 28 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.27.tgz", 29 | "integrity": "sha512-J0oqm9ZfAXaPdwNXMMgAhylw5fhmXkToJd06vuDUSAgEDZ/n/69/69UmyBZbc+zT34UnShuDSBqvim3SPnozJg==" 30 | } 31 | } 32 | }, 33 | "@apollographql/apollo-tools": { 34 | "version": "0.4.8", 35 | "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.8.tgz", 36 | "integrity": "sha512-W2+HB8Y7ifowcf3YyPHgDI05izyRtOeZ4MqIr7LbTArtmJ0ZHULWpn84SGMW7NAvTV1tFExpHlveHhnXuJfuGA==", 37 | "requires": { 38 | "apollo-env": "^0.6.5" 39 | } 40 | }, 41 | "@apollographql/graphql-playground-html": { 42 | "version": "1.6.26", 43 | "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.26.tgz", 44 | "integrity": "sha512-XAwXOIab51QyhBxnxySdK3nuMEUohhDsHQ5Rbco/V1vjlP75zZ0ZLHD9dTpXTN8uxKxopb2lUvJTq+M4g2Q0HQ==", 45 | "requires": { 46 | "xss": "^1.0.6" 47 | } 48 | }, 49 | "@protobufjs/aspromise": { 50 | "version": "1.1.2", 51 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 52 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" 53 | }, 54 | "@protobufjs/base64": { 55 | "version": "1.1.2", 56 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 57 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 58 | }, 59 | "@protobufjs/codegen": { 60 | "version": "2.0.4", 61 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 62 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 63 | }, 64 | "@protobufjs/eventemitter": { 65 | "version": "1.1.0", 66 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 67 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" 68 | }, 69 | "@protobufjs/fetch": { 70 | "version": "1.1.0", 71 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 72 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 73 | "requires": { 74 | "@protobufjs/aspromise": "^1.1.1", 75 | "@protobufjs/inquire": "^1.1.0" 76 | } 77 | }, 78 | "@protobufjs/float": { 79 | "version": "1.0.2", 80 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 81 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" 82 | }, 83 | "@protobufjs/inquire": { 84 | "version": "1.1.0", 85 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 86 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" 87 | }, 88 | "@protobufjs/path": { 89 | "version": "1.1.2", 90 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 91 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" 92 | }, 93 | "@protobufjs/pool": { 94 | "version": "1.1.0", 95 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 96 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" 97 | }, 98 | "@protobufjs/utf8": { 99 | "version": "1.1.0", 100 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 101 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" 102 | }, 103 | "@types/accepts": { 104 | "version": "1.3.5", 105 | "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", 106 | "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", 107 | "requires": { 108 | "@types/node": "*" 109 | } 110 | }, 111 | "@types/aws-lambda": { 112 | "version": "8.10.59", 113 | "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.59.tgz", 114 | "integrity": "sha512-X/JclTKqHvo3nMTkHzClHhRz0yxn/VAr7J7LO6jBqaksZlhcDAWuU4oT1Yrt3E9MvX5jyyVIZtrwAI7oPXzXIg==" 115 | }, 116 | "@types/body-parser": { 117 | "version": "1.19.0", 118 | "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", 119 | "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", 120 | "requires": { 121 | "@types/connect": "*", 122 | "@types/node": "*" 123 | } 124 | }, 125 | "@types/connect": { 126 | "version": "3.4.33", 127 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", 128 | "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", 129 | "requires": { 130 | "@types/node": "*" 131 | } 132 | }, 133 | "@types/content-disposition": { 134 | "version": "0.5.3", 135 | "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", 136 | "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==" 137 | }, 138 | "@types/cookies": { 139 | "version": "0.7.4", 140 | "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz", 141 | "integrity": "sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==", 142 | "requires": { 143 | "@types/connect": "*", 144 | "@types/express": "*", 145 | "@types/keygrip": "*", 146 | "@types/node": "*" 147 | } 148 | }, 149 | "@types/express": { 150 | "version": "4.17.7", 151 | "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz", 152 | "integrity": "sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==", 153 | "requires": { 154 | "@types/body-parser": "*", 155 | "@types/express-serve-static-core": "*", 156 | "@types/qs": "*", 157 | "@types/serve-static": "*" 158 | } 159 | }, 160 | "@types/express-serve-static-core": { 161 | "version": "4.17.8", 162 | "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.8.tgz", 163 | "integrity": "sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw==", 164 | "requires": { 165 | "@types/node": "*", 166 | "@types/qs": "*", 167 | "@types/range-parser": "*" 168 | } 169 | }, 170 | "@types/fs-capacitor": { 171 | "version": "2.0.0", 172 | "resolved": "https://registry.npmjs.org/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz", 173 | "integrity": "sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==", 174 | "requires": { 175 | "@types/node": "*" 176 | } 177 | }, 178 | "@types/graphql-upload": { 179 | "version": "8.0.3", 180 | "resolved": "https://registry.npmjs.org/@types/graphql-upload/-/graphql-upload-8.0.3.tgz", 181 | "integrity": "sha512-hmLg9pCU/GmxBscg8GCr1vmSoEmbItNNxdD5YH2TJkXm//8atjwuprB+xJBK714JG1dkxbbhp5RHX+Pz1KsCMA==", 182 | "requires": { 183 | "@types/express": "*", 184 | "@types/fs-capacitor": "*", 185 | "@types/koa": "*", 186 | "graphql": "^14.5.3" 187 | } 188 | }, 189 | "@types/http-assert": { 190 | "version": "1.5.1", 191 | "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", 192 | "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==" 193 | }, 194 | "@types/keygrip": { 195 | "version": "1.0.2", 196 | "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", 197 | "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==" 198 | }, 199 | "@types/koa": { 200 | "version": "2.11.3", 201 | "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.3.tgz", 202 | "integrity": "sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q==", 203 | "requires": { 204 | "@types/accepts": "*", 205 | "@types/content-disposition": "*", 206 | "@types/cookies": "*", 207 | "@types/http-assert": "*", 208 | "@types/keygrip": "*", 209 | "@types/koa-compose": "*", 210 | "@types/node": "*" 211 | } 212 | }, 213 | "@types/koa-compose": { 214 | "version": "3.2.5", 215 | "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", 216 | "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", 217 | "requires": { 218 | "@types/koa": "*" 219 | } 220 | }, 221 | "@types/long": { 222 | "version": "4.0.1", 223 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", 224 | "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" 225 | }, 226 | "@types/mime": { 227 | "version": "2.0.2", 228 | "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.2.tgz", 229 | "integrity": "sha512-4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q==" 230 | }, 231 | "@types/node": { 232 | "version": "14.0.23", 233 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", 234 | "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" 235 | }, 236 | "@types/node-fetch": { 237 | "version": "2.5.7", 238 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", 239 | "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", 240 | "requires": { 241 | "@types/node": "*", 242 | "form-data": "^3.0.0" 243 | } 244 | }, 245 | "@types/qs": { 246 | "version": "6.9.3", 247 | "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.3.tgz", 248 | "integrity": "sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==" 249 | }, 250 | "@types/range-parser": { 251 | "version": "1.2.3", 252 | "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", 253 | "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" 254 | }, 255 | "@types/serve-static": { 256 | "version": "1.13.4", 257 | "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz", 258 | "integrity": "sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==", 259 | "requires": { 260 | "@types/express-serve-static-core": "*", 261 | "@types/mime": "*" 262 | } 263 | }, 264 | "@types/ws": { 265 | "version": "7.2.6", 266 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.2.6.tgz", 267 | "integrity": "sha512-Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ==", 268 | "requires": { 269 | "@types/node": "*" 270 | } 271 | }, 272 | "@wry/equality": { 273 | "version": "0.1.11", 274 | "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", 275 | "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", 276 | "requires": { 277 | "tslib": "^1.9.3" 278 | } 279 | }, 280 | "apollo-cache-control": { 281 | "version": "0.11.1", 282 | "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.11.1.tgz", 283 | "integrity": "sha512-6iHa8TkcKt4rx5SKRzDNjUIpCQX+7/FlZwD7vRh9JDnM4VH8SWhpj8fUR3CiEY8Kuc4ChXnOY8bCcMju5KPnIQ==", 284 | "requires": { 285 | "apollo-server-env": "^2.4.5", 286 | "apollo-server-plugin-base": "^0.9.1" 287 | } 288 | }, 289 | "apollo-datasource": { 290 | "version": "0.7.2", 291 | "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.7.2.tgz", 292 | "integrity": "sha512-ibnW+s4BMp4K2AgzLEtvzkjg7dJgCaw9M5b5N0YKNmeRZRnl/I/qBTQae648FsRKgMwTbRQIvBhQ0URUFAqFOw==", 293 | "requires": { 294 | "apollo-server-caching": "^0.5.2", 295 | "apollo-server-env": "^2.4.5" 296 | } 297 | }, 298 | "apollo-engine-reporting": { 299 | "version": "2.3.0", 300 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-2.3.0.tgz", 301 | "integrity": "sha512-SbcPLFuUZcRqDEZ6mSs8uHM9Ftr8yyt2IEu0JA8c3LNBmYXSLM7MHqFe80SVcosYSTBgtMz8mLJO8orhYoSYZw==", 302 | "requires": { 303 | "apollo-engine-reporting-protobuf": "^0.5.2", 304 | "apollo-graphql": "^0.5.0", 305 | "apollo-server-caching": "^0.5.2", 306 | "apollo-server-env": "^2.4.5", 307 | "apollo-server-errors": "^2.4.2", 308 | "apollo-server-plugin-base": "^0.9.1", 309 | "apollo-server-types": "^0.5.1", 310 | "async-retry": "^1.2.1", 311 | "uuid": "^8.0.0" 312 | } 313 | }, 314 | "apollo-engine-reporting-protobuf": { 315 | "version": "0.5.2", 316 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.5.2.tgz", 317 | "integrity": "sha512-4wm9FR3B7UvJxcK/69rOiS5CAJPEYKufeRWb257ZLfX7NGFTMqvbc1hu4q8Ch7swB26rTpkzfsftLED9DqH9qg==", 318 | "requires": { 319 | "@apollo/protobufjs": "^1.0.3" 320 | } 321 | }, 322 | "apollo-env": { 323 | "version": "0.6.5", 324 | "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.5.tgz", 325 | "integrity": "sha512-jeBUVsGymeTHYWp3me0R2CZRZrFeuSZeICZHCeRflHTfnQtlmbSXdy5E0pOyRM9CU4JfQkKDC98S1YglQj7Bzg==", 326 | "requires": { 327 | "@types/node-fetch": "2.5.7", 328 | "core-js": "^3.0.1", 329 | "node-fetch": "^2.2.0", 330 | "sha.js": "^2.4.11" 331 | } 332 | }, 333 | "apollo-graphql": { 334 | "version": "0.5.0", 335 | "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.5.0.tgz", 336 | "integrity": "sha512-YSdF/BKPbsnQpxWpmCE53pBJX44aaoif31Y22I/qKpB6ZSGzYijV5YBoCL5Q15H2oA/v/02Oazh9lbp4ek3eig==", 337 | "requires": { 338 | "apollo-env": "^0.6.5", 339 | "lodash.sortby": "^4.7.0" 340 | } 341 | }, 342 | "apollo-link": { 343 | "version": "1.2.14", 344 | "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", 345 | "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", 346 | "requires": { 347 | "apollo-utilities": "^1.3.0", 348 | "ts-invariant": "^0.4.0", 349 | "tslib": "^1.9.3", 350 | "zen-observable-ts": "^0.8.21" 351 | } 352 | }, 353 | "apollo-server-caching": { 354 | "version": "0.5.2", 355 | "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.5.2.tgz", 356 | "integrity": "sha512-HUcP3TlgRsuGgeTOn8QMbkdx0hLPXyEJehZIPrcof0ATz7j7aTPA4at7gaiFHCo8gk07DaWYGB3PFgjboXRcWQ==", 357 | "requires": { 358 | "lru-cache": "^5.0.0" 359 | } 360 | }, 361 | "apollo-server-core": { 362 | "version": "2.16.0", 363 | "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.16.0.tgz", 364 | "integrity": "sha512-mnvg2cPvsQtjFXIqIhEAbPqGyiSXDSbiBgNQ8rY8g7r2eRMhHKZePqGF03gP1/w87yVaSDRAZBDk6o+jiBXjVQ==", 365 | "requires": { 366 | "@apollographql/apollo-tools": "^0.4.3", 367 | "@apollographql/graphql-playground-html": "1.6.26", 368 | "@types/graphql-upload": "^8.0.0", 369 | "@types/ws": "^7.0.0", 370 | "apollo-cache-control": "^0.11.1", 371 | "apollo-datasource": "^0.7.2", 372 | "apollo-engine-reporting": "^2.3.0", 373 | "apollo-server-caching": "^0.5.2", 374 | "apollo-server-env": "^2.4.5", 375 | "apollo-server-errors": "^2.4.2", 376 | "apollo-server-plugin-base": "^0.9.1", 377 | "apollo-server-types": "^0.5.1", 378 | "apollo-tracing": "^0.11.1", 379 | "fast-json-stable-stringify": "^2.0.0", 380 | "graphql-extensions": "^0.12.4", 381 | "graphql-tag": "^2.9.2", 382 | "graphql-tools": "^4.0.0", 383 | "graphql-upload": "^8.0.2", 384 | "loglevel": "^1.6.7", 385 | "sha.js": "^2.4.11", 386 | "subscriptions-transport-ws": "^0.9.11", 387 | "ws": "^6.0.0" 388 | } 389 | }, 390 | "apollo-server-env": { 391 | "version": "2.4.5", 392 | "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.4.5.tgz", 393 | "integrity": "sha512-nfNhmGPzbq3xCEWT8eRpoHXIPNcNy3QcEoBlzVMjeglrBGryLG2LXwBSPnVmTRRrzUYugX0ULBtgE3rBFNoUgA==", 394 | "requires": { 395 | "node-fetch": "^2.1.2", 396 | "util.promisify": "^1.0.0" 397 | } 398 | }, 399 | "apollo-server-errors": { 400 | "version": "2.4.2", 401 | "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.2.tgz", 402 | "integrity": "sha512-FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ==" 403 | }, 404 | "apollo-server-lambda": { 405 | "version": "2.16.0", 406 | "resolved": "https://registry.npmjs.org/apollo-server-lambda/-/apollo-server-lambda-2.16.0.tgz", 407 | "integrity": "sha512-PkmDNI9DJ5RC20wxr7pHHoceQC/o3KD1AEJmY13ZFa6Y43yJrB7afnz9DonpNeHEZG1AYb972cXfozALDBdV+w==", 408 | "requires": { 409 | "@apollographql/graphql-playground-html": "1.6.26", 410 | "@types/aws-lambda": "^8.10.31", 411 | "apollo-server-core": "^2.16.0", 412 | "apollo-server-env": "^2.4.5", 413 | "apollo-server-types": "^0.5.1", 414 | "graphql-tools": "^4.0.0" 415 | } 416 | }, 417 | "apollo-server-plugin-base": { 418 | "version": "0.9.1", 419 | "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.9.1.tgz", 420 | "integrity": "sha512-kvrX4Z3FdpjrZdHkyl5iY2A1Wvp4b6KQp00DeZqss7GyyKNUBKr80/7RQgBLEw7EWM7WB19j459xM/TjvW0FKQ==", 421 | "requires": { 422 | "apollo-server-types": "^0.5.1" 423 | } 424 | }, 425 | "apollo-server-types": { 426 | "version": "0.5.1", 427 | "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.5.1.tgz", 428 | "integrity": "sha512-my2cPw+DAb2qVnIuBcsRKGyS28uIc2vjFxa1NpRoJZe9gK0BWUBk7wzXnIzWy3HZ5Er11e/40MPTUesNfMYNVA==", 429 | "requires": { 430 | "apollo-engine-reporting-protobuf": "^0.5.2", 431 | "apollo-server-caching": "^0.5.2", 432 | "apollo-server-env": "^2.4.5" 433 | } 434 | }, 435 | "apollo-tracing": { 436 | "version": "0.11.1", 437 | "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.11.1.tgz", 438 | "integrity": "sha512-l7g+uILw7v32GA46IRXIx5XXbZhFI96BhSqrGK9yyvfq+NMcvVZrj3kIhRImPGhAjMdV+5biA/jztabElAbDjg==", 439 | "requires": { 440 | "apollo-server-env": "^2.4.5", 441 | "apollo-server-plugin-base": "^0.9.1" 442 | } 443 | }, 444 | "apollo-utilities": { 445 | "version": "1.3.4", 446 | "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", 447 | "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", 448 | "requires": { 449 | "@wry/equality": "^0.1.2", 450 | "fast-json-stable-stringify": "^2.0.0", 451 | "ts-invariant": "^0.4.0", 452 | "tslib": "^1.10.0" 453 | } 454 | }, 455 | "async-limiter": { 456 | "version": "1.0.1", 457 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", 458 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" 459 | }, 460 | "async-retry": { 461 | "version": "1.3.1", 462 | "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", 463 | "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", 464 | "requires": { 465 | "retry": "0.12.0" 466 | } 467 | }, 468 | "asynckit": { 469 | "version": "0.4.0", 470 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 471 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 472 | }, 473 | "backo2": { 474 | "version": "1.0.2", 475 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 476 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" 477 | }, 478 | "busboy": { 479 | "version": "0.3.1", 480 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", 481 | "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", 482 | "requires": { 483 | "dicer": "0.3.0" 484 | } 485 | }, 486 | "combined-stream": { 487 | "version": "1.0.8", 488 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 489 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 490 | "requires": { 491 | "delayed-stream": "~1.0.0" 492 | } 493 | }, 494 | "commander": { 495 | "version": "2.20.3", 496 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 497 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 498 | }, 499 | "core-js": { 500 | "version": "3.6.5", 501 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", 502 | "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" 503 | }, 504 | "cssfilter": { 505 | "version": "0.0.10", 506 | "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", 507 | "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" 508 | }, 509 | "define-properties": { 510 | "version": "1.1.3", 511 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 512 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 513 | "requires": { 514 | "object-keys": "^1.0.12" 515 | } 516 | }, 517 | "delayed-stream": { 518 | "version": "1.0.0", 519 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 520 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 521 | }, 522 | "depd": { 523 | "version": "1.1.2", 524 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 525 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 526 | }, 527 | "deprecated-decorator": { 528 | "version": "0.1.6", 529 | "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", 530 | "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=" 531 | }, 532 | "dicer": { 533 | "version": "0.3.0", 534 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", 535 | "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", 536 | "requires": { 537 | "streamsearch": "0.1.2" 538 | } 539 | }, 540 | "es-abstract": { 541 | "version": "1.17.6", 542 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", 543 | "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", 544 | "requires": { 545 | "es-to-primitive": "^1.2.1", 546 | "function-bind": "^1.1.1", 547 | "has": "^1.0.3", 548 | "has-symbols": "^1.0.1", 549 | "is-callable": "^1.2.0", 550 | "is-regex": "^1.1.0", 551 | "object-inspect": "^1.7.0", 552 | "object-keys": "^1.1.1", 553 | "object.assign": "^4.1.0", 554 | "string.prototype.trimend": "^1.0.1", 555 | "string.prototype.trimstart": "^1.0.1" 556 | } 557 | }, 558 | "es-to-primitive": { 559 | "version": "1.2.1", 560 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 561 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 562 | "requires": { 563 | "is-callable": "^1.1.4", 564 | "is-date-object": "^1.0.1", 565 | "is-symbol": "^1.0.2" 566 | } 567 | }, 568 | "eventemitter3": { 569 | "version": "3.1.2", 570 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", 571 | "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" 572 | }, 573 | "fast-json-stable-stringify": { 574 | "version": "2.1.0", 575 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 576 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 577 | }, 578 | "form-data": { 579 | "version": "3.0.0", 580 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", 581 | "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", 582 | "requires": { 583 | "asynckit": "^0.4.0", 584 | "combined-stream": "^1.0.8", 585 | "mime-types": "^2.1.12" 586 | } 587 | }, 588 | "fs-capacitor": { 589 | "version": "2.0.4", 590 | "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.4.tgz", 591 | "integrity": "sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==" 592 | }, 593 | "function-bind": { 594 | "version": "1.1.1", 595 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 596 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 597 | }, 598 | "graphql": { 599 | "version": "14.7.0", 600 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", 601 | "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", 602 | "requires": { 603 | "iterall": "^1.2.2" 604 | } 605 | }, 606 | "graphql-extensions": { 607 | "version": "0.12.4", 608 | "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.4.tgz", 609 | "integrity": "sha512-GnR4LiWk3s2bGOqIh6V1JgnSXw2RCH4NOgbCFEWvB6JqWHXTlXnLZ8bRSkCiD4pltv7RHUPWqN/sGh8R6Ae/ag==", 610 | "requires": { 611 | "@apollographql/apollo-tools": "^0.4.3", 612 | "apollo-server-env": "^2.4.5", 613 | "apollo-server-types": "^0.5.1" 614 | } 615 | }, 616 | "graphql-tag": { 617 | "version": "2.10.4", 618 | "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.4.tgz", 619 | "integrity": "sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA==" 620 | }, 621 | "graphql-tools": { 622 | "version": "4.0.8", 623 | "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz", 624 | "integrity": "sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==", 625 | "requires": { 626 | "apollo-link": "^1.2.14", 627 | "apollo-utilities": "^1.0.1", 628 | "deprecated-decorator": "^0.1.6", 629 | "iterall": "^1.1.3", 630 | "uuid": "^3.1.0" 631 | }, 632 | "dependencies": { 633 | "uuid": { 634 | "version": "3.4.0", 635 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 636 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 637 | } 638 | } 639 | }, 640 | "graphql-upload": { 641 | "version": "8.1.0", 642 | "resolved": "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.1.0.tgz", 643 | "integrity": "sha512-U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==", 644 | "requires": { 645 | "busboy": "^0.3.1", 646 | "fs-capacitor": "^2.0.4", 647 | "http-errors": "^1.7.3", 648 | "object-path": "^0.11.4" 649 | } 650 | }, 651 | "has": { 652 | "version": "1.0.3", 653 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 654 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 655 | "requires": { 656 | "function-bind": "^1.1.1" 657 | } 658 | }, 659 | "has-symbols": { 660 | "version": "1.0.1", 661 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 662 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" 663 | }, 664 | "http-errors": { 665 | "version": "1.8.0", 666 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", 667 | "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", 668 | "requires": { 669 | "depd": "~1.1.2", 670 | "inherits": "2.0.4", 671 | "setprototypeof": "1.2.0", 672 | "statuses": ">= 1.5.0 < 2", 673 | "toidentifier": "1.0.0" 674 | } 675 | }, 676 | "inherits": { 677 | "version": "2.0.4", 678 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 679 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 680 | }, 681 | "is-callable": { 682 | "version": "1.2.0", 683 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", 684 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" 685 | }, 686 | "is-date-object": { 687 | "version": "1.0.2", 688 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 689 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" 690 | }, 691 | "is-regex": { 692 | "version": "1.1.0", 693 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", 694 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", 695 | "requires": { 696 | "has-symbols": "^1.0.1" 697 | } 698 | }, 699 | "is-symbol": { 700 | "version": "1.0.3", 701 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 702 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 703 | "requires": { 704 | "has-symbols": "^1.0.1" 705 | } 706 | }, 707 | "iterall": { 708 | "version": "1.3.0", 709 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", 710 | "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" 711 | }, 712 | "lodash.sortby": { 713 | "version": "4.7.0", 714 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", 715 | "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" 716 | }, 717 | "loglevel": { 718 | "version": "1.6.8", 719 | "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", 720 | "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==" 721 | }, 722 | "long": { 723 | "version": "4.0.0", 724 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 725 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 726 | }, 727 | "lru-cache": { 728 | "version": "5.1.1", 729 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 730 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 731 | "requires": { 732 | "yallist": "^3.0.2" 733 | } 734 | }, 735 | "mime-db": { 736 | "version": "1.44.0", 737 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 738 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 739 | }, 740 | "mime-types": { 741 | "version": "2.1.27", 742 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 743 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 744 | "requires": { 745 | "mime-db": "1.44.0" 746 | } 747 | }, 748 | "node-fetch": { 749 | "version": "2.6.0", 750 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", 751 | "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" 752 | }, 753 | "object-inspect": { 754 | "version": "1.8.0", 755 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", 756 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" 757 | }, 758 | "object-keys": { 759 | "version": "1.1.1", 760 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 761 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 762 | }, 763 | "object-path": { 764 | "version": "0.11.4", 765 | "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", 766 | "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" 767 | }, 768 | "object.assign": { 769 | "version": "4.1.0", 770 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 771 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 772 | "requires": { 773 | "define-properties": "^1.1.2", 774 | "function-bind": "^1.1.1", 775 | "has-symbols": "^1.0.0", 776 | "object-keys": "^1.0.11" 777 | } 778 | }, 779 | "object.getownpropertydescriptors": { 780 | "version": "2.1.0", 781 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", 782 | "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", 783 | "requires": { 784 | "define-properties": "^1.1.3", 785 | "es-abstract": "^1.17.0-next.1" 786 | } 787 | }, 788 | "retry": { 789 | "version": "0.12.0", 790 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 791 | "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" 792 | }, 793 | "safe-buffer": { 794 | "version": "5.2.1", 795 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 796 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 797 | }, 798 | "setprototypeof": { 799 | "version": "1.2.0", 800 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 801 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 802 | }, 803 | "sha.js": { 804 | "version": "2.4.11", 805 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 806 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 807 | "requires": { 808 | "inherits": "^2.0.1", 809 | "safe-buffer": "^5.0.1" 810 | } 811 | }, 812 | "statuses": { 813 | "version": "1.5.0", 814 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 815 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 816 | }, 817 | "streamsearch": { 818 | "version": "0.1.2", 819 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", 820 | "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" 821 | }, 822 | "string.prototype.trimend": { 823 | "version": "1.0.1", 824 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", 825 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", 826 | "requires": { 827 | "define-properties": "^1.1.3", 828 | "es-abstract": "^1.17.5" 829 | } 830 | }, 831 | "string.prototype.trimstart": { 832 | "version": "1.0.1", 833 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", 834 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", 835 | "requires": { 836 | "define-properties": "^1.1.3", 837 | "es-abstract": "^1.17.5" 838 | } 839 | }, 840 | "subscriptions-transport-ws": { 841 | "version": "0.9.17", 842 | "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.17.tgz", 843 | "integrity": "sha512-hNHi2N80PBz4T0V0QhnnsMGvG3XDFDS9mS6BhZ3R12T6EBywC8d/uJscsga0cVO4DKtXCkCRrWm2sOYrbOdhEA==", 844 | "requires": { 845 | "backo2": "^1.0.2", 846 | "eventemitter3": "^3.1.0", 847 | "iterall": "^1.2.1", 848 | "symbol-observable": "^1.0.4", 849 | "ws": "^5.2.0" 850 | }, 851 | "dependencies": { 852 | "ws": { 853 | "version": "5.2.2", 854 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 855 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 856 | "requires": { 857 | "async-limiter": "~1.0.0" 858 | } 859 | } 860 | } 861 | }, 862 | "symbol-observable": { 863 | "version": "1.2.0", 864 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 865 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" 866 | }, 867 | "toidentifier": { 868 | "version": "1.0.0", 869 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 870 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 871 | }, 872 | "ts-invariant": { 873 | "version": "0.4.4", 874 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", 875 | "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", 876 | "requires": { 877 | "tslib": "^1.9.3" 878 | } 879 | }, 880 | "tslib": { 881 | "version": "1.13.0", 882 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", 883 | "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" 884 | }, 885 | "util.promisify": { 886 | "version": "1.0.1", 887 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", 888 | "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", 889 | "requires": { 890 | "define-properties": "^1.1.3", 891 | "es-abstract": "^1.17.2", 892 | "has-symbols": "^1.0.1", 893 | "object.getownpropertydescriptors": "^2.1.0" 894 | } 895 | }, 896 | "uuid": { 897 | "version": "8.2.0", 898 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.2.0.tgz", 899 | "integrity": "sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q==" 900 | }, 901 | "ws": { 902 | "version": "6.2.1", 903 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", 904 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", 905 | "requires": { 906 | "async-limiter": "~1.0.0" 907 | } 908 | }, 909 | "xss": { 910 | "version": "1.0.7", 911 | "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.7.tgz", 912 | "integrity": "sha512-A9v7tblGvxu8TWXQC9rlpW96a+LN1lyw6wyhpTmmGW+FwRMactchBR3ROKSi33UPCUcUHSu8s9YP6F+K3Mw//w==", 913 | "requires": { 914 | "commander": "^2.20.3", 915 | "cssfilter": "0.0.10" 916 | } 917 | }, 918 | "yallist": { 919 | "version": "3.1.1", 920 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 921 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" 922 | }, 923 | "zen-observable": { 924 | "version": "0.8.15", 925 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", 926 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" 927 | }, 928 | "zen-observable-ts": { 929 | "version": "0.8.21", 930 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", 931 | "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", 932 | "requires": { 933 | "tslib": "^1.9.3", 934 | "zen-observable": "^0.8.0" 935 | } 936 | } 937 | } 938 | } 939 | -------------------------------------------------------------------------------- /aws/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "description": "A serverless benchmark, as a simple GraphQL server", 4 | "repository": "https://github.com/cloudflare/serverless-benchmark", 5 | "license": "MIT", 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node index.js" 9 | }, 10 | "dependencies": { 11 | "apollo-server-lambda": "^2.16.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aws/serverless.yml: -------------------------------------------------------------------------------- 1 | # serverless deploy 2 | # serverless remove 3 | service: graphql 4 | provider: 5 | name: aws 6 | runtime: nodejs12.x 7 | region: us-east-1 8 | memorySize: 128 9 | functions: 10 | graphql: 11 | handler: index.graphql 12 | events: 13 | - http: 14 | path: / 15 | method: any 16 | -------------------------------------------------------------------------------- /azure/index.js: -------------------------------------------------------------------------------- 1 | const { gql, ApolloServer } = require('apollo-server-azure-functions') 2 | 3 | const typeDefs = gql` 4 | type Query { 5 | hello: String 6 | } 7 | ` 8 | 9 | const resolvers = { 10 | Query: { 11 | hello: () => 'Hello world!', 12 | }, 13 | } 14 | 15 | const server = new ApolloServer({ 16 | typeDefs, 17 | resolvers, 18 | introspection: true, 19 | }) 20 | 21 | // Azure handler 22 | 23 | module.exports.graphql = server.createHandler() 24 | -------------------------------------------------------------------------------- /azure/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "description": "A serverless benchmark, as a simple GraphQL server", 4 | "repository": "https://github.com/cloudflare/serverless-benchmark", 5 | "license": "MIT", 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node index.js" 9 | }, 10 | "dependencies": { 11 | "apollo-server-azure-functions": "^2.16.0", 12 | "serverless-azure-functions": "^2.0.13" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /azure/serverless.yml: -------------------------------------------------------------------------------- 1 | # serverless deploy 2 | # serverless remove 3 | service: graphql 4 | provider: 5 | name: azure 6 | runtime: nodejs12 7 | location: West US 8 | memorySize: 128 9 | functions: 10 | graphql: 11 | handler: index.graphql 12 | events: 13 | - http: true 14 | authLevel: anonymous 15 | methods: 16 | - post 17 | plugins: 18 | - serverless-azure-functions 19 | -------------------------------------------------------------------------------- /benchmark.yml: -------------------------------------------------------------------------------- 1 | # artillery run benchmark.yml 2 | config: 3 | target: "" 4 | phases: 5 | - duration: 3600 6 | arrivalRate: 1 7 | scenarios: 8 | - flow: 9 | - post: 10 | url: "/" 11 | body: '{"operationName":null,"variables":{},"query":"{\n hello\n}\n"}' 12 | headers: # Google requires this header or else their function will not work! 13 | Content-Type: 'application/json' 14 | expect: 15 | - statusCode: 200 16 | -------------------------------------------------------------------------------- /cloudflare/.gitignore: -------------------------------------------------------------------------------- 1 | # Hugo default output directory 2 | /public 3 | 4 | # Serverless config 5 | node_modules 6 | .serverless 7 | 8 | ## OS Files 9 | # Windows 10 | Thumbs.db 11 | ehthumbs.db 12 | Desktop.ini 13 | $RECYCLE.BIN/ 14 | 15 | # OSX 16 | .DS_Store 17 | 18 | dist 19 | .env 20 | worker 21 | -------------------------------------------------------------------------------- /cloudflare/empty.js: -------------------------------------------------------------------------------- 1 | module.exports = {} 2 | -------------------------------------------------------------------------------- /cloudflare/index.js: -------------------------------------------------------------------------------- 1 | const { ApolloServer, gql } = require('apollo-server-cloudflare') 2 | 3 | const typeDefs = gql` 4 | type Query { 5 | hello: String 6 | } 7 | ` 8 | 9 | const resolvers = { 10 | Query: { 11 | hello: () => 'Hello world!', 12 | }, 13 | } 14 | 15 | const server = new ApolloServer({ 16 | typeDefs, 17 | resolvers, 18 | introspection: true, 19 | }) 20 | 21 | // Worker handler 22 | 23 | const { graphqlCloudflare } = require('apollo-server-cloudflare/dist/cloudflareApollo') 24 | 25 | const handler = async request => { 26 | return graphqlCloudflare(() => server.createGraphQLServerOptions(request))(request) 27 | } 28 | 29 | addEventListener('fetch', event => { 30 | event.respondWith(handler(event.request)) 31 | }) 32 | -------------------------------------------------------------------------------- /cloudflare/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "version": "1.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@apollographql/apollo-tools": { 8 | "version": "0.3.5", 9 | "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.3.5.tgz", 10 | "integrity": "sha512-5ySiiNT2EIwxGKWyoAOnibCPUXvbxKOVxiPMK4uIXmvF+qbGNleQWP+vekciiAmCCESPmGd5szscRwDm4G/NNg==", 11 | "requires": { 12 | "apollo-env": "0.4.0" 13 | } 14 | }, 15 | "@apollographql/graphql-playground-html": { 16 | "version": "1.6.6", 17 | "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.6.tgz", 18 | "integrity": "sha512-lqK94b+caNtmKFs5oUVXlSpN3sm5IXZ+KfhMxOtr0LR2SqErzkoJilitjDvJ1WbjHlxLI7WtCjRmOLdOGJqtMQ==" 19 | }, 20 | "@protobufjs/aspromise": { 21 | "version": "1.1.2", 22 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 23 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" 24 | }, 25 | "@protobufjs/base64": { 26 | "version": "1.1.2", 27 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 28 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 29 | }, 30 | "@protobufjs/codegen": { 31 | "version": "2.0.4", 32 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 33 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 34 | }, 35 | "@protobufjs/eventemitter": { 36 | "version": "1.1.0", 37 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 38 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" 39 | }, 40 | "@protobufjs/fetch": { 41 | "version": "1.1.0", 42 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 43 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 44 | "requires": { 45 | "@protobufjs/aspromise": "^1.1.1", 46 | "@protobufjs/inquire": "^1.1.0" 47 | } 48 | }, 49 | "@protobufjs/float": { 50 | "version": "1.0.2", 51 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 52 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" 53 | }, 54 | "@protobufjs/inquire": { 55 | "version": "1.1.0", 56 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 57 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" 58 | }, 59 | "@protobufjs/path": { 60 | "version": "1.1.2", 61 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 62 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" 63 | }, 64 | "@protobufjs/pool": { 65 | "version": "1.1.0", 66 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 67 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" 68 | }, 69 | "@protobufjs/utf8": { 70 | "version": "1.1.0", 71 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 72 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" 73 | }, 74 | "@types/events": { 75 | "version": "3.0.0", 76 | "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", 77 | "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" 78 | }, 79 | "@types/long": { 80 | "version": "4.0.0", 81 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", 82 | "integrity": "sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q==" 83 | }, 84 | "@types/node": { 85 | "version": "11.13.8", 86 | "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.8.tgz", 87 | "integrity": "sha512-szA3x/3miL90ZJxUCzx9haNbK5/zmPieGraZEe4WI+3srN0eGLiT22NXeMHmyhNEopn+IrxqMc7wdVwvPl8meg==" 88 | }, 89 | "@types/ws": { 90 | "version": "6.0.1", 91 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", 92 | "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==", 93 | "requires": { 94 | "@types/events": "*", 95 | "@types/node": "*" 96 | } 97 | }, 98 | "apollo-cache-control": { 99 | "version": "0.5.2", 100 | "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.5.2.tgz", 101 | "integrity": "sha512-uehXDUrd3Qim+nzxqqN7XT1YTbNSyumW3/FY5BxbKZTI8d4oPG4eyVQKqaggooSjswKQnOoIQVes3+qg9tGAkw==", 102 | "requires": { 103 | "apollo-server-env": "2.2.0", 104 | "graphql-extensions": "0.5.4" 105 | }, 106 | "dependencies": { 107 | "graphql-extensions": { 108 | "version": "0.5.4", 109 | "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.5.4.tgz", 110 | "integrity": "sha512-qLThJGVMqcItE7GDf/xX/E40m/aeqFheEKiR5bfra4q5eHxQKGjnIc20P9CVqjOn9I0FkEiU9ypOobfmIf7t6g==", 111 | "requires": { 112 | "@apollographql/apollo-tools": "^0.3.3" 113 | } 114 | } 115 | } 116 | }, 117 | "apollo-datasource": { 118 | "version": "0.3.1", 119 | "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.3.1.tgz", 120 | "integrity": "sha512-qdEUeonc9pPZvYwXK36h2NZoT7Pddmy0HYOzdV0ON5pcG1YtNmUyyYi83Q60V5wTWjuaCjyJ9hOY6wr0BMvQuA==", 121 | "requires": { 122 | "apollo-server-caching": "0.3.1", 123 | "apollo-server-env": "2.2.0" 124 | } 125 | }, 126 | "apollo-datasource-rest": { 127 | "version": "0.3.2", 128 | "resolved": "https://registry.npmjs.org/apollo-datasource-rest/-/apollo-datasource-rest-0.3.2.tgz", 129 | "integrity": "sha512-56Mt4VTlzeqHr+NPAkIi9KQYBhuOnn1PGrIg9X/nQ2gjY/sujiXiS1EmFo7vLbdO5NBNhfqvPXffgWWzZI1asQ==", 130 | "requires": { 131 | "apollo-datasource": "0.3.1", 132 | "apollo-server-caching": "0.3.1", 133 | "apollo-server-env": "2.2.0", 134 | "apollo-server-errors": "2.2.1", 135 | "http-cache-semantics": "^4.0.0" 136 | } 137 | }, 138 | "apollo-engine-reporting": { 139 | "version": "1.0.7", 140 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.0.7.tgz", 141 | "integrity": "sha512-mFsXvd+1/o5jSa9tI2RoXYGcvCLcwwcfLwchjSTxqUd4ViB8RbqYKynzEZ+Omji7PBRM0azioBm43f7PSsQPqA==", 142 | "requires": { 143 | "apollo-engine-reporting-protobuf": "0.2.1", 144 | "apollo-graphql": "^0.1.0", 145 | "apollo-server-core": "2.4.8", 146 | "apollo-server-env": "2.2.0", 147 | "async-retry": "^1.2.1", 148 | "graphql-extensions": "0.5.7" 149 | } 150 | }, 151 | "apollo-engine-reporting-protobuf": { 152 | "version": "0.2.1", 153 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.2.1.tgz", 154 | "integrity": "sha512-5pYR84uWeylRS2OJowtkTczT3bWTwOErWtfnkRKccUi/wZ/AZJBP+D5HKNzM7xoFcz9XvrJyS+wBTz1oBi0Jiw==", 155 | "requires": { 156 | "protobufjs": "^6.8.6" 157 | } 158 | }, 159 | "apollo-env": { 160 | "version": "0.4.0", 161 | "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.4.0.tgz", 162 | "integrity": "sha512-TZpk59RTbXd8cEqwmI0KHFoRrgBRplvPAP4bbRrX4uDSxXvoiY0Y6tQYUlJ35zi398Hob45mXfrZxeRDzoFMkQ==", 163 | "requires": { 164 | "core-js": "3.0.0-beta.13", 165 | "node-fetch": "^2.2.0", 166 | "sha.js": "^2.4.11" 167 | } 168 | }, 169 | "apollo-graphql": { 170 | "version": "0.1.3", 171 | "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.1.3.tgz", 172 | "integrity": "sha512-bYgDh71jFfHKO9ioGlxnnoSYgpNp6LRl+/QHTx6tktQEN0Z+AdpkOKFNCHO/pRU/4vSqV5wuIhxhnCecxJQrMA==", 173 | "requires": { 174 | "apollo-env": "0.4.0", 175 | "lodash.sortby": "^4.7.0" 176 | } 177 | }, 178 | "apollo-link": { 179 | "version": "1.2.11", 180 | "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.11.tgz", 181 | "integrity": "sha512-PQvRCg13VduLy3X/0L79M6uOpTh5iHdxnxYuo8yL7sJlWybKRJwsv4IcRBJpMFbChOOaHY7Og9wgPo6DLKDKDA==", 182 | "requires": { 183 | "apollo-utilities": "^1.2.1", 184 | "ts-invariant": "^0.3.2", 185 | "tslib": "^1.9.3", 186 | "zen-observable-ts": "^0.8.18" 187 | } 188 | }, 189 | "apollo-server-caching": { 190 | "version": "0.3.1", 191 | "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.3.1.tgz", 192 | "integrity": "sha512-mfxzikYXbB/OoEms77AGYwRh7FF3Oim5v5XWAL+VL49FrkbZt5lopVa4bABi7Mz8Nt3Htl9EBJN8765s/yh8IA==", 193 | "requires": { 194 | "lru-cache": "^5.0.0" 195 | } 196 | }, 197 | "apollo-server-cloudflare": { 198 | "version": "2.4.8", 199 | "resolved": "https://registry.npmjs.org/apollo-server-cloudflare/-/apollo-server-cloudflare-2.4.8.tgz", 200 | "integrity": "sha512-HANcq/PRSQx+uO0lYoK62LLXRfE0saCZ4SwCqwpTOOiqNbXgtk09v+mA/KtfJS/7lVSmqwir8/Fw9n8p76fJbQ==", 201 | "requires": { 202 | "apollo-server-core": "2.4.8", 203 | "apollo-server-env": "2.2.0" 204 | } 205 | }, 206 | "apollo-server-core": { 207 | "version": "2.4.8", 208 | "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.4.8.tgz", 209 | "integrity": "sha512-N+5UOzHhMOnHizEiArJtNvEe/cGhSHQyTn5tlU4RJ36FDBJ/WlYZfPbGDMLISSUCJ6t+aP8GLL4Mnudt9d2PDQ==", 210 | "requires": { 211 | "@apollographql/apollo-tools": "^0.3.3", 212 | "@apollographql/graphql-playground-html": "^1.6.6", 213 | "@types/ws": "^6.0.0", 214 | "apollo-cache-control": "0.5.2", 215 | "apollo-datasource": "0.3.1", 216 | "apollo-engine-reporting": "1.0.7", 217 | "apollo-server-caching": "0.3.1", 218 | "apollo-server-env": "2.2.0", 219 | "apollo-server-errors": "2.2.1", 220 | "apollo-server-plugin-base": "0.3.7", 221 | "apollo-tracing": "0.5.2", 222 | "fast-json-stable-stringify": "^2.0.0", 223 | "graphql-extensions": "0.5.7", 224 | "graphql-subscriptions": "^1.0.0", 225 | "graphql-tag": "^2.9.2", 226 | "graphql-tools": "^4.0.0", 227 | "graphql-upload": "^8.0.2", 228 | "sha.js": "^2.4.11", 229 | "subscriptions-transport-ws": "^0.9.11", 230 | "ws": "^6.0.0" 231 | } 232 | }, 233 | "apollo-server-env": { 234 | "version": "2.2.0", 235 | "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.2.0.tgz", 236 | "integrity": "sha512-wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA==", 237 | "requires": { 238 | "node-fetch": "^2.1.2", 239 | "util.promisify": "^1.0.0" 240 | } 241 | }, 242 | "apollo-server-errors": { 243 | "version": "2.2.1", 244 | "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.2.1.tgz", 245 | "integrity": "sha512-wY/YE3iJVMYC+WYIf8QODBjIP4jhI+oc7kiYo9mrz7LdYPKAgxr/he+NteGcqn/0Ea9K5/ZFTGJDbEstSMeP8g==" 246 | }, 247 | "apollo-server-plugin-base": { 248 | "version": "0.3.7", 249 | "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.3.7.tgz", 250 | "integrity": "sha512-hW1jaLKf9qNOxMTwRq2CSqz3eqXsZuEiCc8/mmEtOciiVBq1GMtxFf19oIYM9HQuPvQU2RWpns1VrYN59L3vbg==" 251 | }, 252 | "apollo-tracing": { 253 | "version": "0.5.2", 254 | "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.5.2.tgz", 255 | "integrity": "sha512-2FdwRvPIq9uuF6OzONroXep6VBGqzHOkP6LlcFQe7SdwxfRP+SD/ycHNSC1acVg2b8d+am9Kzqg2vV54UpOIKA==", 256 | "requires": { 257 | "apollo-server-env": "2.2.0", 258 | "graphql-extensions": "0.5.4" 259 | }, 260 | "dependencies": { 261 | "graphql-extensions": { 262 | "version": "0.5.4", 263 | "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.5.4.tgz", 264 | "integrity": "sha512-qLThJGVMqcItE7GDf/xX/E40m/aeqFheEKiR5bfra4q5eHxQKGjnIc20P9CVqjOn9I0FkEiU9ypOobfmIf7t6g==", 265 | "requires": { 266 | "@apollographql/apollo-tools": "^0.3.3" 267 | } 268 | } 269 | } 270 | }, 271 | "apollo-utilities": { 272 | "version": "1.2.1", 273 | "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.2.1.tgz", 274 | "integrity": "sha512-Zv8Udp9XTSFiN8oyXOjf6PMHepD4yxxReLsl6dPUy5Ths7jti3nmlBzZUOxuTWRwZn0MoclqL7RQ5UEJN8MAxg==", 275 | "requires": { 276 | "fast-json-stable-stringify": "^2.0.0", 277 | "ts-invariant": "^0.2.1", 278 | "tslib": "^1.9.3" 279 | }, 280 | "dependencies": { 281 | "ts-invariant": { 282 | "version": "0.2.1", 283 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.2.1.tgz", 284 | "integrity": "sha512-Z/JSxzVmhTo50I+LKagEISFJW3pvPCqsMWLamCTX8Kr3N5aMrnGOqcflbe5hLUzwjvgPfnLzQtHZv0yWQ+FIHg==", 285 | "requires": { 286 | "tslib": "^1.9.3" 287 | } 288 | } 289 | } 290 | }, 291 | "async-limiter": { 292 | "version": "1.0.0", 293 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 294 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 295 | }, 296 | "async-retry": { 297 | "version": "1.2.3", 298 | "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz", 299 | "integrity": "sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==", 300 | "requires": { 301 | "retry": "0.12.0" 302 | } 303 | }, 304 | "backo2": { 305 | "version": "1.0.2", 306 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 307 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" 308 | }, 309 | "busboy": { 310 | "version": "0.3.1", 311 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", 312 | "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", 313 | "requires": { 314 | "dicer": "0.3.0" 315 | } 316 | }, 317 | "core-js": { 318 | "version": "3.0.0-beta.13", 319 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.13.tgz", 320 | "integrity": "sha512-16Q43c/3LT9NyePUJKL8nRIQgYWjcBhjJSMWg96PVSxoS0PeE0NHitPI3opBrs9MGGHjte1KoEVr9W63YKlTXQ==" 321 | }, 322 | "define-properties": { 323 | "version": "1.1.3", 324 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 325 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 326 | "requires": { 327 | "object-keys": "^1.0.12" 328 | } 329 | }, 330 | "depd": { 331 | "version": "1.1.2", 332 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 333 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 334 | }, 335 | "deprecated-decorator": { 336 | "version": "0.1.6", 337 | "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", 338 | "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=" 339 | }, 340 | "dicer": { 341 | "version": "0.3.0", 342 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", 343 | "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", 344 | "requires": { 345 | "streamsearch": "0.1.2" 346 | } 347 | }, 348 | "es-abstract": { 349 | "version": "1.13.0", 350 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", 351 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", 352 | "requires": { 353 | "es-to-primitive": "^1.2.0", 354 | "function-bind": "^1.1.1", 355 | "has": "^1.0.3", 356 | "is-callable": "^1.1.4", 357 | "is-regex": "^1.0.4", 358 | "object-keys": "^1.0.12" 359 | } 360 | }, 361 | "es-to-primitive": { 362 | "version": "1.2.0", 363 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 364 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 365 | "requires": { 366 | "is-callable": "^1.1.4", 367 | "is-date-object": "^1.0.1", 368 | "is-symbol": "^1.0.2" 369 | } 370 | }, 371 | "eventemitter3": { 372 | "version": "3.1.2", 373 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", 374 | "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" 375 | }, 376 | "fast-json-stable-stringify": { 377 | "version": "2.0.0", 378 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 379 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 380 | }, 381 | "fs-capacitor": { 382 | "version": "2.0.1", 383 | "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.1.tgz", 384 | "integrity": "sha512-kyV2oaG1/pu9NPosfGACmBym6okgzyg6hEtA5LSUq0dGpGLe278MVfMwVnSHDA/OBcTCHkPNqWL9eIwbPN6dDg==" 385 | }, 386 | "function-bind": { 387 | "version": "1.1.1", 388 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 389 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 390 | }, 391 | "graphql": { 392 | "version": "14.2.1", 393 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.2.1.tgz", 394 | "integrity": "sha512-2PL1UbvKeSjy/lUeJqHk+eR9CvuErXoCNwJI4jm3oNFEeY+9ELqHNKO1ZuSxAkasPkpWbmT/iMRMFxd3cEL3tQ==", 395 | "requires": { 396 | "iterall": "^1.2.2" 397 | } 398 | }, 399 | "graphql-extensions": { 400 | "version": "0.5.7", 401 | "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.5.7.tgz", 402 | "integrity": "sha512-HrU6APE1PiehZ46scMB3S5DezSeCATd8v+e4mmg2bqszMyCFkmAnmK6hR1b5VjHxhzt5/FX21x1WsXfqF4FwdQ==", 403 | "requires": { 404 | "@apollographql/apollo-tools": "^0.3.3" 405 | } 406 | }, 407 | "graphql-subscriptions": { 408 | "version": "1.1.0", 409 | "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz", 410 | "integrity": "sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA==", 411 | "requires": { 412 | "iterall": "^1.2.1" 413 | } 414 | }, 415 | "graphql-tag": { 416 | "version": "2.10.1", 417 | "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.1.tgz", 418 | "integrity": "sha512-jApXqWBzNXQ8jYa/HLkZJaVw9jgwNqZkywa2zfFn16Iv1Zb7ELNHkJaXHR7Quvd5SIGsy6Ny7SUKATgnu05uEg==" 419 | }, 420 | "graphql-tools": { 421 | "version": "4.0.4", 422 | "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.4.tgz", 423 | "integrity": "sha512-chF12etTIGVVGy3fCTJ1ivJX2KB7OSG4c6UOJQuqOHCmBQwTyNgCDuejZKvpYxNZiEx7bwIjrodDgDe9RIkjlw==", 424 | "requires": { 425 | "apollo-link": "^1.2.3", 426 | "apollo-utilities": "^1.0.1", 427 | "deprecated-decorator": "^0.1.6", 428 | "iterall": "^1.1.3", 429 | "uuid": "^3.1.0" 430 | } 431 | }, 432 | "graphql-upload": { 433 | "version": "8.0.6", 434 | "resolved": "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.0.6.tgz", 435 | "integrity": "sha512-cBRALMOvGBm2AD6M61b1QbSmKfCLXvgV+Z3wXT2JS1EQwGWQ1g5/sby4J/cpwAaGnq5P2eGp+N3HQI9cSn9Jfg==", 436 | "requires": { 437 | "busboy": "^0.3.1", 438 | "fs-capacitor": "^2.0.1", 439 | "http-errors": "^1.7.2", 440 | "object-path": "^0.11.4" 441 | } 442 | }, 443 | "has": { 444 | "version": "1.0.3", 445 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 446 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 447 | "requires": { 448 | "function-bind": "^1.1.1" 449 | } 450 | }, 451 | "has-symbols": { 452 | "version": "1.0.0", 453 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 454 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" 455 | }, 456 | "http-cache-semantics": { 457 | "version": "4.0.3", 458 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz", 459 | "integrity": "sha512-TcIMG3qeVLgDr1TEd2XvHaTnMPwYQUQMIBLy+5pLSDKYFc7UIqj39w8EGzZkaxoLv/l2K8HaI0t5AVA+YYgUew==" 460 | }, 461 | "http-errors": { 462 | "version": "1.7.2", 463 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", 464 | "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", 465 | "requires": { 466 | "depd": "~1.1.2", 467 | "inherits": "2.0.3", 468 | "setprototypeof": "1.1.1", 469 | "statuses": ">= 1.5.0 < 2", 470 | "toidentifier": "1.0.0" 471 | } 472 | }, 473 | "inherits": { 474 | "version": "2.0.3", 475 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 476 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 477 | }, 478 | "is-callable": { 479 | "version": "1.1.4", 480 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 481 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" 482 | }, 483 | "is-date-object": { 484 | "version": "1.0.1", 485 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 486 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" 487 | }, 488 | "is-regex": { 489 | "version": "1.0.4", 490 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 491 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 492 | "requires": { 493 | "has": "^1.0.1" 494 | } 495 | }, 496 | "is-symbol": { 497 | "version": "1.0.2", 498 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 499 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 500 | "requires": { 501 | "has-symbols": "^1.0.0" 502 | } 503 | }, 504 | "iterall": { 505 | "version": "1.2.2", 506 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", 507 | "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" 508 | }, 509 | "lodash.sortby": { 510 | "version": "4.7.0", 511 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", 512 | "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" 513 | }, 514 | "long": { 515 | "version": "4.0.0", 516 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 517 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 518 | }, 519 | "lru-cache": { 520 | "version": "5.1.1", 521 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 522 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 523 | "requires": { 524 | "yallist": "^3.0.2" 525 | } 526 | }, 527 | "node-fetch": { 528 | "version": "2.3.0", 529 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", 530 | "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" 531 | }, 532 | "object-keys": { 533 | "version": "1.1.1", 534 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 535 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 536 | }, 537 | "object-path": { 538 | "version": "0.11.4", 539 | "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", 540 | "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" 541 | }, 542 | "object.getownpropertydescriptors": { 543 | "version": "2.0.3", 544 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", 545 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", 546 | "requires": { 547 | "define-properties": "^1.1.2", 548 | "es-abstract": "^1.5.1" 549 | } 550 | }, 551 | "protobufjs": { 552 | "version": "6.8.8", 553 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.8.tgz", 554 | "integrity": "sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw==", 555 | "requires": { 556 | "@protobufjs/aspromise": "^1.1.2", 557 | "@protobufjs/base64": "^1.1.2", 558 | "@protobufjs/codegen": "^2.0.4", 559 | "@protobufjs/eventemitter": "^1.1.0", 560 | "@protobufjs/fetch": "^1.1.0", 561 | "@protobufjs/float": "^1.0.2", 562 | "@protobufjs/inquire": "^1.1.0", 563 | "@protobufjs/path": "^1.1.2", 564 | "@protobufjs/pool": "^1.1.0", 565 | "@protobufjs/utf8": "^1.1.0", 566 | "@types/long": "^4.0.0", 567 | "@types/node": "^10.1.0", 568 | "long": "^4.0.0" 569 | }, 570 | "dependencies": { 571 | "@types/node": { 572 | "version": "10.14.6", 573 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.14.6.tgz", 574 | "integrity": "sha512-Fvm24+u85lGmV4hT5G++aht2C5I4Z4dYlWZIh62FAfFO/TfzXtPpoLI6I7AuBWkIFqZCnhFOoTT7RjjaIL5Fjg==" 575 | } 576 | } 577 | }, 578 | "retry": { 579 | "version": "0.12.0", 580 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 581 | "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" 582 | }, 583 | "safe-buffer": { 584 | "version": "5.1.2", 585 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 586 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 587 | }, 588 | "setprototypeof": { 589 | "version": "1.1.1", 590 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", 591 | "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" 592 | }, 593 | "sha.js": { 594 | "version": "2.4.11", 595 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 596 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 597 | "requires": { 598 | "inherits": "^2.0.1", 599 | "safe-buffer": "^5.0.1" 600 | } 601 | }, 602 | "statuses": { 603 | "version": "1.5.0", 604 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 605 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 606 | }, 607 | "streamsearch": { 608 | "version": "0.1.2", 609 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", 610 | "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" 611 | }, 612 | "subscriptions-transport-ws": { 613 | "version": "0.9.16", 614 | "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz", 615 | "integrity": "sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw==", 616 | "requires": { 617 | "backo2": "^1.0.2", 618 | "eventemitter3": "^3.1.0", 619 | "iterall": "^1.2.1", 620 | "symbol-observable": "^1.0.4", 621 | "ws": "^5.2.0" 622 | }, 623 | "dependencies": { 624 | "ws": { 625 | "version": "5.2.2", 626 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 627 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 628 | "requires": { 629 | "async-limiter": "~1.0.0" 630 | } 631 | } 632 | } 633 | }, 634 | "symbol-observable": { 635 | "version": "1.2.0", 636 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 637 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" 638 | }, 639 | "toidentifier": { 640 | "version": "1.0.0", 641 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 642 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 643 | }, 644 | "ts-invariant": { 645 | "version": "0.3.3", 646 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.3.3.tgz", 647 | "integrity": "sha512-UReOKsrJFGC9tUblgSRWo+BsVNbEd77Cl6WiV/XpMlkifXwNIJbknViCucHvVZkXSC/mcWeRnIGdY7uprcwvdQ==", 648 | "requires": { 649 | "tslib": "^1.9.3" 650 | } 651 | }, 652 | "tslib": { 653 | "version": "1.9.3", 654 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 655 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" 656 | }, 657 | "util.promisify": { 658 | "version": "1.0.0", 659 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", 660 | "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", 661 | "requires": { 662 | "define-properties": "^1.1.2", 663 | "object.getownpropertydescriptors": "^2.0.3" 664 | } 665 | }, 666 | "uuid": { 667 | "version": "3.3.2", 668 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 669 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 670 | }, 671 | "ws": { 672 | "version": "6.2.1", 673 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", 674 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", 675 | "requires": { 676 | "async-limiter": "~1.0.0" 677 | } 678 | }, 679 | "yallist": { 680 | "version": "3.0.3", 681 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", 682 | "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" 683 | }, 684 | "zen-observable": { 685 | "version": "0.8.14", 686 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.14.tgz", 687 | "integrity": "sha512-kQz39uonEjEESwh+qCi83kcC3rZJGh4mrZW7xjkSQYXkq//JZHTtKo+6yuVloTgMtzsIWOJrjIrKvk/dqm0L5g==" 688 | }, 689 | "zen-observable-ts": { 690 | "version": "0.8.18", 691 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.18.tgz", 692 | "integrity": "sha512-q7d05s75Rn1j39U5Oapg3HI2wzriVwERVo4N7uFGpIYuHB9ff02P/E92P9B8T7QVC93jCMHpbXH7X0eVR5LA7A==", 693 | "requires": { 694 | "tslib": "^1.9.3", 695 | "zen-observable": "^0.8.0" 696 | } 697 | } 698 | } 699 | } 700 | -------------------------------------------------------------------------------- /cloudflare/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "description": "A serverless benchmark, as a simple GraphQL server", 4 | "repository": "https://github.com/cloudflare/serverless-benchmark", 5 | "license": "MIT", 6 | "main": "./index.js", 7 | "scripts": { 8 | "start": "node index.js" 9 | }, 10 | "dependencies": { 11 | "apollo-server-cloudflare": "^2.4.8", 12 | "graphql": "^14.2.1" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /cloudflare/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | module.exports = { 4 | entry: './index.js', 5 | target: 'webworker', 6 | resolve: { 7 | alias: { 8 | // File system is not supported, so this must be "mocked" out 9 | fs: path.resolve(__dirname, './empty.js'), 10 | }, 11 | }, 12 | mode: 'production', 13 | optimization: { 14 | usedExports: true, 15 | }, 16 | } 17 | -------------------------------------------------------------------------------- /cloudflare/wrangler.toml: -------------------------------------------------------------------------------- 1 | name = "graphql" 2 | type = "webpack" 3 | account_id = "" 4 | zone_id = "" 5 | route = "" 6 | workers_dev = false 7 | webpack_config = "webpack.config.js" 8 | -------------------------------------------------------------------------------- /google/index.js: -------------------------------------------------------------------------------- 1 | const { gql, ApolloServer } = require('apollo-server-cloud-functions') 2 | 3 | const typeDefs = gql` 4 | type Query { 5 | hello: String 6 | } 7 | ` 8 | 9 | const resolvers = { 10 | Query: { 11 | hello: () => 'Hello world!', 12 | }, 13 | } 14 | 15 | const server = new ApolloServer({ 16 | typeDefs, 17 | resolvers, 18 | introspection: true, 19 | }) 20 | 21 | // Google handler 22 | 23 | exports.graphql = server.createHandler() 24 | -------------------------------------------------------------------------------- /google/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "requires": true, 4 | "lockfileVersion": 1, 5 | "dependencies": { 6 | "@apollo/protobufjs": { 7 | "version": "1.0.4", 8 | "resolved": "https://registry.npmjs.org/@apollo/protobufjs/-/protobufjs-1.0.4.tgz", 9 | "integrity": "sha512-EE3zx+/D/wur/JiLp6VCiw1iYdyy1lCJMf8CGPkLeDt5QJrN4N8tKFx33Ah4V30AUQzMk7Uz4IXKZ1LOj124gA==", 10 | "requires": { 11 | "@protobufjs/aspromise": "^1.1.2", 12 | "@protobufjs/base64": "^1.1.2", 13 | "@protobufjs/codegen": "^2.0.4", 14 | "@protobufjs/eventemitter": "^1.1.0", 15 | "@protobufjs/fetch": "^1.1.0", 16 | "@protobufjs/float": "^1.0.2", 17 | "@protobufjs/inquire": "^1.1.0", 18 | "@protobufjs/path": "^1.1.2", 19 | "@protobufjs/pool": "^1.1.0", 20 | "@protobufjs/utf8": "^1.1.0", 21 | "@types/long": "^4.0.0", 22 | "@types/node": "^10.1.0", 23 | "long": "^4.0.0" 24 | }, 25 | "dependencies": { 26 | "@types/node": { 27 | "version": "10.17.27", 28 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.27.tgz", 29 | "integrity": "sha512-J0oqm9ZfAXaPdwNXMMgAhylw5fhmXkToJd06vuDUSAgEDZ/n/69/69UmyBZbc+zT34UnShuDSBqvim3SPnozJg==" 30 | } 31 | } 32 | }, 33 | "@apollographql/apollo-tools": { 34 | "version": "0.4.8", 35 | "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.8.tgz", 36 | "integrity": "sha512-W2+HB8Y7ifowcf3YyPHgDI05izyRtOeZ4MqIr7LbTArtmJ0ZHULWpn84SGMW7NAvTV1tFExpHlveHhnXuJfuGA==", 37 | "requires": { 38 | "apollo-env": "^0.6.5" 39 | } 40 | }, 41 | "@apollographql/graphql-playground-html": { 42 | "version": "1.6.26", 43 | "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.26.tgz", 44 | "integrity": "sha512-XAwXOIab51QyhBxnxySdK3nuMEUohhDsHQ5Rbco/V1vjlP75zZ0ZLHD9dTpXTN8uxKxopb2lUvJTq+M4g2Q0HQ==", 45 | "requires": { 46 | "xss": "^1.0.6" 47 | } 48 | }, 49 | "@protobufjs/aspromise": { 50 | "version": "1.1.2", 51 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", 52 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78=" 53 | }, 54 | "@protobufjs/base64": { 55 | "version": "1.1.2", 56 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", 57 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" 58 | }, 59 | "@protobufjs/codegen": { 60 | "version": "2.0.4", 61 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", 62 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" 63 | }, 64 | "@protobufjs/eventemitter": { 65 | "version": "1.1.0", 66 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", 67 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A=" 68 | }, 69 | "@protobufjs/fetch": { 70 | "version": "1.1.0", 71 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", 72 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=", 73 | "requires": { 74 | "@protobufjs/aspromise": "^1.1.1", 75 | "@protobufjs/inquire": "^1.1.0" 76 | } 77 | }, 78 | "@protobufjs/float": { 79 | "version": "1.0.2", 80 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", 81 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=" 82 | }, 83 | "@protobufjs/inquire": { 84 | "version": "1.1.0", 85 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", 86 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=" 87 | }, 88 | "@protobufjs/path": { 89 | "version": "1.1.2", 90 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", 91 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=" 92 | }, 93 | "@protobufjs/pool": { 94 | "version": "1.1.0", 95 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", 96 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=" 97 | }, 98 | "@protobufjs/utf8": { 99 | "version": "1.1.0", 100 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", 101 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=" 102 | }, 103 | "@types/accepts": { 104 | "version": "1.3.5", 105 | "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", 106 | "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", 107 | "requires": { 108 | "@types/node": "*" 109 | } 110 | }, 111 | "@types/body-parser": { 112 | "version": "1.19.0", 113 | "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", 114 | "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", 115 | "requires": { 116 | "@types/connect": "*", 117 | "@types/node": "*" 118 | } 119 | }, 120 | "@types/color-name": { 121 | "version": "1.1.1", 122 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", 123 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" 124 | }, 125 | "@types/connect": { 126 | "version": "3.4.33", 127 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", 128 | "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", 129 | "requires": { 130 | "@types/node": "*" 131 | } 132 | }, 133 | "@types/content-disposition": { 134 | "version": "0.5.3", 135 | "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz", 136 | "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==" 137 | }, 138 | "@types/cookies": { 139 | "version": "0.7.4", 140 | "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz", 141 | "integrity": "sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw==", 142 | "requires": { 143 | "@types/connect": "*", 144 | "@types/express": "*", 145 | "@types/keygrip": "*", 146 | "@types/node": "*" 147 | } 148 | }, 149 | "@types/express": { 150 | "version": "4.17.7", 151 | "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.7.tgz", 152 | "integrity": "sha512-dCOT5lcmV/uC2J9k0rPafATeeyz+99xTt54ReX11/LObZgfzJqZNcW27zGhYyX+9iSEGXGt5qLPwRSvBZcLvtQ==", 153 | "requires": { 154 | "@types/body-parser": "*", 155 | "@types/express-serve-static-core": "*", 156 | "@types/qs": "*", 157 | "@types/serve-static": "*" 158 | } 159 | }, 160 | "@types/express-serve-static-core": { 161 | "version": "4.17.8", 162 | "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.8.tgz", 163 | "integrity": "sha512-1SJZ+R3Q/7mLkOD9ewCBDYD2k0WyZQtWYqF/2VvoNN2/uhI49J9CDN4OAm+wGMA0DbArA4ef27xl4+JwMtGggw==", 164 | "requires": { 165 | "@types/node": "*", 166 | "@types/qs": "*", 167 | "@types/range-parser": "*" 168 | } 169 | }, 170 | "@types/fs-capacitor": { 171 | "version": "2.0.0", 172 | "resolved": "https://registry.npmjs.org/@types/fs-capacitor/-/fs-capacitor-2.0.0.tgz", 173 | "integrity": "sha512-FKVPOCFbhCvZxpVAMhdBdTfVfXUpsh15wFHgqOKxh9N9vzWZVuWCSijZ5T4U34XYNnuj2oduh6xcs1i+LPI+BQ==", 174 | "requires": { 175 | "@types/node": "*" 176 | } 177 | }, 178 | "@types/graphql-upload": { 179 | "version": "8.0.3", 180 | "resolved": "https://registry.npmjs.org/@types/graphql-upload/-/graphql-upload-8.0.3.tgz", 181 | "integrity": "sha512-hmLg9pCU/GmxBscg8GCr1vmSoEmbItNNxdD5YH2TJkXm//8atjwuprB+xJBK714JG1dkxbbhp5RHX+Pz1KsCMA==", 182 | "requires": { 183 | "@types/express": "*", 184 | "@types/fs-capacitor": "*", 185 | "@types/koa": "*", 186 | "graphql": "^14.5.3" 187 | } 188 | }, 189 | "@types/http-assert": { 190 | "version": "1.5.1", 191 | "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz", 192 | "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==" 193 | }, 194 | "@types/keygrip": { 195 | "version": "1.0.2", 196 | "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", 197 | "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==" 198 | }, 199 | "@types/koa": { 200 | "version": "2.11.3", 201 | "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.3.tgz", 202 | "integrity": "sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q==", 203 | "requires": { 204 | "@types/accepts": "*", 205 | "@types/content-disposition": "*", 206 | "@types/cookies": "*", 207 | "@types/http-assert": "*", 208 | "@types/keygrip": "*", 209 | "@types/koa-compose": "*", 210 | "@types/node": "*" 211 | } 212 | }, 213 | "@types/koa-compose": { 214 | "version": "3.2.5", 215 | "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", 216 | "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", 217 | "requires": { 218 | "@types/koa": "*" 219 | } 220 | }, 221 | "@types/long": { 222 | "version": "4.0.1", 223 | "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.1.tgz", 224 | "integrity": "sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==" 225 | }, 226 | "@types/mime": { 227 | "version": "2.0.2", 228 | "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.2.tgz", 229 | "integrity": "sha512-4kPlzbljFcsttWEq6aBW0OZe6BDajAmyvr2xknBG92tejQnvdGtT9+kXSZ580DqpxY9qG2xeQVF9Dq0ymUTo5Q==" 230 | }, 231 | "@types/node": { 232 | "version": "14.0.23", 233 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.23.tgz", 234 | "integrity": "sha512-Z4U8yDAl5TFkmYsZdFPdjeMa57NOvnaf1tljHzhouaPEp7LCj2JKkejpI1ODviIAQuW4CcQmxkQ77rnLsOOoKw==" 235 | }, 236 | "@types/node-fetch": { 237 | "version": "2.5.7", 238 | "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.7.tgz", 239 | "integrity": "sha512-o2WVNf5UhWRkxlf6eq+jMZDu7kjgpgJfl4xVNlvryc95O/6F2ld8ztKX+qu+Rjyet93WAWm5LjeX9H5FGkODvw==", 240 | "requires": { 241 | "@types/node": "*", 242 | "form-data": "^3.0.0" 243 | } 244 | }, 245 | "@types/qs": { 246 | "version": "6.9.3", 247 | "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.3.tgz", 248 | "integrity": "sha512-7s9EQWupR1fTc2pSMtXRQ9w9gLOcrJn+h7HOXw4evxyvVqMi4f+q7d2tnFe3ng3SNHjtK+0EzGMGFUQX4/AQRA==" 249 | }, 250 | "@types/range-parser": { 251 | "version": "1.2.3", 252 | "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", 253 | "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" 254 | }, 255 | "@types/serve-static": { 256 | "version": "1.13.4", 257 | "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.4.tgz", 258 | "integrity": "sha512-jTDt0o/YbpNwZbQmE/+2e+lfjJEJJR0I3OFaKQKPWkASkCoW3i6fsUnqudSMcNAfbtmADGu8f4MV4q+GqULmug==", 259 | "requires": { 260 | "@types/express-serve-static-core": "*", 261 | "@types/mime": "*" 262 | } 263 | }, 264 | "@types/ws": { 265 | "version": "7.2.6", 266 | "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.2.6.tgz", 267 | "integrity": "sha512-Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ==", 268 | "requires": { 269 | "@types/node": "*" 270 | } 271 | }, 272 | "@wry/equality": { 273 | "version": "0.1.11", 274 | "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", 275 | "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", 276 | "requires": { 277 | "tslib": "^1.9.3" 278 | } 279 | }, 280 | "abort-controller": { 281 | "version": "3.0.0", 282 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", 283 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", 284 | "requires": { 285 | "event-target-shim": "^5.0.0" 286 | } 287 | }, 288 | "agent-base": { 289 | "version": "6.0.1", 290 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.1.tgz", 291 | "integrity": "sha512-01q25QQDwLSsyfhrKbn8yuur+JNw0H+0Y4JiGIKd3z9aYk/w/2kxD/Upc+t2ZBBSUNff50VjPsSW2YxM8QYKVg==", 292 | "requires": { 293 | "debug": "4" 294 | } 295 | }, 296 | "ansi-styles": { 297 | "version": "4.2.1", 298 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", 299 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", 300 | "requires": { 301 | "@types/color-name": "^1.1.1", 302 | "color-convert": "^2.0.1" 303 | } 304 | }, 305 | "apollo-cache-control": { 306 | "version": "0.11.1", 307 | "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.11.1.tgz", 308 | "integrity": "sha512-6iHa8TkcKt4rx5SKRzDNjUIpCQX+7/FlZwD7vRh9JDnM4VH8SWhpj8fUR3CiEY8Kuc4ChXnOY8bCcMju5KPnIQ==", 309 | "requires": { 310 | "apollo-server-env": "^2.4.5", 311 | "apollo-server-plugin-base": "^0.9.1" 312 | } 313 | }, 314 | "apollo-datasource": { 315 | "version": "0.7.2", 316 | "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.7.2.tgz", 317 | "integrity": "sha512-ibnW+s4BMp4K2AgzLEtvzkjg7dJgCaw9M5b5N0YKNmeRZRnl/I/qBTQae648FsRKgMwTbRQIvBhQ0URUFAqFOw==", 318 | "requires": { 319 | "apollo-server-caching": "^0.5.2", 320 | "apollo-server-env": "^2.4.5" 321 | } 322 | }, 323 | "apollo-engine-reporting": { 324 | "version": "2.3.0", 325 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-2.3.0.tgz", 326 | "integrity": "sha512-SbcPLFuUZcRqDEZ6mSs8uHM9Ftr8yyt2IEu0JA8c3LNBmYXSLM7MHqFe80SVcosYSTBgtMz8mLJO8orhYoSYZw==", 327 | "requires": { 328 | "apollo-engine-reporting-protobuf": "^0.5.2", 329 | "apollo-graphql": "^0.5.0", 330 | "apollo-server-caching": "^0.5.2", 331 | "apollo-server-env": "^2.4.5", 332 | "apollo-server-errors": "^2.4.2", 333 | "apollo-server-plugin-base": "^0.9.1", 334 | "apollo-server-types": "^0.5.1", 335 | "async-retry": "^1.2.1", 336 | "uuid": "^8.0.0" 337 | } 338 | }, 339 | "apollo-engine-reporting-protobuf": { 340 | "version": "0.5.2", 341 | "resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.5.2.tgz", 342 | "integrity": "sha512-4wm9FR3B7UvJxcK/69rOiS5CAJPEYKufeRWb257ZLfX7NGFTMqvbc1hu4q8Ch7swB26rTpkzfsftLED9DqH9qg==", 343 | "requires": { 344 | "@apollo/protobufjs": "^1.0.3" 345 | } 346 | }, 347 | "apollo-env": { 348 | "version": "0.6.5", 349 | "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.5.tgz", 350 | "integrity": "sha512-jeBUVsGymeTHYWp3me0R2CZRZrFeuSZeICZHCeRflHTfnQtlmbSXdy5E0pOyRM9CU4JfQkKDC98S1YglQj7Bzg==", 351 | "requires": { 352 | "@types/node-fetch": "2.5.7", 353 | "core-js": "^3.0.1", 354 | "node-fetch": "^2.2.0", 355 | "sha.js": "^2.4.11" 356 | } 357 | }, 358 | "apollo-graphql": { 359 | "version": "0.5.0", 360 | "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.5.0.tgz", 361 | "integrity": "sha512-YSdF/BKPbsnQpxWpmCE53pBJX44aaoif31Y22I/qKpB6ZSGzYijV5YBoCL5Q15H2oA/v/02Oazh9lbp4ek3eig==", 362 | "requires": { 363 | "apollo-env": "^0.6.5", 364 | "lodash.sortby": "^4.7.0" 365 | } 366 | }, 367 | "apollo-link": { 368 | "version": "1.2.14", 369 | "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", 370 | "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", 371 | "requires": { 372 | "apollo-utilities": "^1.3.0", 373 | "ts-invariant": "^0.4.0", 374 | "tslib": "^1.9.3", 375 | "zen-observable-ts": "^0.8.21" 376 | } 377 | }, 378 | "apollo-server-caching": { 379 | "version": "0.5.2", 380 | "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.5.2.tgz", 381 | "integrity": "sha512-HUcP3TlgRsuGgeTOn8QMbkdx0hLPXyEJehZIPrcof0ATz7j7aTPA4at7gaiFHCo8gk07DaWYGB3PFgjboXRcWQ==", 382 | "requires": { 383 | "lru-cache": "^5.0.0" 384 | } 385 | }, 386 | "apollo-server-cloud-functions": { 387 | "version": "2.16.0", 388 | "resolved": "https://registry.npmjs.org/apollo-server-cloud-functions/-/apollo-server-cloud-functions-2.16.0.tgz", 389 | "integrity": "sha512-3yhLWP9/8hih7/FdqIzXXhOup2K7iIc8yeOIKY+zLoC1yX/CUSy5vKOabrWKzCYLq9g1X+HSJJY/gxOEXIdCYA==", 390 | "requires": { 391 | "@apollographql/graphql-playground-html": "1.6.26", 392 | "apollo-server-core": "^2.16.0", 393 | "apollo-server-env": "^2.4.5", 394 | "apollo-server-types": "^0.5.1", 395 | "graphql-tools": "^4.0.0" 396 | } 397 | }, 398 | "apollo-server-core": { 399 | "version": "2.16.0", 400 | "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.16.0.tgz", 401 | "integrity": "sha512-mnvg2cPvsQtjFXIqIhEAbPqGyiSXDSbiBgNQ8rY8g7r2eRMhHKZePqGF03gP1/w87yVaSDRAZBDk6o+jiBXjVQ==", 402 | "requires": { 403 | "@apollographql/apollo-tools": "^0.4.3", 404 | "@apollographql/graphql-playground-html": "1.6.26", 405 | "@types/graphql-upload": "^8.0.0", 406 | "@types/ws": "^7.0.0", 407 | "apollo-cache-control": "^0.11.1", 408 | "apollo-datasource": "^0.7.2", 409 | "apollo-engine-reporting": "^2.3.0", 410 | "apollo-server-caching": "^0.5.2", 411 | "apollo-server-env": "^2.4.5", 412 | "apollo-server-errors": "^2.4.2", 413 | "apollo-server-plugin-base": "^0.9.1", 414 | "apollo-server-types": "^0.5.1", 415 | "apollo-tracing": "^0.11.1", 416 | "fast-json-stable-stringify": "^2.0.0", 417 | "graphql-extensions": "^0.12.4", 418 | "graphql-tag": "^2.9.2", 419 | "graphql-tools": "^4.0.0", 420 | "graphql-upload": "^8.0.2", 421 | "loglevel": "^1.6.7", 422 | "sha.js": "^2.4.11", 423 | "subscriptions-transport-ws": "^0.9.11", 424 | "ws": "^6.0.0" 425 | } 426 | }, 427 | "apollo-server-env": { 428 | "version": "2.4.5", 429 | "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.4.5.tgz", 430 | "integrity": "sha512-nfNhmGPzbq3xCEWT8eRpoHXIPNcNy3QcEoBlzVMjeglrBGryLG2LXwBSPnVmTRRrzUYugX0ULBtgE3rBFNoUgA==", 431 | "requires": { 432 | "node-fetch": "^2.1.2", 433 | "util.promisify": "^1.0.0" 434 | } 435 | }, 436 | "apollo-server-errors": { 437 | "version": "2.4.2", 438 | "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.2.tgz", 439 | "integrity": "sha512-FeGxW3Batn6sUtX3OVVUm7o56EgjxDlmgpTLNyWcLb0j6P8mw9oLNyAm3B+deHA4KNdNHO5BmHS2g1SJYjqPCQ==" 440 | }, 441 | "apollo-server-plugin-base": { 442 | "version": "0.9.1", 443 | "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.9.1.tgz", 444 | "integrity": "sha512-kvrX4Z3FdpjrZdHkyl5iY2A1Wvp4b6KQp00DeZqss7GyyKNUBKr80/7RQgBLEw7EWM7WB19j459xM/TjvW0FKQ==", 445 | "requires": { 446 | "apollo-server-types": "^0.5.1" 447 | } 448 | }, 449 | "apollo-server-types": { 450 | "version": "0.5.1", 451 | "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.5.1.tgz", 452 | "integrity": "sha512-my2cPw+DAb2qVnIuBcsRKGyS28uIc2vjFxa1NpRoJZe9gK0BWUBk7wzXnIzWy3HZ5Er11e/40MPTUesNfMYNVA==", 453 | "requires": { 454 | "apollo-engine-reporting-protobuf": "^0.5.2", 455 | "apollo-server-caching": "^0.5.2", 456 | "apollo-server-env": "^2.4.5" 457 | } 458 | }, 459 | "apollo-tracing": { 460 | "version": "0.11.1", 461 | "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.11.1.tgz", 462 | "integrity": "sha512-l7g+uILw7v32GA46IRXIx5XXbZhFI96BhSqrGK9yyvfq+NMcvVZrj3kIhRImPGhAjMdV+5biA/jztabElAbDjg==", 463 | "requires": { 464 | "apollo-server-env": "^2.4.5", 465 | "apollo-server-plugin-base": "^0.9.1" 466 | } 467 | }, 468 | "apollo-utilities": { 469 | "version": "1.3.4", 470 | "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", 471 | "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", 472 | "requires": { 473 | "@wry/equality": "^0.1.2", 474 | "fast-json-stable-stringify": "^2.0.0", 475 | "ts-invariant": "^0.4.0", 476 | "tslib": "^1.10.0" 477 | } 478 | }, 479 | "arrify": { 480 | "version": "2.0.1", 481 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 482 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" 483 | }, 484 | "async": { 485 | "version": "2.6.3", 486 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", 487 | "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", 488 | "requires": { 489 | "lodash": "^4.17.14" 490 | } 491 | }, 492 | "async-limiter": { 493 | "version": "1.0.1", 494 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", 495 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" 496 | }, 497 | "async-retry": { 498 | "version": "1.3.1", 499 | "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.1.tgz", 500 | "integrity": "sha512-aiieFW/7h3hY0Bq5d+ktDBejxuwR78vRu9hDUdR8rNhSaQ29VzPL4AoIRG7D/c7tdenwOcKvgPM6tIxB3cB6HA==", 501 | "requires": { 502 | "retry": "0.12.0" 503 | } 504 | }, 505 | "asynckit": { 506 | "version": "0.4.0", 507 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 508 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 509 | }, 510 | "backo2": { 511 | "version": "1.0.2", 512 | "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", 513 | "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" 514 | }, 515 | "base64-js": { 516 | "version": "1.3.1", 517 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", 518 | "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" 519 | }, 520 | "bignumber.js": { 521 | "version": "9.0.0", 522 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", 523 | "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" 524 | }, 525 | "bluebird": { 526 | "version": "3.7.2", 527 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 528 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" 529 | }, 530 | "buffer-equal-constant-time": { 531 | "version": "1.0.1", 532 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 533 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" 534 | }, 535 | "busboy": { 536 | "version": "0.3.1", 537 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz", 538 | "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==", 539 | "requires": { 540 | "dicer": "0.3.0" 541 | } 542 | }, 543 | "chalk": { 544 | "version": "3.0.0", 545 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", 546 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", 547 | "requires": { 548 | "ansi-styles": "^4.1.0", 549 | "supports-color": "^7.1.0" 550 | } 551 | }, 552 | "color-convert": { 553 | "version": "2.0.1", 554 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 555 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 556 | "requires": { 557 | "color-name": "~1.1.4" 558 | } 559 | }, 560 | "color-name": { 561 | "version": "1.1.4", 562 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 563 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 564 | }, 565 | "combined-stream": { 566 | "version": "1.0.8", 567 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 568 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 569 | "requires": { 570 | "delayed-stream": "~1.0.0" 571 | } 572 | }, 573 | "commander": { 574 | "version": "2.20.3", 575 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 576 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 577 | }, 578 | "core-js": { 579 | "version": "3.6.5", 580 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", 581 | "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" 582 | }, 583 | "cssfilter": { 584 | "version": "0.0.10", 585 | "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", 586 | "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" 587 | }, 588 | "debug": { 589 | "version": "4.1.1", 590 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 591 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 592 | "requires": { 593 | "ms": "^2.1.1" 594 | } 595 | }, 596 | "define-properties": { 597 | "version": "1.1.3", 598 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 599 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 600 | "requires": { 601 | "object-keys": "^1.0.12" 602 | } 603 | }, 604 | "delayed-stream": { 605 | "version": "1.0.0", 606 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 607 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 608 | }, 609 | "depd": { 610 | "version": "1.1.2", 611 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 612 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 613 | }, 614 | "deprecated-decorator": { 615 | "version": "0.1.6", 616 | "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", 617 | "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=" 618 | }, 619 | "dicer": { 620 | "version": "0.3.0", 621 | "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz", 622 | "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==", 623 | "requires": { 624 | "streamsearch": "0.1.2" 625 | } 626 | }, 627 | "ecdsa-sig-formatter": { 628 | "version": "1.0.11", 629 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", 630 | "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", 631 | "requires": { 632 | "safe-buffer": "^5.0.1" 633 | } 634 | }, 635 | "es-abstract": { 636 | "version": "1.17.6", 637 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", 638 | "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", 639 | "requires": { 640 | "es-to-primitive": "^1.2.1", 641 | "function-bind": "^1.1.1", 642 | "has": "^1.0.3", 643 | "has-symbols": "^1.0.1", 644 | "is-callable": "^1.2.0", 645 | "is-regex": "^1.1.0", 646 | "object-inspect": "^1.7.0", 647 | "object-keys": "^1.1.1", 648 | "object.assign": "^4.1.0", 649 | "string.prototype.trimend": "^1.0.1", 650 | "string.prototype.trimstart": "^1.0.1" 651 | } 652 | }, 653 | "es-to-primitive": { 654 | "version": "1.2.1", 655 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 656 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 657 | "requires": { 658 | "is-callable": "^1.1.4", 659 | "is-date-object": "^1.0.1", 660 | "is-symbol": "^1.0.2" 661 | } 662 | }, 663 | "event-target-shim": { 664 | "version": "5.0.1", 665 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", 666 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" 667 | }, 668 | "eventemitter3": { 669 | "version": "3.1.2", 670 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", 671 | "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" 672 | }, 673 | "extend": { 674 | "version": "3.0.2", 675 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 676 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 677 | }, 678 | "fast-json-stable-stringify": { 679 | "version": "2.1.0", 680 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 681 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" 682 | }, 683 | "fast-text-encoding": { 684 | "version": "1.0.3", 685 | "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", 686 | "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" 687 | }, 688 | "form-data": { 689 | "version": "3.0.0", 690 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz", 691 | "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==", 692 | "requires": { 693 | "asynckit": "^0.4.0", 694 | "combined-stream": "^1.0.8", 695 | "mime-types": "^2.1.12" 696 | } 697 | }, 698 | "fs-capacitor": { 699 | "version": "2.0.4", 700 | "resolved": "https://registry.npmjs.org/fs-capacitor/-/fs-capacitor-2.0.4.tgz", 701 | "integrity": "sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==" 702 | }, 703 | "fs-extra": { 704 | "version": "8.1.0", 705 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 706 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 707 | "requires": { 708 | "graceful-fs": "^4.2.0", 709 | "jsonfile": "^4.0.0", 710 | "universalify": "^0.1.0" 711 | } 712 | }, 713 | "function-bind": { 714 | "version": "1.1.1", 715 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 716 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 717 | }, 718 | "gaxios": { 719 | "version": "3.0.4", 720 | "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-3.0.4.tgz", 721 | "integrity": "sha512-97NmFuMETFQh6gqPUxkqjxRMjmY8aRKRMphIkgO/b90AbCt5wAVuXsp8oWjIXlLN2pIK/fsXD8edcM7ULkFMLg==", 722 | "requires": { 723 | "abort-controller": "^3.0.0", 724 | "extend": "^3.0.2", 725 | "https-proxy-agent": "^5.0.0", 726 | "is-stream": "^2.0.0", 727 | "node-fetch": "^2.3.0" 728 | } 729 | }, 730 | "gcp-metadata": { 731 | "version": "4.1.4", 732 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.1.4.tgz", 733 | "integrity": "sha512-5J/GIH0yWt/56R3dNaNWPGQ/zXsZOddYECfJaqxFWgrZ9HC2Kvc5vl9upOgUUHKzURjAVf2N+f6tEJiojqXUuA==", 734 | "requires": { 735 | "gaxios": "^3.0.0", 736 | "json-bigint": "^1.0.0" 737 | } 738 | }, 739 | "google-auth-library": { 740 | "version": "6.0.5", 741 | "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.0.5.tgz", 742 | "integrity": "sha512-Wj31lfTm2yR4g3WfOOB1Am1tt478Xq9OvzTPQJi17tn/I9R5IcsxjANBsE93nYmxYxtwDedhOdIb8l3vSPG49Q==", 743 | "requires": { 744 | "arrify": "^2.0.0", 745 | "base64-js": "^1.3.0", 746 | "ecdsa-sig-formatter": "^1.0.11", 747 | "fast-text-encoding": "^1.0.0", 748 | "gaxios": "^3.0.0", 749 | "gcp-metadata": "^4.1.0", 750 | "gtoken": "^5.0.0", 751 | "jws": "^4.0.0", 752 | "lru-cache": "^6.0.0" 753 | }, 754 | "dependencies": { 755 | "lru-cache": { 756 | "version": "6.0.0", 757 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 758 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 759 | "requires": { 760 | "yallist": "^4.0.0" 761 | } 762 | }, 763 | "yallist": { 764 | "version": "4.0.0", 765 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 766 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 767 | } 768 | } 769 | }, 770 | "google-p12-pem": { 771 | "version": "3.0.2", 772 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.2.tgz", 773 | "integrity": "sha512-tbjzndQvSIHGBLzHnhDs3cL4RBjLbLXc2pYvGH+imGVu5b4RMAttUTdnmW2UH0t11QeBTXZ7wlXPS7hrypO/tg==", 774 | "requires": { 775 | "node-forge": "^0.9.0" 776 | } 777 | }, 778 | "googleapis": { 779 | "version": "50.0.0", 780 | "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-50.0.0.tgz", 781 | "integrity": "sha512-AJdOpPbDiNauraQZr51RR85cA53ygYtzLUj6Nq0cTr3g+GQ+GxjyLT6IMGgSE+/0dGLTpRVCemkZjZQA0XMb5Q==", 782 | "requires": { 783 | "google-auth-library": "^6.0.0", 784 | "googleapis-common": "^4.1.0" 785 | } 786 | }, 787 | "googleapis-common": { 788 | "version": "4.4.0", 789 | "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-4.4.0.tgz", 790 | "integrity": "sha512-Bgrs8/1OZQFFIfVuX38L9t48rPAkVUXttZy6NzhhXxFOEMSHgfFIjxou7RIXOkBHxmx2pVwct9WjKkbnqMYImQ==", 791 | "requires": { 792 | "extend": "^3.0.2", 793 | "gaxios": "^3.0.0", 794 | "google-auth-library": "^6.0.0", 795 | "qs": "^6.7.0", 796 | "url-template": "^2.0.8", 797 | "uuid": "^8.0.0" 798 | } 799 | }, 800 | "graceful-fs": { 801 | "version": "4.2.4", 802 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", 803 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" 804 | }, 805 | "graphql": { 806 | "version": "14.7.0", 807 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.7.0.tgz", 808 | "integrity": "sha512-l0xWZpoPKpppFzMfvVyFmp9vLN7w/ZZJPefUicMCepfJeQ8sMcztloGYY9DfjVPo6tIUDzU5Hw3MUbIjj9AVVA==", 809 | "requires": { 810 | "iterall": "^1.2.2" 811 | } 812 | }, 813 | "graphql-extensions": { 814 | "version": "0.12.4", 815 | "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.12.4.tgz", 816 | "integrity": "sha512-GnR4LiWk3s2bGOqIh6V1JgnSXw2RCH4NOgbCFEWvB6JqWHXTlXnLZ8bRSkCiD4pltv7RHUPWqN/sGh8R6Ae/ag==", 817 | "requires": { 818 | "@apollographql/apollo-tools": "^0.4.3", 819 | "apollo-server-env": "^2.4.5", 820 | "apollo-server-types": "^0.5.1" 821 | } 822 | }, 823 | "graphql-tag": { 824 | "version": "2.10.4", 825 | "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.10.4.tgz", 826 | "integrity": "sha512-O7vG5BT3w6Sotc26ybcvLKNTdfr4GfsIVMD+LdYqXCeJIYPRyp8BIsDOUtxw7S1PYvRw5vH3278J2EDezR6mfA==" 827 | }, 828 | "graphql-tools": { 829 | "version": "4.0.8", 830 | "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.8.tgz", 831 | "integrity": "sha512-MW+ioleBrwhRjalKjYaLQbr+920pHBgy9vM/n47sswtns8+96sRn5M/G+J1eu7IMeKWiN/9p6tmwCHU7552VJg==", 832 | "requires": { 833 | "apollo-link": "^1.2.14", 834 | "apollo-utilities": "^1.0.1", 835 | "deprecated-decorator": "^0.1.6", 836 | "iterall": "^1.1.3", 837 | "uuid": "^3.1.0" 838 | }, 839 | "dependencies": { 840 | "uuid": { 841 | "version": "3.4.0", 842 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", 843 | "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" 844 | } 845 | } 846 | }, 847 | "graphql-upload": { 848 | "version": "8.1.0", 849 | "resolved": "https://registry.npmjs.org/graphql-upload/-/graphql-upload-8.1.0.tgz", 850 | "integrity": "sha512-U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==", 851 | "requires": { 852 | "busboy": "^0.3.1", 853 | "fs-capacitor": "^2.0.4", 854 | "http-errors": "^1.7.3", 855 | "object-path": "^0.11.4" 856 | } 857 | }, 858 | "gtoken": { 859 | "version": "5.0.2", 860 | "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.0.2.tgz", 861 | "integrity": "sha512-lull70rHCTvRTmAt+R/6W5bTtx4MjHku7AwJwK5fGqhOmygcZud0nrZcX+QUNfBJwCzqy7S5i1Bc4NYnr5PMMA==", 862 | "requires": { 863 | "gaxios": "^3.0.0", 864 | "google-p12-pem": "^3.0.0", 865 | "jws": "^4.0.0", 866 | "mime": "^2.2.0" 867 | } 868 | }, 869 | "has": { 870 | "version": "1.0.3", 871 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 872 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 873 | "requires": { 874 | "function-bind": "^1.1.1" 875 | } 876 | }, 877 | "has-flag": { 878 | "version": "4.0.0", 879 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 880 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 881 | }, 882 | "has-symbols": { 883 | "version": "1.0.1", 884 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 885 | "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" 886 | }, 887 | "http-errors": { 888 | "version": "1.8.0", 889 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", 890 | "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", 891 | "requires": { 892 | "depd": "~1.1.2", 893 | "inherits": "2.0.4", 894 | "setprototypeof": "1.2.0", 895 | "statuses": ">= 1.5.0 < 2", 896 | "toidentifier": "1.0.0" 897 | } 898 | }, 899 | "https-proxy-agent": { 900 | "version": "5.0.0", 901 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", 902 | "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", 903 | "requires": { 904 | "agent-base": "6", 905 | "debug": "4" 906 | } 907 | }, 908 | "inherits": { 909 | "version": "2.0.4", 910 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 911 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 912 | }, 913 | "is-callable": { 914 | "version": "1.2.0", 915 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", 916 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" 917 | }, 918 | "is-date-object": { 919 | "version": "1.0.2", 920 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 921 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" 922 | }, 923 | "is-regex": { 924 | "version": "1.1.0", 925 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", 926 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", 927 | "requires": { 928 | "has-symbols": "^1.0.1" 929 | } 930 | }, 931 | "is-stream": { 932 | "version": "2.0.0", 933 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", 934 | "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" 935 | }, 936 | "is-symbol": { 937 | "version": "1.0.3", 938 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 939 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 940 | "requires": { 941 | "has-symbols": "^1.0.1" 942 | } 943 | }, 944 | "iterall": { 945 | "version": "1.3.0", 946 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", 947 | "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" 948 | }, 949 | "json-bigint": { 950 | "version": "1.0.0", 951 | "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", 952 | "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", 953 | "requires": { 954 | "bignumber.js": "^9.0.0" 955 | } 956 | }, 957 | "jsonfile": { 958 | "version": "4.0.0", 959 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 960 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 961 | "requires": { 962 | "graceful-fs": "^4.1.6" 963 | } 964 | }, 965 | "jwa": { 966 | "version": "2.0.0", 967 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", 968 | "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", 969 | "requires": { 970 | "buffer-equal-constant-time": "1.0.1", 971 | "ecdsa-sig-formatter": "1.0.11", 972 | "safe-buffer": "^5.0.1" 973 | } 974 | }, 975 | "jws": { 976 | "version": "4.0.0", 977 | "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", 978 | "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", 979 | "requires": { 980 | "jwa": "^2.0.0", 981 | "safe-buffer": "^5.0.1" 982 | } 983 | }, 984 | "lodash": { 985 | "version": "4.17.19", 986 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", 987 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" 988 | }, 989 | "lodash.sortby": { 990 | "version": "4.7.0", 991 | "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", 992 | "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" 993 | }, 994 | "loglevel": { 995 | "version": "1.6.8", 996 | "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", 997 | "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==" 998 | }, 999 | "long": { 1000 | "version": "4.0.0", 1001 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", 1002 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" 1003 | }, 1004 | "lru-cache": { 1005 | "version": "5.1.1", 1006 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 1007 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 1008 | "requires": { 1009 | "yallist": "^3.0.2" 1010 | } 1011 | }, 1012 | "mime": { 1013 | "version": "2.4.6", 1014 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", 1015 | "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" 1016 | }, 1017 | "mime-db": { 1018 | "version": "1.44.0", 1019 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", 1020 | "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" 1021 | }, 1022 | "mime-types": { 1023 | "version": "2.1.27", 1024 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", 1025 | "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", 1026 | "requires": { 1027 | "mime-db": "1.44.0" 1028 | } 1029 | }, 1030 | "ms": { 1031 | "version": "2.1.2", 1032 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1033 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1034 | }, 1035 | "node-fetch": { 1036 | "version": "2.6.0", 1037 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", 1038 | "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" 1039 | }, 1040 | "node-forge": { 1041 | "version": "0.9.1", 1042 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.1.tgz", 1043 | "integrity": "sha512-G6RlQt5Sb4GMBzXvhfkeFmbqR6MzhtnT7VTHuLadjkii3rdYHNdw0m8zA4BTxVIh68FicCQ2NSUANpsqkr9jvQ==" 1044 | }, 1045 | "object-inspect": { 1046 | "version": "1.8.0", 1047 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", 1048 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" 1049 | }, 1050 | "object-keys": { 1051 | "version": "1.1.1", 1052 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1053 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 1054 | }, 1055 | "object-path": { 1056 | "version": "0.11.4", 1057 | "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", 1058 | "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" 1059 | }, 1060 | "object.assign": { 1061 | "version": "4.1.0", 1062 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 1063 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 1064 | "requires": { 1065 | "define-properties": "^1.1.2", 1066 | "function-bind": "^1.1.1", 1067 | "has-symbols": "^1.0.0", 1068 | "object-keys": "^1.0.11" 1069 | } 1070 | }, 1071 | "object.getownpropertydescriptors": { 1072 | "version": "2.1.0", 1073 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", 1074 | "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", 1075 | "requires": { 1076 | "define-properties": "^1.1.3", 1077 | "es-abstract": "^1.17.0-next.1" 1078 | } 1079 | }, 1080 | "qs": { 1081 | "version": "6.9.4", 1082 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", 1083 | "integrity": "sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==" 1084 | }, 1085 | "retry": { 1086 | "version": "0.12.0", 1087 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 1088 | "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" 1089 | }, 1090 | "safe-buffer": { 1091 | "version": "5.2.1", 1092 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1093 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1094 | }, 1095 | "serverless-google-cloudfunctions": { 1096 | "version": "3.1.0", 1097 | "resolved": "https://registry.npmjs.org/serverless-google-cloudfunctions/-/serverless-google-cloudfunctions-3.1.0.tgz", 1098 | "integrity": "sha512-ME65vRrOeY3kncgy9ew1byZQqX0S1ghmvx98juUor7RTJAuffeIjyOUjCmOG01aEdMJq8+VEYd89WxlUF1WzZw==", 1099 | "requires": { 1100 | "async": "^2.6.3", 1101 | "bluebird": "^3.7.2", 1102 | "chalk": "^3.0.0", 1103 | "fs-extra": "^8.1.0", 1104 | "googleapis": "^50.0.0", 1105 | "lodash": "^4.17.15" 1106 | } 1107 | }, 1108 | "setprototypeof": { 1109 | "version": "1.2.0", 1110 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", 1111 | "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" 1112 | }, 1113 | "sha.js": { 1114 | "version": "2.4.11", 1115 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 1116 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 1117 | "requires": { 1118 | "inherits": "^2.0.1", 1119 | "safe-buffer": "^5.0.1" 1120 | } 1121 | }, 1122 | "statuses": { 1123 | "version": "1.5.0", 1124 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 1125 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 1126 | }, 1127 | "streamsearch": { 1128 | "version": "0.1.2", 1129 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", 1130 | "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" 1131 | }, 1132 | "string.prototype.trimend": { 1133 | "version": "1.0.1", 1134 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", 1135 | "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", 1136 | "requires": { 1137 | "define-properties": "^1.1.3", 1138 | "es-abstract": "^1.17.5" 1139 | } 1140 | }, 1141 | "string.prototype.trimstart": { 1142 | "version": "1.0.1", 1143 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", 1144 | "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", 1145 | "requires": { 1146 | "define-properties": "^1.1.3", 1147 | "es-abstract": "^1.17.5" 1148 | } 1149 | }, 1150 | "subscriptions-transport-ws": { 1151 | "version": "0.9.17", 1152 | "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.17.tgz", 1153 | "integrity": "sha512-hNHi2N80PBz4T0V0QhnnsMGvG3XDFDS9mS6BhZ3R12T6EBywC8d/uJscsga0cVO4DKtXCkCRrWm2sOYrbOdhEA==", 1154 | "requires": { 1155 | "backo2": "^1.0.2", 1156 | "eventemitter3": "^3.1.0", 1157 | "iterall": "^1.2.1", 1158 | "symbol-observable": "^1.0.4", 1159 | "ws": "^5.2.0" 1160 | }, 1161 | "dependencies": { 1162 | "ws": { 1163 | "version": "5.2.2", 1164 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 1165 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 1166 | "requires": { 1167 | "async-limiter": "~1.0.0" 1168 | } 1169 | } 1170 | } 1171 | }, 1172 | "supports-color": { 1173 | "version": "7.1.0", 1174 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 1175 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 1176 | "requires": { 1177 | "has-flag": "^4.0.0" 1178 | } 1179 | }, 1180 | "symbol-observable": { 1181 | "version": "1.2.0", 1182 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", 1183 | "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" 1184 | }, 1185 | "toidentifier": { 1186 | "version": "1.0.0", 1187 | "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", 1188 | "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" 1189 | }, 1190 | "ts-invariant": { 1191 | "version": "0.4.4", 1192 | "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", 1193 | "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", 1194 | "requires": { 1195 | "tslib": "^1.9.3" 1196 | } 1197 | }, 1198 | "tslib": { 1199 | "version": "1.13.0", 1200 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", 1201 | "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" 1202 | }, 1203 | "universalify": { 1204 | "version": "0.1.2", 1205 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 1206 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 1207 | }, 1208 | "url-template": { 1209 | "version": "2.0.8", 1210 | "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", 1211 | "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=" 1212 | }, 1213 | "util.promisify": { 1214 | "version": "1.0.1", 1215 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", 1216 | "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", 1217 | "requires": { 1218 | "define-properties": "^1.1.3", 1219 | "es-abstract": "^1.17.2", 1220 | "has-symbols": "^1.0.1", 1221 | "object.getownpropertydescriptors": "^2.1.0" 1222 | } 1223 | }, 1224 | "uuid": { 1225 | "version": "8.2.0", 1226 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.2.0.tgz", 1227 | "integrity": "sha512-CYpGiFTUrmI6OBMkAdjSDM0k5h8SkkiTP4WAjQgDgNB1S3Ou9VBEvr6q0Kv2H1mMk7IWfxYGpMH5sd5AvcIV2Q==" 1228 | }, 1229 | "ws": { 1230 | "version": "6.2.1", 1231 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", 1232 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", 1233 | "requires": { 1234 | "async-limiter": "~1.0.0" 1235 | } 1236 | }, 1237 | "xss": { 1238 | "version": "1.0.7", 1239 | "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.7.tgz", 1240 | "integrity": "sha512-A9v7tblGvxu8TWXQC9rlpW96a+LN1lyw6wyhpTmmGW+FwRMactchBR3ROKSi33UPCUcUHSu8s9YP6F+K3Mw//w==", 1241 | "requires": { 1242 | "commander": "^2.20.3", 1243 | "cssfilter": "0.0.10" 1244 | } 1245 | }, 1246 | "yallist": { 1247 | "version": "3.1.1", 1248 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 1249 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" 1250 | }, 1251 | "zen-observable": { 1252 | "version": "0.8.15", 1253 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", 1254 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" 1255 | }, 1256 | "zen-observable-ts": { 1257 | "version": "0.8.21", 1258 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", 1259 | "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", 1260 | "requires": { 1261 | "tslib": "^1.9.3", 1262 | "zen-observable": "^0.8.0" 1263 | } 1264 | } 1265 | } 1266 | } 1267 | -------------------------------------------------------------------------------- /google/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql", 3 | "description": "A serverless benchmark, as a simple GraphQL server", 4 | "repository": "https://github.com/cloudflare/serverless-benchmark", 5 | "license": "MIT", 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node index.js" 9 | }, 10 | "dependencies": { 11 | "apollo-server-cloud-functions": "^2.16.0", 12 | "serverless-google-cloudfunctions": "^3.1.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /google/serverless.yml: -------------------------------------------------------------------------------- 1 | # serverless deploy 2 | # serverless remove 3 | service: graphql 4 | provider: 5 | name: google 6 | runtime: nodejs12 7 | region: us-central1 8 | memorySize: 128 9 | credentials: 10 | project: 11 | functions: 12 | graphql: 13 | handler: graphql 14 | events: 15 | - http: / 16 | package: 17 | include: 18 | - index.js 19 | - node_modules/ 20 | plugins: 21 | - serverless-google-cloudfunctions 22 | --------------------------------------------------------------------------------