├── .gitignore ├── README.md ├── package.json ├── src ├── index.js └── schema.graphql └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # graphql-rest-wrapper 2 | 3 | You can find more info about this repository [here](https://medium.com/@graphcool/how-to-wrap-a-rest-api-with-graphql-8bf3fb17547d). 4 | 5 | > The REST API that's wrapped with GraphQL in this project can be found [here](https://github.com/nikolasburk/rest-demo). 6 | 7 | ## Usage 8 | 9 | ```sh 10 | git clone git@github.com:nikolasburk/graphql-rest-wrapper.git 11 | cd graphql-rest-wrapper 12 | yarn start 13 | ``` 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-rest-wrapper", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node src/index.js", 8 | "test": "echo \"Error: no test specified\" && exit 1" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "graphql-yoga": "^1.3.3", 15 | "node-fetch": "^2.0.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const { GraphQLServer } = require('graphql-yoga') 2 | const fetch = require('node-fetch') 3 | 4 | const baseURL = `https://rest-demo-hyxkwbnhaz.now.sh` 5 | 6 | const resolvers = { 7 | Query: { 8 | users: () => { 9 | return fetch(`${baseURL}/users`).then(res => res.json()) 10 | }, 11 | user: (parent, args) => { 12 | const { id } = args 13 | return fetch(`${baseURL}/users/${id}`).then(res => res.json()) 14 | }, 15 | posts: () => { 16 | return fetch(`${baseURL}/posts`).then(res => res.json()) 17 | }, 18 | post: (parent, args) => { 19 | const { id } = args 20 | return fetch(`${baseURL}/posts/${id}`).then(res => res.json()) 21 | }, 22 | }, 23 | Post: { 24 | author: parent => { 25 | const { id } = parent 26 | return fetch(`${baseURL}/posts/${id}/user`).then(res => res.json()) 27 | } 28 | }, 29 | User: { 30 | posts: parent => { 31 | const { id } = parent 32 | return fetch(`${baseURL}/users/${id}/posts`).then(res => res.json()) 33 | } 34 | } 35 | } 36 | 37 | const server = new GraphQLServer({ 38 | typeDefs: './src/schema.graphql', 39 | resolvers, 40 | }) 41 | 42 | server.start(() => console.log(`Server is running on http://localhost:4000`)) 43 | -------------------------------------------------------------------------------- /src/schema.graphql: -------------------------------------------------------------------------------- 1 | type Query { 2 | users: [User!]! 3 | user(id: ID!): User 4 | posts: [Post!]! 5 | post(id: ID!): Post 6 | } 7 | 8 | type User { 9 | id: ID! 10 | name: String! 11 | posts: [Post!]! 12 | } 13 | 14 | type Post { 15 | id: ID! 16 | title: String! 17 | content: String! 18 | published: Boolean! 19 | author: User! 20 | } -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime@^7.0.0-beta.38": 6 | version "7.0.0-beta.40" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0-beta.40.tgz#8e3b8f1d2d8639d010e991a7e99c1d9ef578f886" 8 | dependencies: 9 | core-js "^2.5.3" 10 | regenerator-runtime "^0.11.1" 11 | 12 | "@types/body-parser@*": 13 | version "1.16.8" 14 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.16.8.tgz#687ec34140624a3bec2b1a8ea9268478ae8f3be3" 15 | dependencies: 16 | "@types/express" "*" 17 | "@types/node" "*" 18 | 19 | "@types/cors@^2.8.3": 20 | version "2.8.3" 21 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.3.tgz#eaf6e476da0d36bee6b061a24d57e343ddce86d6" 22 | dependencies: 23 | "@types/express" "*" 24 | 25 | "@types/events@*": 26 | version "1.1.0" 27 | resolved "https://registry.yarnpkg.com/@types/events/-/events-1.1.0.tgz#93b1be91f63c184450385272c47b6496fd028e02" 28 | 29 | "@types/express-serve-static-core@*": 30 | version "4.11.1" 31 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.11.1.tgz#f6f7212382d59b19d696677bcaa48a37280f5d45" 32 | dependencies: 33 | "@types/events" "*" 34 | "@types/node" "*" 35 | 36 | "@types/express@*", "@types/express@^4.0.39": 37 | version "4.11.1" 38 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.11.1.tgz#f99663b3ab32d04cb11db612ef5dd7933f75465b" 39 | dependencies: 40 | "@types/body-parser" "*" 41 | "@types/express-serve-static-core" "*" 42 | "@types/serve-static" "*" 43 | 44 | "@types/graphql@^0.12.0": 45 | version "0.12.4" 46 | resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.12.4.tgz#d43bb55d45c6de0178bbd11dd59d04fd42138d94" 47 | 48 | "@types/mime@*": 49 | version "2.0.0" 50 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" 51 | 52 | "@types/node@*", "@types/node@^9.4.6": 53 | version "9.4.6" 54 | resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e" 55 | 56 | "@types/serve-static@*": 57 | version "1.13.1" 58 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.1.tgz#1d2801fa635d274cd97d4ec07e26b21b44127492" 59 | dependencies: 60 | "@types/express-serve-static-core" "*" 61 | "@types/mime" "*" 62 | 63 | "@types/zen-observable@0.5.3", "@types/zen-observable@^0.5.3": 64 | version "0.5.3" 65 | resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.3.tgz#91b728599544efbb7386d8b6633693a3c2e7ade5" 66 | 67 | accepts@~1.3.4: 68 | version "1.3.4" 69 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" 70 | dependencies: 71 | mime-types "~2.1.16" 72 | negotiator "0.6.1" 73 | 74 | apollo-cache-control@^0.0.x: 75 | version "0.0.9" 76 | resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.0.9.tgz#77100f456fb19526d33b7f595c8ab1a2980dcbb4" 77 | dependencies: 78 | graphql-extensions "^0.0.x" 79 | 80 | apollo-link@^1.1.0: 81 | version "1.2.0" 82 | resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.0.tgz#1abba5456eb35fc8b8a79f3be421e683a9ecfc41" 83 | dependencies: 84 | "@types/node" "^9.4.6" 85 | "@types/zen-observable" "0.5.3" 86 | apollo-utilities "^1.0.0" 87 | zen-observable "^0.8.0" 88 | 89 | apollo-server-core@^1.3.2: 90 | version "1.3.2" 91 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.2.tgz#f36855a3ebdc2d77b8b9c454380bf1d706105ffc" 92 | dependencies: 93 | apollo-cache-control "^0.0.x" 94 | apollo-tracing "^0.1.0" 95 | graphql-extensions "^0.0.x" 96 | 97 | apollo-server-express@^1.3.2: 98 | version "1.3.2" 99 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.2.tgz#0ff8201c0bf362804a151e1399767dae6ab7e309" 100 | dependencies: 101 | apollo-server-core "^1.3.2" 102 | apollo-server-module-graphiql "^1.3.0" 103 | 104 | apollo-server-lambda@1.3.2: 105 | version "1.3.2" 106 | resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.2.tgz#bcf75f3d7115d11cc9892ad3b17427b3d536df0f" 107 | dependencies: 108 | apollo-server-core "^1.3.2" 109 | apollo-server-module-graphiql "^1.3.0" 110 | 111 | apollo-server-module-graphiql@^1.3.0: 112 | version "1.3.2" 113 | resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.3.2.tgz#0a9e4c48dece3af904fee333f95f7b9817335ca7" 114 | 115 | apollo-tracing@^0.1.0: 116 | version "0.1.3" 117 | resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.1.3.tgz#6820c066bf20f9d9a4eddfc023f7c83ee2601f0b" 118 | dependencies: 119 | graphql-extensions "^0.0.x" 120 | 121 | apollo-upload-server@^4.0.0-alpha.1: 122 | version "4.0.2" 123 | resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-4.0.2.tgz#1a042e413d09d4bd5529738f9e0af45ba553cc2d" 124 | dependencies: 125 | "@babel/runtime" "^7.0.0-beta.38" 126 | busboy "^0.2.14" 127 | object-path "^0.11.4" 128 | 129 | apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: 130 | version "1.0.8" 131 | resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.8.tgz#74d797d38953d2ba35e16f880326e2abcbc8b016" 132 | 133 | argparse@^1.0.7: 134 | version "1.0.10" 135 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 136 | dependencies: 137 | sprintf-js "~1.0.2" 138 | 139 | array-flatten@1.1.1: 140 | version "1.1.1" 141 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 142 | 143 | async-limiter@~1.0.0: 144 | version "1.0.0" 145 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 146 | 147 | aws-lambda@^0.1.2: 148 | version "0.1.2" 149 | resolved "https://registry.yarnpkg.com/aws-lambda/-/aws-lambda-0.1.2.tgz#19b1585075df31679597b976a5f1def61f12ccee" 150 | dependencies: 151 | aws-sdk "^*" 152 | commander "^2.5.0" 153 | dotenv "^0.4.0" 154 | 155 | aws-sdk@^*: 156 | version "2.200.0" 157 | resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.200.0.tgz#f460c96408725b0eb8c658fddea6e0bfe0ef5a44" 158 | dependencies: 159 | buffer "4.9.1" 160 | events "^1.1.1" 161 | jmespath "0.15.0" 162 | querystring "0.2.0" 163 | sax "1.2.1" 164 | url "0.10.3" 165 | uuid "3.1.0" 166 | xml2js "0.4.17" 167 | xmlbuilder "4.2.1" 168 | 169 | backo2@^1.0.2: 170 | version "1.0.2" 171 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" 172 | 173 | balanced-match@^1.0.0: 174 | version "1.0.0" 175 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 176 | 177 | base64-js@^1.0.2: 178 | version "1.2.3" 179 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801" 180 | 181 | body-parser-graphql@1.0.0: 182 | version "1.0.0" 183 | resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.0.0.tgz#997de1792ed222cbc4845d404f4549eb88ec6d37" 184 | dependencies: 185 | body-parser "^1.18.2" 186 | 187 | body-parser@1.18.2, body-parser@^1.18.2: 188 | version "1.18.2" 189 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 190 | dependencies: 191 | bytes "3.0.0" 192 | content-type "~1.0.4" 193 | debug "2.6.9" 194 | depd "~1.1.1" 195 | http-errors "~1.6.2" 196 | iconv-lite "0.4.19" 197 | on-finished "~2.3.0" 198 | qs "6.5.1" 199 | raw-body "2.3.2" 200 | type-is "~1.6.15" 201 | 202 | brace-expansion@^1.1.7: 203 | version "1.1.11" 204 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 205 | dependencies: 206 | balanced-match "^1.0.0" 207 | concat-map "0.0.1" 208 | 209 | buffer@4.9.1: 210 | version "4.9.1" 211 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 212 | dependencies: 213 | base64-js "^1.0.2" 214 | ieee754 "^1.1.4" 215 | isarray "^1.0.0" 216 | 217 | busboy@^0.2.14: 218 | version "0.2.14" 219 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" 220 | dependencies: 221 | dicer "0.2.5" 222 | readable-stream "1.1.x" 223 | 224 | bytes@3.0.0: 225 | version "3.0.0" 226 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 227 | 228 | commander@^2.5.0: 229 | version "2.14.1" 230 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" 231 | 232 | concat-map@0.0.1: 233 | version "0.0.1" 234 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 235 | 236 | content-disposition@0.5.2: 237 | version "0.5.2" 238 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 239 | 240 | content-type@~1.0.4: 241 | version "1.0.4" 242 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 243 | 244 | cookie-signature@1.0.6: 245 | version "1.0.6" 246 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 247 | 248 | cookie@0.3.1: 249 | version "0.3.1" 250 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 251 | 252 | core-js@^2.5.3: 253 | version "2.5.3" 254 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" 255 | 256 | core-util-is@~1.0.0: 257 | version "1.0.2" 258 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 259 | 260 | cors@^2.8.4: 261 | version "2.8.4" 262 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" 263 | dependencies: 264 | object-assign "^4" 265 | vary "^1" 266 | 267 | cross-fetch@1.1.1: 268 | version "1.1.1" 269 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-1.1.1.tgz#dede6865ae30f37eae62ac90ebb7bdac002b05a0" 270 | dependencies: 271 | node-fetch "1.7.3" 272 | whatwg-fetch "2.0.3" 273 | 274 | debug@2.6.9: 275 | version "2.6.9" 276 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 277 | dependencies: 278 | ms "2.0.0" 279 | 280 | depd@1.1.1: 281 | version "1.1.1" 282 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 283 | 284 | depd@~1.1.1: 285 | version "1.1.2" 286 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 287 | 288 | deprecated-decorator@^0.1.6: 289 | version "0.1.6" 290 | resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" 291 | 292 | destroy@~1.0.4: 293 | version "1.0.4" 294 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 295 | 296 | dicer@0.2.5: 297 | version "0.2.5" 298 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" 299 | dependencies: 300 | readable-stream "1.1.x" 301 | streamsearch "0.1.2" 302 | 303 | dotenv@^0.4.0: 304 | version "0.4.0" 305 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-0.4.0.tgz#f6fb351363c2d92207245c737802c9ab5ae1495a" 306 | 307 | ee-first@1.1.1: 308 | version "1.1.1" 309 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 310 | 311 | encodeurl@~1.0.1: 312 | version "1.0.2" 313 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 314 | 315 | encoding@^0.1.11: 316 | version "0.1.12" 317 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" 318 | dependencies: 319 | iconv-lite "~0.4.13" 320 | 321 | escape-html@~1.0.3: 322 | version "1.0.3" 323 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 324 | 325 | esprima@^4.0.0: 326 | version "4.0.0" 327 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" 328 | 329 | etag@~1.8.1: 330 | version "1.8.1" 331 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 332 | 333 | eventemitter3@^2.0.3: 334 | version "2.0.3" 335 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba" 336 | 337 | events@^1.1.1: 338 | version "1.1.1" 339 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" 340 | 341 | express@^4.16.2: 342 | version "4.16.2" 343 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 344 | dependencies: 345 | accepts "~1.3.4" 346 | array-flatten "1.1.1" 347 | body-parser "1.18.2" 348 | content-disposition "0.5.2" 349 | content-type "~1.0.4" 350 | cookie "0.3.1" 351 | cookie-signature "1.0.6" 352 | debug "2.6.9" 353 | depd "~1.1.1" 354 | encodeurl "~1.0.1" 355 | escape-html "~1.0.3" 356 | etag "~1.8.1" 357 | finalhandler "1.1.0" 358 | fresh "0.5.2" 359 | merge-descriptors "1.0.1" 360 | methods "~1.1.2" 361 | on-finished "~2.3.0" 362 | parseurl "~1.3.2" 363 | path-to-regexp "0.1.7" 364 | proxy-addr "~2.0.2" 365 | qs "6.5.1" 366 | range-parser "~1.2.0" 367 | safe-buffer "5.1.1" 368 | send "0.16.1" 369 | serve-static "1.13.1" 370 | setprototypeof "1.1.0" 371 | statuses "~1.3.1" 372 | type-is "~1.6.15" 373 | utils-merge "1.0.1" 374 | vary "~1.1.2" 375 | 376 | finalhandler@1.1.0: 377 | version "1.1.0" 378 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" 379 | dependencies: 380 | debug "2.6.9" 381 | encodeurl "~1.0.1" 382 | escape-html "~1.0.3" 383 | on-finished "~2.3.0" 384 | parseurl "~1.3.2" 385 | statuses "~1.3.1" 386 | unpipe "~1.0.0" 387 | 388 | forwarded@~0.1.2: 389 | version "0.1.2" 390 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 391 | 392 | fresh@0.5.2: 393 | version "0.5.2" 394 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 395 | 396 | graphql-config@1.1.7: 397 | version "1.1.7" 398 | resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-1.1.7.tgz#546c443d3ad877ceb8e13f40fbc8937af0d35dbe" 399 | dependencies: 400 | graphql "^0.12.3" 401 | graphql-import "^0.4.0" 402 | graphql-request "^1.4.0" 403 | js-yaml "^3.10.0" 404 | minimatch "^3.0.4" 405 | 406 | graphql-extensions@^0.0.x: 407 | version "0.0.8" 408 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.8.tgz#d14d6e06db466a7f90fb97d75b657ae730278b09" 409 | dependencies: 410 | core-js "^2.5.3" 411 | source-map-support "^0.5.1" 412 | 413 | graphql-import@^0.4.0, graphql-import@^0.4.1: 414 | version "0.4.3" 415 | resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.4.3.tgz#5fc68244e0908d6d8f2b91658a82be3d11f4ec62" 416 | dependencies: 417 | graphql "^0.13.0" 418 | lodash "^4.17.4" 419 | 420 | graphql-playground-html@1.5.4: 421 | version "1.5.4" 422 | resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.5.4.tgz#82752ec4ee36c62d64ccebf7d3ca47477c213bb6" 423 | dependencies: 424 | graphql-config "1.1.7" 425 | 426 | graphql-playground-middleware-express@1.5.6: 427 | version "1.5.6" 428 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.5.6.tgz#db3c4b0ab5fd999cd9ed0ee16460dca321878afd" 429 | dependencies: 430 | graphql-playground-html "1.5.4" 431 | 432 | graphql-playground-middleware-lambda@1.4.2: 433 | version "1.4.2" 434 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.4.2.tgz#6954ed6e7166049468287d730810942e288b5b98" 435 | dependencies: 436 | graphql-playground-html "1.5.4" 437 | 438 | graphql-request@^1.4.0: 439 | version "1.4.1" 440 | resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.4.1.tgz#0772743cfac8dfdd4d69d36106a96c9bdd191ce8" 441 | dependencies: 442 | cross-fetch "1.1.1" 443 | 444 | graphql-subscriptions@^0.5.6: 445 | version "0.5.8" 446 | resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7" 447 | dependencies: 448 | iterall "^1.2.1" 449 | 450 | graphql-tools@^2.18.0: 451 | version "2.21.0" 452 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-2.21.0.tgz#c0d0fbda6f40a87c8d267a2989ade2ae8b9a288e" 453 | dependencies: 454 | apollo-link "^1.1.0" 455 | apollo-utilities "^1.0.1" 456 | deprecated-decorator "^0.1.6" 457 | iterall "^1.1.3" 458 | uuid "^3.1.0" 459 | 460 | graphql-yoga@^1.3.3: 461 | version "1.3.3" 462 | resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.3.3.tgz#aaac1307726a4f5c9cf1362805ea25bda746af02" 463 | dependencies: 464 | "@types/cors" "^2.8.3" 465 | "@types/express" "^4.0.39" 466 | "@types/graphql" "^0.12.0" 467 | "@types/zen-observable" "^0.5.3" 468 | apollo-server-express "^1.3.2" 469 | apollo-server-lambda "1.3.2" 470 | apollo-upload-server "^4.0.0-alpha.1" 471 | aws-lambda "^0.1.2" 472 | body-parser-graphql "1.0.0" 473 | cors "^2.8.4" 474 | express "^4.16.2" 475 | graphql "^0.13.0" 476 | graphql-import "^0.4.1" 477 | graphql-playground-middleware-express "1.5.6" 478 | graphql-playground-middleware-lambda "1.4.2" 479 | graphql-subscriptions "^0.5.6" 480 | graphql-tools "^2.18.0" 481 | subscriptions-transport-ws "^0.9.5" 482 | 483 | graphql@^0.12.3: 484 | version "0.12.3" 485 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.12.3.tgz#11668458bbe28261c0dcb6e265f515ba79f6ce07" 486 | dependencies: 487 | iterall "1.1.3" 488 | 489 | graphql@^0.13.0: 490 | version "0.13.1" 491 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.1.tgz#9b3db3d8e40d1827e4172404bfdd2e4e17a58b55" 492 | dependencies: 493 | iterall "^1.2.0" 494 | 495 | http-errors@1.6.2, http-errors@~1.6.2: 496 | version "1.6.2" 497 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 498 | dependencies: 499 | depd "1.1.1" 500 | inherits "2.0.3" 501 | setprototypeof "1.0.3" 502 | statuses ">= 1.3.1 < 2" 503 | 504 | iconv-lite@0.4.19, iconv-lite@~0.4.13: 505 | version "0.4.19" 506 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 507 | 508 | ieee754@^1.1.4: 509 | version "1.1.8" 510 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" 511 | 512 | inherits@2.0.3, inherits@~2.0.1: 513 | version "2.0.3" 514 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 515 | 516 | ipaddr.js@1.6.0: 517 | version "1.6.0" 518 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" 519 | 520 | is-stream@^1.0.1: 521 | version "1.1.0" 522 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 523 | 524 | isarray@0.0.1: 525 | version "0.0.1" 526 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 527 | 528 | isarray@^1.0.0: 529 | version "1.0.0" 530 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 531 | 532 | iterall@1.1.3: 533 | version "1.1.3" 534 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.3.tgz#1cbbff96204056dde6656e2ed2e2226d0e6d72c9" 535 | 536 | iterall@^1.1.3, iterall@^1.2.0, iterall@^1.2.1: 537 | version "1.2.1" 538 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.1.tgz#59a347ae8001d2d4bc546b8487ca755d61849965" 539 | 540 | jmespath@0.15.0: 541 | version "0.15.0" 542 | resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" 543 | 544 | js-yaml@^3.10.0: 545 | version "3.10.0" 546 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" 547 | dependencies: 548 | argparse "^1.0.7" 549 | esprima "^4.0.0" 550 | 551 | lodash.assign@^4.2.0: 552 | version "4.2.0" 553 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 554 | 555 | lodash.isobject@^3.0.2: 556 | version "3.0.2" 557 | resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" 558 | 559 | lodash.isstring@^4.0.1: 560 | version "4.0.1" 561 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 562 | 563 | lodash@^4.0.0, lodash@^4.17.4: 564 | version "4.17.5" 565 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" 566 | 567 | media-typer@0.3.0: 568 | version "0.3.0" 569 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 570 | 571 | merge-descriptors@1.0.1: 572 | version "1.0.1" 573 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 574 | 575 | methods@~1.1.2: 576 | version "1.1.2" 577 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 578 | 579 | mime-db@~1.33.0: 580 | version "1.33.0" 581 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 582 | 583 | mime-types@~2.1.16, mime-types@~2.1.18: 584 | version "2.1.18" 585 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 586 | dependencies: 587 | mime-db "~1.33.0" 588 | 589 | mime@1.4.1: 590 | version "1.4.1" 591 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 592 | 593 | minimatch@^3.0.4: 594 | version "3.0.4" 595 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 596 | dependencies: 597 | brace-expansion "^1.1.7" 598 | 599 | ms@2.0.0: 600 | version "2.0.0" 601 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 602 | 603 | negotiator@0.6.1: 604 | version "0.6.1" 605 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 606 | 607 | node-fetch@1.7.3: 608 | version "1.7.3" 609 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" 610 | dependencies: 611 | encoding "^0.1.11" 612 | is-stream "^1.0.1" 613 | 614 | node-fetch@^2.0.0: 615 | version "2.0.0" 616 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.0.0.tgz#982bba43ecd4f2922a29cc186a6bbb0bb73fcba6" 617 | 618 | object-assign@^4: 619 | version "4.1.1" 620 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 621 | 622 | object-path@^0.11.4: 623 | version "0.11.4" 624 | resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" 625 | 626 | on-finished@~2.3.0: 627 | version "2.3.0" 628 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 629 | dependencies: 630 | ee-first "1.1.1" 631 | 632 | parseurl@~1.3.2: 633 | version "1.3.2" 634 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 635 | 636 | path-to-regexp@0.1.7: 637 | version "0.1.7" 638 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 639 | 640 | proxy-addr@~2.0.2: 641 | version "2.0.3" 642 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" 643 | dependencies: 644 | forwarded "~0.1.2" 645 | ipaddr.js "1.6.0" 646 | 647 | punycode@1.3.2: 648 | version "1.3.2" 649 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 650 | 651 | qs@6.5.1: 652 | version "6.5.1" 653 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 654 | 655 | querystring@0.2.0: 656 | version "0.2.0" 657 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 658 | 659 | range-parser@~1.2.0: 660 | version "1.2.0" 661 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 662 | 663 | raw-body@2.3.2: 664 | version "2.3.2" 665 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 666 | dependencies: 667 | bytes "3.0.0" 668 | http-errors "1.6.2" 669 | iconv-lite "0.4.19" 670 | unpipe "1.0.0" 671 | 672 | readable-stream@1.1.x: 673 | version "1.1.14" 674 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 675 | dependencies: 676 | core-util-is "~1.0.0" 677 | inherits "~2.0.1" 678 | isarray "0.0.1" 679 | string_decoder "~0.10.x" 680 | 681 | regenerator-runtime@^0.11.1: 682 | version "0.11.1" 683 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" 684 | 685 | safe-buffer@5.1.1, safe-buffer@~5.1.0: 686 | version "5.1.1" 687 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 688 | 689 | sax@1.2.1: 690 | version "1.2.1" 691 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" 692 | 693 | sax@>=0.6.0: 694 | version "1.2.4" 695 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 696 | 697 | send@0.16.1: 698 | version "0.16.1" 699 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" 700 | dependencies: 701 | debug "2.6.9" 702 | depd "~1.1.1" 703 | destroy "~1.0.4" 704 | encodeurl "~1.0.1" 705 | escape-html "~1.0.3" 706 | etag "~1.8.1" 707 | fresh "0.5.2" 708 | http-errors "~1.6.2" 709 | mime "1.4.1" 710 | ms "2.0.0" 711 | on-finished "~2.3.0" 712 | range-parser "~1.2.0" 713 | statuses "~1.3.1" 714 | 715 | serve-static@1.13.1: 716 | version "1.13.1" 717 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" 718 | dependencies: 719 | encodeurl "~1.0.1" 720 | escape-html "~1.0.3" 721 | parseurl "~1.3.2" 722 | send "0.16.1" 723 | 724 | setprototypeof@1.0.3: 725 | version "1.0.3" 726 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 727 | 728 | setprototypeof@1.1.0: 729 | version "1.1.0" 730 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 731 | 732 | source-map-support@^0.5.1: 733 | version "0.5.3" 734 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76" 735 | dependencies: 736 | source-map "^0.6.0" 737 | 738 | source-map@^0.6.0: 739 | version "0.6.1" 740 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 741 | 742 | sprintf-js@~1.0.2: 743 | version "1.0.3" 744 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 745 | 746 | "statuses@>= 1.3.1 < 2": 747 | version "1.4.0" 748 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 749 | 750 | statuses@~1.3.1: 751 | version "1.3.1" 752 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 753 | 754 | streamsearch@0.1.2: 755 | version "0.1.2" 756 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 757 | 758 | string_decoder@~0.10.x: 759 | version "0.10.31" 760 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 761 | 762 | subscriptions-transport-ws@^0.9.5: 763 | version "0.9.6" 764 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.6.tgz#5ff86a0746316ca3eb2423b118b8bc74a6793e1b" 765 | dependencies: 766 | backo2 "^1.0.2" 767 | eventemitter3 "^2.0.3" 768 | iterall "^1.2.1" 769 | lodash.assign "^4.2.0" 770 | lodash.isobject "^3.0.2" 771 | lodash.isstring "^4.0.1" 772 | symbol-observable "^1.0.4" 773 | ws "^3.0.0" 774 | 775 | symbol-observable@^1.0.4: 776 | version "1.2.0" 777 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 778 | 779 | type-is@~1.6.15: 780 | version "1.6.16" 781 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 782 | dependencies: 783 | media-typer "0.3.0" 784 | mime-types "~2.1.18" 785 | 786 | ultron@~1.1.0: 787 | version "1.1.1" 788 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" 789 | 790 | unpipe@1.0.0, unpipe@~1.0.0: 791 | version "1.0.0" 792 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 793 | 794 | url@0.10.3: 795 | version "0.10.3" 796 | resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64" 797 | dependencies: 798 | punycode "1.3.2" 799 | querystring "0.2.0" 800 | 801 | utils-merge@1.0.1: 802 | version "1.0.1" 803 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 804 | 805 | uuid@3.1.0: 806 | version "3.1.0" 807 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" 808 | 809 | uuid@^3.1.0: 810 | version "3.2.1" 811 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 812 | 813 | vary@^1, vary@~1.1.2: 814 | version "1.1.2" 815 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 816 | 817 | whatwg-fetch@2.0.3: 818 | version "2.0.3" 819 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" 820 | 821 | ws@^3.0.0: 822 | version "3.3.3" 823 | resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" 824 | dependencies: 825 | async-limiter "~1.0.0" 826 | safe-buffer "~5.1.0" 827 | ultron "~1.1.0" 828 | 829 | xml2js@0.4.17: 830 | version "0.4.17" 831 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.17.tgz#17be93eaae3f3b779359c795b419705a8817e868" 832 | dependencies: 833 | sax ">=0.6.0" 834 | xmlbuilder "^4.1.0" 835 | 836 | xmlbuilder@4.2.1, xmlbuilder@^4.1.0: 837 | version "4.2.1" 838 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" 839 | dependencies: 840 | lodash "^4.0.0" 841 | 842 | zen-observable@^0.8.0: 843 | version "0.8.6" 844 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.6.tgz#e2419311497019419d7bb56d8f6a56356a607272" 845 | --------------------------------------------------------------------------------