From 757c186388c66473f221f362e3a07ba8e72237b5 Mon Sep 17 00:00:00 2001 From: Kexin Zhang Date: Sun, 4 Mar 2018 00:06:36 -0500 Subject: [PATCH 01/16] updated package versions --- package-lock.json | 1751 ++++++++++++++++++++++++++++----------------- package.json | 15 +- 2 files changed, 1087 insertions(+), 679 deletions(-) diff --git a/package-lock.json b/package-lock.json index f1cd2f8..e01396f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,45 +5,45 @@ "requires": true, "dependencies": { "@gql2ts/from-query": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@gql2ts/from-query/-/from-query-1.2.1.tgz", - "integrity": "sha1-muXRprdkvrhtE7sgOWVfhnSXYfU=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@gql2ts/from-query/-/from-query-1.4.3.tgz", + "integrity": "sha512-dWzo+5+eJMNuX266p9TzvCzGXZ859K1KX3ZrlBzebB7PPJy+SN/VkQUtTz+iIQmuePYXJG0lHysyzYpi7lYMog==", "dev": true, "requires": { - "@gql2ts/language-typescript": "1.2.1", - "@gql2ts/util": "1.2.1", - "graphql": "0.10.5" + "@gql2ts/language-typescript": "1.4.3", + "@gql2ts/util": "1.4.3", + "graphql": "0.11.7" } }, "@gql2ts/from-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@gql2ts/from-schema/-/from-schema-1.2.1.tgz", - "integrity": "sha1-7tbYIWS6hVRtQO/un1XUhS6AljQ=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@gql2ts/from-schema/-/from-schema-1.4.3.tgz", + "integrity": "sha512-femnva88/+NS6vQB//mmV0Pr+k0xahDulngJzhvCRsJMF2qhhfuZiIFH9d4njU7OxV6fljN2ZsexvSfXncgcMQ==", "dev": true, "requires": { - "@gql2ts/language-typescript": "1.2.1", - "@gql2ts/util": "1.2.1", - "graphql": "0.10.5" + "@gql2ts/language-typescript": "1.4.3", + "@gql2ts/util": "1.4.3", + "graphql": "0.11.7" } }, "@gql2ts/language-typescript": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@gql2ts/language-typescript/-/language-typescript-1.2.1.tgz", - "integrity": "sha1-5F5kHnZyHQOK8PLhh1x0IJJjR/E=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@gql2ts/language-typescript/-/language-typescript-1.4.3.tgz", + "integrity": "sha512-on8NBU14/KFh/GhCSiR0PA+yxOTXyPejSJlh+S1L1TM1sXxlXMLf3aPT8jaYQ2IqD/9bqA9A7sYqJs6tPjTxyQ==", "dev": true, "requires": { - "@gql2ts/util": "1.2.1", + "@gql2ts/util": "1.4.3", "humps": "2.0.1", - "typescript": "2.5.3" + "typescript": "2.7.2" } }, "@gql2ts/util": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@gql2ts/util/-/util-1.2.1.tgz", - "integrity": "sha1-+tLVRQUa7e0b8+3pQTmtUrkAOmY=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@gql2ts/util/-/util-1.4.3.tgz", + "integrity": "sha512-NaqTZCImjYCnNeQ/PAdIZAFqESS9c6JjtUEXJDWNwIL4IWf156U4csgAaDodSgpShr+DCS6nns06OMGjzfGz9Q==", "dev": true, "requires": { - "graphql": "0.10.5" + "graphql": "0.11.7" } }, "@material/animation": { @@ -153,7 +153,7 @@ "@material/rtl": "0.1.8", "@material/theme": "0.1.7", "@material/typography": "0.1.1", - "focus-trap": "2.3.0" + "focus-trap": "2.4.3" }, "dependencies": { "@material/animation": { @@ -670,40 +670,46 @@ "resolved": "https://registry.npmjs.org/@material/typography/-/typography-0.2.3.tgz", "integrity": "sha1-zd9BeAmMnHtMLnijMEk3a01q61M=" }, + "@types/async": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.47.tgz", + "integrity": "sha512-/mQMARXVSuGbwOFFBKA4s0qRKtOaaTgnllp3qU4sMzDVGGAroPblyd529yBALnK/WEY8nHyRGx0/RFUDmhpVmQ==", + "optional": true + }, "@types/body-parser": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-0.0.33.tgz", "integrity": "sha1-M8oUmPw35Rxd8MgcrjRWnnBB4CU=", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.11.1" } }, "@types/bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/bson/-/bson-1.0.4.tgz", - "integrity": "sha512-/nysVvxwup1WniGHIM31UZXM+6727h4FAa2tZpFSQBooBcl2Bh1N9oQmVVg8QYnjchN/DOGi7UvVN0jpzWL6sw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@types/bson/-/bson-1.0.7.tgz", + "integrity": "sha512-RehFYAhF6h+dO8112VwjM8zq63Fh9zukvqC3NlWWGfVa+0StuSMu4xwa54M2CRFrNGvgKnqHLTQLC7P20AlMYg==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.9.4" } }, + "@types/caseless": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz", + "integrity": "sha512-FhlMa34NHp9K5MY1Uz8yb+ZvuX0pnvn3jScRSNAb75KHGB8d3rEU6hqMs3Z2vjuytcMfRg6c5CHMc3wtYyD2/A==", + "dev": true + }, "@types/chai": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/@types/chai/-/chai-3.5.2.tgz", "integrity": "sha1-wRzSgX06QBt7oPWkIPNcVhObHB4=", "dev": true }, - "@types/chalk": { - "version": "0.4.31", - "resolved": "https://registry.npmjs.org/@types/chalk/-/chalk-0.4.31.tgz", - "integrity": "sha1-ox10JBprHtu5c8822XooloNKUfk=", - "dev": true - }, "@types/cheerio": { - "version": "0.22.3", - "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.3.tgz", - "integrity": "sha512-E7MRbFAckaHrH5+CGngj5Iw9bJT1G4vqxqcQdOawdWegaKtgedbrGprHihLVLeADuMIS4H9CxAQzV561gD5buA==", + "version": "0.22.7", + "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.7.tgz", + "integrity": "sha512-+T9qBbqe/jXtTjzVddArZExahoPPmt8eq3O1ZuCKZXjBVxf/ciUYNXrIDZJEVgYvpELnv6VlPRCfLzufRxpAag==", "dev": true }, "@types/compression": { @@ -712,7 +718,7 @@ "integrity": "sha1-ldxzOiM5qoRjgdfxN3eS0lU9wn0=", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.11.1" } }, "@types/cookie-parser": { @@ -721,16 +727,16 @@ "integrity": "sha512-iJY6B3ZGufLiDf2OCAgiAAQuj1sMKC/wz/7XCEjZ+/MDuultfFJuSwrBKcLSmJ5iYApLzCCYBYJZs0Ws8GPmwA==", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.11.1" } }, "@types/csv-parse": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@types/csv-parse/-/csv-parse-1.1.10.tgz", - "integrity": "sha512-x3D9Inl6hNBdPqEf9GYzWoO2Z+GNliBd+yggolurhhZWko9+9tdXsHZIjJoq+V5WCEb6k6BIPG7FLSAbyAbNbg==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@types/csv-parse/-/csv-parse-1.1.11.tgz", + "integrity": "sha512-c4kjQ7avmOV22T+xH2BAE/n4F52mGm+ELyHOk5PrGc/26Ps6RagP5lVKfDoLx+jmRnFKQlq6XIS33tp9Dco0Ug==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.9.4" } }, "@types/escape-string-regexp": { @@ -739,38 +745,46 @@ "integrity": "sha512-6Zm62G9XA9UbBRFKv/mnyZ1wV7Mpd751RiGv8d1agdgzbI7O/T70oz+3w5R5sph+twRhANuK5vLTNPv+B+TAiw==", "dev": true }, + "@types/events": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz", + "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==", + "dev": true + }, "@types/express": { - "version": "4.0.37", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.37.tgz", - "integrity": "sha512-tIULTLzQpFFs5/PKnFIAFOsXQxss76glppbVKR3/jddPK26SBsD5HF5grn5G2jOGtpRWSBvYmDYoduVv+3wOXg==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.11.1.tgz", + "integrity": "sha512-ttWle8cnPA5rAelauSWeWJimtY2RsUf2aspYZs7xPHiWgOlPn6nnUfBMtrkcnjFJuIHJF4gNOdVvpLK2Zmvh6g==", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.53", - "@types/serve-static": "1.7.32" + "@types/body-parser": "0.0.33", + "@types/express-serve-static-core": "4.11.1", + "@types/serve-static": "1.13.1" } }, "@types/express-serve-static-core": { - "version": "4.0.53", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.53.tgz", - "integrity": "sha512-zaGeOpEYp5G2EhjaUFdVwysDrfEYc6Q6iPhd3Kl4ip30x0tvVv7SuJvY3yzCUSuFlzAG8N5KsyY6BJg93/cn+Q==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.11.1.tgz", + "integrity": "sha512-EehCl3tpuqiM8RUb+0255M8PhhSwTtLfmO7zBBdv0ay/VTd/zmrqDfQdZFsa5z/PVMbH2yCMZPXsnrImpATyIw==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/events": "1.2.0", + "@types/node": "8.9.4" } }, "@types/form-data": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.0.tgz", - "integrity": "sha512-vm5OGsKc61Sx/GTRMQ9d0H0PYCDebT78/bdIBPCoPEHdgp0etaH1RzMmkDygymUmyXTj3rdWQn0sRUpYKZzljA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", + "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.9.4" } }, "@types/graphql": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.10.2.tgz", - "integrity": "sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA==", + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.11.8.tgz", + "integrity": "sha512-xGWx4kx9JKlqxDrZA12gw5qi2lvxPNLxnQQcoTXVX83MuGcXcpb7TADatGyGW51GaaXQOQTbjw3x4HuL3ULBaA==", "dev": true }, "@types/handlebars": { @@ -786,38 +800,40 @@ "dev": true }, "@types/mocha": { - "version": "2.2.43", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.43.tgz", - "integrity": "sha512-xNlAmH+lRJdUMXClMTI9Y0pRqIojdxfm7DHsIxoB2iTzu3fnPmSMEN8SsSx0cdwV36d02PWCWaDUoZPDSln+xw==", + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-2.2.48.tgz", + "integrity": "sha512-nlK/iyETgafGli8Zh9zJVCTicvU3iajSkRwOh3Hhiva598CMqNJ4NcVCGMTGKpGpTYj/9R8RLzS9NAykSSCqGw==", "dev": true }, "@types/mongodb": { - "version": "2.2.13", - "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-2.2.13.tgz", - "integrity": "sha512-VA2r2YP50CS/MyJSCKqqop3HJDLdhJrAZKxItl0mwxgE4u/1qctaCQAWawL1f2a4EM4X2+z6Wh9QlJ8ebLlI/A==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.0.5.tgz", + "integrity": "sha512-tjWtVn9b8l9MXbhps7Jte1BpC3AmiTW2WXIQfO3SvCiZnisOOVck3fen/r4XnXRTw4JRen/hQmHokG0v58tiJg==", "dev": true, "requires": { - "@types/bson": "1.0.4", - "@types/node": "8.0.34" + "@types/bson": "1.0.7", + "@types/events": "1.2.0", + "@types/node": "8.9.4" } }, "@types/mongoose": { - "version": "4.7.23", - "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-4.7.23.tgz", - "integrity": "sha512-13UfisRIfRCP/+FV85e99vofsc7JB0K6KeevN4Bq6UjyXHwFGRDnHvc9iAB591fQI+MRQyNvrFHJHrNou16Dww==", + "version": "4.7.35", + "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-4.7.35.tgz", + "integrity": "sha512-ELWPd0uMUBjQGmp0YDx4qJZGZdDxMl5tV/g9GV+HWkM39X5Ku2xq8Lb6Svcgk7OEzduP2/rKbw3A3eoj+k96LQ==", "dev": true, "requires": { - "@types/mongodb": "2.2.13", - "@types/node": "8.0.34" + "@types/events": "1.2.0", + "@types/mongodb": "3.0.5", + "@types/node": "8.9.4" } }, "@types/morgan": { - "version": "1.7.33", - "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.7.33.tgz", - "integrity": "sha512-HBsWVjFJWDbH79Aug/Pyxsc5KWyZs2vkxn7qbo+9a7w2jVur6egGsyJeacDW5Pb5cO+fUl+X5kZaDct8asYp1w==", + "version": "1.7.35", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.7.35.tgz", + "integrity": "sha512-E9qFi0seOkdlQnCTPv54brNfGWeFdRaEhI5tSue4pdx/V+xfxvMETsxXhOEcj1cYL+0n/jcTEmj/jD2gjzCwMg==", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.11.1" } }, "@types/multer": { @@ -826,13 +842,13 @@ "integrity": "sha1-+Jx1EifcILfJM8MJo+dGfEmfzew=", "dev": true, "requires": { - "@types/express": "4.0.37" + "@types/express": "4.11.1" } }, "@types/node": { - "version": "8.0.34", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.34.tgz", - "integrity": "sha512-Jnmm57+nHqvJUPwUzt1CLoLzFtF2B2vgG7cWFut+a4nqTp9/L6pL0N+o0Jt3V7AQnCKMsPEqQpLFZYleBCdq3w==", + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.4.tgz", + "integrity": "sha512-dSvD36qnQs78G1BPsrZFdPpvLgMW/dnvr5+nTW2csMs5TiP9MOXrjUbnMZOEwnIuBklXtn7b6TPA2Cuq07bDHA==", "dev": true }, "@types/qwest": { @@ -842,65 +858,78 @@ "dev": true }, "@types/request": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.0.5.tgz", - "integrity": "sha512-x47IMSELTHhYNRquTkCUv71QNYeoFAGDnFD3pIrdS2+eeCiR/bXuC9UI5WmRsL7zCA0jFd1otJwSmSdj4y+mbw==", + "version": "2.47.0", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz", + "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==", "dev": true, "requires": { - "@types/form-data": "2.2.0", - "@types/node": "8.0.34" + "@types/caseless": "0.12.1", + "@types/form-data": "2.2.1", + "@types/node": "8.9.4", + "@types/tough-cookie": "2.3.2" } }, "@types/request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-aGlNrRcxp5tzhTU3WzxEjWLpcauuGDpwdDe3AKa1mJcmH07eCsIFKFtztn1XLOv6bMvxh9HTEegIREQoKe82Wg==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.14.tgz", + "integrity": "sha512-m6PNeopPU75gjN3+dD9AeWwm7h2QIOuLnmn143+Qs0bMYFyri9/bhCgikHlgzH0gk7xR48nef82GWeRV6N3DxA==", "dev": true, "requires": { - "@types/request": "2.0.5" + "@types/request": "2.47.0" } }, "@types/serve-static": { - "version": "1.7.32", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.7.32.tgz", - "integrity": "sha512-WpI0g7M1FiOmJ/a97Qrjafq2I938tjAZ3hZr9O7sXyA6oUhH3bqUNZIt7r1KZg8TQAKxcvxt6JjQ5XuLfIBFvg==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-jDMH+3BQPtvqZVIcsH700Dfi8Q3MIcEx16g/VdxjoqiGR/NntekB10xdBpirMKnPe9z2C5cBmL0vte0YttOr3Q==", "dev": true, "requires": { - "@types/express-serve-static-core": "4.0.53", + "@types/express-serve-static-core": "4.11.1", "@types/mime": "2.0.0" } }, "@types/superagent": { - "version": "3.5.6", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.5.6.tgz", - "integrity": "sha512-yGiVkRbB1qtIkRCpEJIxlHazBoILmu33xbbu4IiwxTJjwDi/EudiPYAD7QwWe035jkE40yQgTVXZsAePFtleww==", + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-3.5.7.tgz", + "integrity": "sha512-zvDPQHA/M8f8SqU3jgQ0PFgaO0FV+IarGwhRm8dy0CIPRi5on187IhkOJFTUT3O03C/vqjZ3jlhOichhw3RVng==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.9.4" } }, "@types/supertest": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.3.tgz", - "integrity": "sha512-QxgjuDhQEq4tPJXTOnGoN4P/BWwvftvkaCZhXMp1C1Otk9kGXb7l/wA7kwz3MwtEMnovdYikS+ZtvaQ4RbhF4g==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.4.tgz", + "integrity": "sha512-0TvOJ+6XVMSImgqc2ClNllfVffCxHQhFbsbwOGzGTjdFydoaG052LPqnP8SnmSlnokOcQiPPcbz+Yi30LxWPyA==", "dev": true, "requires": { - "@types/superagent": "3.5.6" + "@types/superagent": "3.5.7" } }, + "@types/tough-cookie": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha512-vOVmaruQG5EatOU/jM6yU2uCp3Lz6mK1P5Ztu4iJjfM4SVHU9XYktPUQtKlIXuahqXHdEyUarMrBEwg5Cwu+bA==", + "dev": true + }, "@types/ws": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-3.2.0.tgz", - "integrity": "sha512-XehU2SdII5wu7EUV1bAwCoTDZYZCCU7Es7gbHtJjGXq6Bs2AI4HuJ//wvPrVuuYwkkZseQzDUxsZF8Urnb3I1A==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-3.2.1.tgz", + "integrity": "sha512-t5n0/iHoavnX1MqeYmKJgWc1W6yX4BXsNxQg7M5862RWrfN9S5k8yaWbDMGJSTCzbH7+q5QS8chjymd+ND9gMw==", "dev": true, "requires": { - "@types/node": "8.0.34" + "@types/node": "8.9.4" } }, + "@types/zen-observable": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.5.3.tgz", + "integrity": "sha512-aDvGDAHcVfUqNmd8q4//cHAP+HGxsbChbBbuk3+kMVk5TTxfWLpQWvVN3+UPjohLnwMYN7jr6BWNn2cYNqdm7g==" + }, "JSONStream": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz", - "integrity": "sha1-cH92HgHa6eFvG8+TcDt4xwlmV5o=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.2.tgz", + "integrity": "sha1-wQI3G27Dp887hHygDCC7D85Mbeo=", "dev": true, "requires": { "jsonparse": "1.3.1", @@ -908,11 +937,11 @@ } }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.17", + "mime-types": "2.1.18", "negotiator": "0.6.1" } }, @@ -922,15 +951,33 @@ "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", "dev": true }, + "acorn-node": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.3.0.tgz", + "integrity": "sha512-efP54n3d1aLfjL2UMdaXa6DsswwzJeI5rqhbFvXMrKiJ6eJFpf+7R0zN7t8IC+XKn2YOAFAv6xbBNgHUkoHWLw==", + "dev": true, + "requires": { + "acorn": "5.5.0", + "xtend": "4.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", + "dev": true + } + } + }, "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "align-text": { @@ -955,47 +1002,81 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.0" + "color-convert": "1.9.1" } }, - "apollo-client": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.3.tgz", - "integrity": "sha512-JABKKbqvcw8DJm3YUkEmyx1SK74i+/DesEtAtyocJi10LLmeMQYQFpg8W3BG1tZsYEQ3owEmPbsdNGTly+VOQg==", + "apollo-cache": { + "version": "0.2.0-rc.3", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-0.2.0-rc.3.tgz", + "integrity": "sha512-W41OANlHHnbiFLCBURf6e6174hT/1mIYdjV5qrmcaNSbbYRRvDD8xw4Q6l0TcwUhyNmRpPiwFtbv3fyHO2VytQ==", "requires": { - "@types/graphql": "0.10.2", - "apollo-link-core": "0.5.4", - "graphql": "0.10.5", - "graphql-anywhere": "3.1.0", - "graphql-tag": "2.4.2", - "redux": "3.7.2", - "symbol-observable": "1.0.4", - "whatwg-fetch": "2.0.3" + "apollo-utilities": "0.2.0-rc.3" + } + }, + "apollo-cache-control": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.0.9.tgz", + "integrity": "sha512-bspKyM9gBDxv2nnKPSErzzZiSOdvRXnHwS/3gwBucZG1Dz5U4H6xyPtCx754/YfRto1yT9bUMc7vW85jJ/acOA==", + "requires": { + "graphql-extensions": "0.0.8" + } + }, + "apollo-cache-inmemory": { + "version": "0.2.0-rc.4", + "resolved": "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-0.2.0-rc.4.tgz", + "integrity": "sha512-gtcjQkk5zms4Enz6LL0ZeIrU0QJJ6f1PK+gaW56f65tTPf+H20th1I1OQZFKQf85Aojfpz8gItO3tmrFGzHyQA==", + "requires": { + "apollo-cache": "0.2.0-rc.3", + "apollo-utilities": "0.2.0-rc.3", + "graphql-anywhere": "4.1.5" + } + }, + "apollo-client": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-2.2.5.tgz", + "integrity": "sha512-fzNyOLrECo3WHQdur269Ofm2Y7lvx6bCCQV5B95AY7b2kdrdKmtqEaJ3C02R3D2WhiPIYJ5/0rWZquYlqR7V8Q==", + "requires": { + "@types/async": "2.0.47", + "@types/zen-observable": "0.5.3", + "apollo-cache": "1.1.4", + "apollo-link": "1.2.1", + "apollo-link-dedup": "1.0.8", + "apollo-utilities": "1.0.8", + "symbol-observable": "1.2.0", + "zen-observable": "0.7.1" }, "dependencies": { - "@types/graphql": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.10.2.tgz", - "integrity": "sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA==", - "optional": true + "apollo-cache": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.4.tgz", + "integrity": "sha512-ldmThmabOtC1boSO05OB1gqJbTR+mNHmB8kOe2WrV2Wjrd+ByO1rfrWOoAntj+XhyEsizYzyw876Sg0fvVkFWA==", + "requires": { + "apollo-utilities": "1.0.8" + } + }, + "apollo-utilities": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", + "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" } } }, "apollo-codegen": { - "version": "0.17.0-alpha.13", - "resolved": "https://registry.npmjs.org/apollo-codegen/-/apollo-codegen-0.17.0-alpha.13.tgz", - "integrity": "sha1-RmKZzNiT2kkp3IqW0BUrLTiMHh0=", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/apollo-codegen/-/apollo-codegen-0.17.2.tgz", + "integrity": "sha512-F7I6yAzebukva9QyRLM5bcctV28U1+zdEzYsyB6rhBeFE4Es9Qop8im7XsejH5Nw/n6Do55oNC1+DcpU/bFMOg==", "dev": true, "requires": { - "change-case": "3.0.1", - "core-js": "2.5.1", + "change-case": "3.0.2", + "core-js": "2.5.3", "glob": "7.1.2", "graphql": "0.11.7", - "inflected": "2.0.2", + "graphql-config": "1.2.1", + "inflected": "2.0.4", "mkdirp": "0.5.1", "node-fetch": "1.7.3", "source-map-support": "0.4.18", @@ -1032,13 +1113,19 @@ } } }, - "graphql": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.11.7.tgz", - "integrity": "sha512-x7uDjyz8Jx+QPbpCFCMQ8lltnQa4p4vSYHx6ADe8rVYRTdsyhCJbvSty5DAsLVmU6cGakl+r8HQYolKHxk/tiw==", + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "iterall": "1.1.3" + "source-map": "0.5.7" } }, "yargs": { @@ -1064,51 +1151,112 @@ } } }, - "apollo-link-core": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.4.tgz", - "integrity": "sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ==", + "apollo-link": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.1.tgz", + "integrity": "sha512-6Ghf+j3cQLCIvjXd2dJrLw+16HZbWbwmB1qlTc41BviB2hv+rK1nJr17Y9dWK0UD4p3i9Hfddx3tthpMKrueHg==", "requires": { - "graphql": "0.10.5", - "graphql-tag": "2.4.2", - "zen-observable-ts": "0.4.4" + "@types/node": "9.4.6", + "apollo-utilities": "1.0.8", + "zen-observable-ts": "0.8.8" + }, + "dependencies": { + "@types/node": { + "version": "9.4.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz", + "integrity": "sha512-CTUtLb6WqCCgp6P59QintjHWqzf4VL1uPA27bipLAPxFqrtK1gEYllePzTICGqQ8rYsCbpnsNypXjjDzGAAjEQ==" + }, + "apollo-utilities": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", + "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" + } + } + }, + "apollo-link-dedup": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-link-dedup/-/apollo-link-dedup-1.0.8.tgz", + "integrity": "sha512-M4p8yzX7sSID+R/qxz3ti+IGeRi6yuyEEG8Apd6wQwsefG83LTzhMJYO7Z08Yg4tOFUfqbp32RW9ZjwmyrcBVg==", + "requires": { + "apollo-link": "1.2.1" + } + }, + "apollo-link-http": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.2.tgz", + "integrity": "sha512-TVOslggUbEdxuKYScqZ6PcMm85CkO93PDQpcdq1HASnHHEnK6TkR37hfGhZ8tGHMfxsmTYwH/A76a9AVPN3B4w==", + "requires": { + "apollo-link": "1.2.1", + "apollo-link-http-common": "0.2.2" + } + }, + "apollo-link-http-common": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.2.tgz", + "integrity": "sha512-97r/cNC3YAj5/vr0vYHScyoSWWpJnHeb/gdN0PaLc+81CGomByR17GhjOYAUg4W1urEE6f0GWbRvpwma6OYqlA==", + "requires": { + "apollo-link": "1.2.1" + } + }, + "apollo-link-ws": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/apollo-link-ws/-/apollo-link-ws-1.0.7.tgz", + "integrity": "sha512-Ky2/zQuA/UwdORKBVMnYaogB5L9u9HFtCuJNmfeF5F+VBocYLa5v5gaCgo3v1o/6hwXy0HuU/KPRYu3wyUsrtQ==", + "requires": { + "apollo-link": "1.2.1" } }, "apollo-server-core": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-1.1.6.tgz", - "integrity": "sha1-vkWDPhWm+ijlK8foU81337JVjac=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-1.3.2.tgz", + "integrity": "sha1-82hVo+vcLXe4ucRUOAvx1wYQX/w=", "requires": { - "apollo-tracing": "0.0.7" + "apollo-cache-control": "0.0.9", + "apollo-tracing": "0.1.3", + "graphql-extensions": "0.0.8" } }, "apollo-server-express": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-1.1.6.tgz", - "integrity": "sha1-VzYNndh96kkT2if0G31utCLgo8A=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-1.3.2.tgz", + "integrity": "sha1-D/ggHAvzYoBKFR4TmXZ9rmq34wk=", "requires": { - "apollo-server-core": "1.1.6", - "apollo-server-module-graphiql": "1.1.6" + "apollo-server-core": "1.3.2", + "apollo-server-module-graphiql": "1.3.2" } }, "apollo-server-module-graphiql": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.1.6.tgz", - "integrity": "sha1-mgyP9+18T/8xMGXbOI8Isee2+bk=" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.3.2.tgz", + "integrity": "sha1-Cp5MSN7OOvkE/uMz+V97mBczXKc=" }, "apollo-tracing": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.0.7.tgz", - "integrity": "sha512-jvjNmOOb3M2QiBEuz9Vjp6HiXtZuDwRvHxqBZQ+TE0UoODRnJoQu5LF1uvPI2ooOHiPC1ce4SAKNNIU9y02EeA==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.1.3.tgz", + "integrity": "sha512-LZhSDL4oe9iNkedzJk6tQ6zLXmw/lwCvB0HDZyJjdp8rqrW+RN0Fk6MmZtNq9Z0olwOUh8EN3vIpzLwR3CJTrw==", "requires": { - "graphql-tools": "1.2.3" + "graphql-extensions": "0.0.8" } }, + "apollo-utilities": { + "version": "0.2.0-rc.3", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-0.2.0-rc.3.tgz", + "integrity": "sha512-UM5ok/DUKSgh/3T302hoPqCAhqfXdvBaQKOQJb0QUuX3qu2qVKzvwFsv/C3zWYySeCJTP9EoV2LtooIJOhSL4g==" + }, "append-field": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/append-field/-/append-field-0.1.0.tgz", "integrity": "sha1-bdxY+gg8e8VF08WZWygwzCNm1Eo=" }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, "array-filter": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", @@ -1138,9 +1286,9 @@ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -1163,9 +1311,9 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assertion-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, "astw": { @@ -1213,9 +1361,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.3.tgz", + "integrity": "sha512-MsAhsUW1GxCdgYSO6tAfZrNapmUKk7mWx/k5mFY/A1gBtkaCaNapTg+FExCw1r9yeaZhqx/xPg43xgTFH6KL5w==", "dev": true }, "basic-auth": { @@ -1236,9 +1384,9 @@ } }, "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", + "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=" }, "bn.js": { "version": "4.11.8", @@ -1254,13 +1402,13 @@ "bytes": "3.0.0", "content-type": "1.0.4", "debug": "2.6.9", - "depd": "1.1.1", + "depd": "1.1.2", "http-errors": "1.6.2", "iconv-lite": "0.4.19", "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "1.6.16" } }, "boolbase": { @@ -1273,13 +1421,13 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -1292,14 +1440,15 @@ "dev": true }, "browser-pack": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.2.tgz", - "integrity": "sha1-+GzWzvT1MAyOY+B6TVEvZfv/RTE=", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.4.tgz", + "integrity": "sha512-Q4Rvn7P6ObyWfc4stqLWHtG1MJ8vVtjgT24Zbu+8UTzxYuZouqZsmNRRTFVMY/Ux0eIKv1d+JWzsInTX+fdHPQ==", "dev": true, "requires": { - "JSONStream": "1.3.1", - "combine-source-map": "0.7.2", + "JSONStream": "1.3.2", + "combine-source-map": "0.8.0", "defined": "1.0.0", + "safe-buffer": "5.1.1", "through2": "2.0.3", "umd": "3.0.1" } @@ -1328,22 +1477,22 @@ "dev": true }, "browserify": { - "version": "14.4.0", - "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.4.0.tgz", - "integrity": "sha1-CJo0Y69Y0OSNjNQHCz90ZU1avKk=", + "version": "14.5.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-14.5.0.tgz", + "integrity": "sha512-gKfOsNQv/toWz+60nSPfYzuwSEdzvV2WdxrVPUbPD/qui44rAkB3t3muNtmmGYHqrG56FGwX9SUEQmzNLAeS7g==", "dev": true, "requires": { - "JSONStream": "1.3.1", + "JSONStream": "1.3.2", "assert": "1.4.1", - "browser-pack": "6.0.2", + "browser-pack": "6.0.4", "browser-resolve": "1.11.2", - "browserify-zlib": "0.1.4", - "buffer": "5.0.8", + "browserify-zlib": "0.2.0", + "buffer": "5.1.0", "cached-path-relative": "1.0.1", "concat-stream": "1.5.2", "console-browserify": "1.1.0", "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", + "crypto-browserify": "3.12.0", "defined": "1.0.0", "deps-sort": "2.0.0", "domain-browser": "1.1.7", @@ -1354,28 +1503,28 @@ "htmlescape": "1.1.1", "https-browserify": "1.0.0", "inherits": "2.0.3", - "insert-module-globals": "7.0.1", + "insert-module-globals": "7.0.2", "labeled-stream-splicer": "2.0.0", "module-deps": "4.1.1", - "os-browserify": "0.1.2", + "os-browserify": "0.3.0", "parents": "1.0.1", "path-browserify": "0.0.0", "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", "read-only-stream": "2.0.0", - "readable-stream": "2.3.3", - "resolve": "1.4.0", + "readable-stream": "2.3.5", + "resolve": "1.5.0", "shasum": "1.0.2", "shell-quote": "1.6.1", "stream-browserify": "2.0.1", - "stream-http": "2.7.2", + "stream-http": "2.8.0", "string_decoder": "1.0.3", "subarg": "1.0.0", - "syntax-error": "1.3.0", + "syntax-error": "1.4.0", "through2": "2.0.3", "timers-browserify": "1.4.2", - "tty-browserify": "0.0.0", + "tty-browserify": "0.0.1", "url": "0.11.0", "util": "0.10.3", "vm-browserify": "0.0.4", @@ -1414,13 +1563,19 @@ "dev": true } } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true } } }, "browserify-aes": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.0.tgz", - "integrity": "sha512-W2bIMLYoZ9oow7TyePpMJk9l9LY7O3R61a/68bVCDOtnJynnwe3ZeW2IzzSkrQnPKNdJrxVDn3ALZNisSBwb7g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "dev": true, "requires": { "buffer-xor": "1.0.3", @@ -1437,7 +1592,7 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.1.0", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -1460,7 +1615,7 @@ "dev": true, "requires": { "bn.js": "4.11.8", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1479,26 +1634,26 @@ } }, "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "0.2.9" + "pako": "1.0.6" } }, "bson": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.4.tgz", - "integrity": "sha1-k8ENOeqltYQVy8QFLz5T5WKwtyw=" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bson/-/bson-1.0.5.tgz", + "integrity": "sha512-D4SCtud6mlEb48kXdTHU31DRU0bsgOJ+4St1Dcx30uYNnf/aGc+hC9gHB/z0Eth8HYYs/hr0SFdyZViht19SwA==" }, "buffer": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", - "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", + "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", "dev": true, "requires": { - "base64-js": "1.2.1", + "base64-js": "1.2.3", "ieee754": "1.1.8" } }, @@ -1605,40 +1760,25 @@ "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", "dev": true, "requires": { - "assertion-error": "1.0.2", + "assertion-error": "1.1.0", "deep-eql": "0.1.3", "type-detect": "1.0.0" } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.0", + "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - }, - "dependencies": { - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "requires": { - "has-flag": "2.0.0" - } - } + "supports-color": "5.3.0" } }, "change-case": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.1.tgz", - "integrity": "sha1-7l9a0EFa0a2egHLPSc1M+nZgpVQ=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.0.2.tgz", + "integrity": "sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA==", "dev": true, "requires": { "camel-case": "3.0.0", @@ -1677,7 +1817,7 @@ "lodash.flatten": "4.4.0", "lodash.foreach": "4.5.0", "lodash.map": "4.6.0", - "lodash.merge": "4.6.0", + "lodash.merge": "4.6.1", "lodash.pick": "4.4.0", "lodash.reduce": "4.6.0", "lodash.reject": "4.6.0", @@ -1733,9 +1873,9 @@ "dev": true }, "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { "color-name": "1.1.3" } @@ -1751,9 +1891,9 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" }, "combine-source-map": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", - "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", "dev": true, "requires": { "convert-source-map": "1.1.3", @@ -1771,17 +1911,17 @@ } }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { "delayed-stream": "1.0.0" } }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + "version": "2.14.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz", + "integrity": "sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==" }, "component-emitter": { "version": "1.2.1", @@ -1790,21 +1930,21 @@ "dev": true }, "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz", + "integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=", "requires": { - "mime-db": "1.30.0" + "mime-db": "1.33.0" } }, "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "2.0.11", + "compressible": "2.0.13", "debug": "2.6.9", "on-headers": "1.0.1", "safe-buffer": "5.1.1", @@ -1817,12 +1957,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "typedarray": "0.0.6" } }, @@ -1893,10 +2033,9 @@ "dev": true }, "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" }, "core-util-is": { "version": "1.0.2", @@ -1922,7 +2061,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.3", "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -1936,7 +2075,25 @@ "inherits": "2.0.3", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" + } + }, + "cross-fetch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.0.0.tgz", + "integrity": "sha512-gnx0GnDyW73iDq6DpqceL8i4GGn55PPKDzNwZkopJ3mKPcfJ0BUIXBsnYfJBVw+jFDB+hzIp2ELNRdqoxN6M3w==", + "dev": true, + "requires": { + "node-fetch": "2.0.0", + "whatwg-fetch": "2.0.3" + }, + "dependencies": { + "node-fetch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.0.0.tgz", + "integrity": "sha1-mCu6Q+zU8pIqKcwYamu7C7c/y6Y=", + "dev": true + } } }, "cross-spawn": { @@ -1963,15 +2120,15 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } } } }, "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { "browserify-cipher": "1.0.0", @@ -1983,7 +2140,8 @@ "inherits": "2.0.3", "pbkdf2": "3.0.14", "public-encrypt": "4.0.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "css-select": { @@ -2003,9 +2161,9 @@ "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=" }, "csv-parse": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.2.4.tgz", - "integrity": "sha512-Mv4Ly6mshOHEIlnVGB/PZtDCT+vyvyCs5Qae/lLeAIlKNR4W7TkmSGmB10uPm7aJQYcTO/rswLzUcYu6wFlAYg==" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-1.3.3.tgz", + "integrity": "sha1-0c/YdDwvhJoKuy/VRNtWaV0ZpJA=" }, "dashdash": { "version": "1.14.1", @@ -2063,9 +2221,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "deprecated-decorator": { "version": "0.1.6", @@ -2078,7 +2236,7 @@ "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", "dev": true, "requires": { - "JSONStream": "1.3.1", + "JSONStream": "1.3.2", "shasum": "1.0.2", "subarg": "1.0.0", "through2": "2.0.3" @@ -2100,13 +2258,21 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "detective": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/detective/-/detective-4.5.0.tgz", - "integrity": "sha1-blqMaybmx6JUsca210kNmOyR7dE=", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz", + "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==", "dev": true, "requires": { - "acorn": "4.0.13", + "acorn": "5.5.0", "defined": "1.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", + "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", + "dev": true + } } }, "dicer": { @@ -2155,7 +2321,7 @@ "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "dom-serializer": { @@ -2217,7 +2383,7 @@ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "ecc-jsbn": { @@ -2250,9 +2416,9 @@ } }, "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "encoding": { "version": "0.1.12", @@ -2292,6 +2458,12 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true + }, "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -2338,7 +2510,7 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", @@ -2346,8 +2518,8 @@ "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.1", - "encodeurl": "1.0.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "finalhandler": "1.1.0", @@ -2357,7 +2529,7 @@ "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "2.0.3", "qs": "6.5.1", "range-parser": "1.2.0", "safe-buffer": "5.1.1", @@ -2365,15 +2537,31 @@ "serve-static": "1.13.1", "setprototypeof": "1.1.0", "statuses": "1.3.1", - "type-is": "1.6.15", + "type-is": "1.6.16", "utils-merge": "1.0.1", "vary": "1.1.2" }, "dependencies": { + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.1" + } + }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" } } }, @@ -2388,9 +2576,14 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "finalhandler": { "version": "1.1.0", @@ -2398,12 +2591,19 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "on-finished": "2.3.0", "parseurl": "1.3.2", "statuses": "1.3.1", "unpipe": "1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + } } }, "find-up": { @@ -2420,15 +2620,15 @@ "resolved": "https://registry.npmjs.org/flat/-/flat-4.0.0.tgz", "integrity": "sha512-ji/WMv2jdsE+LaznpkIF9Haax0sdpTBozrz/Dtg4qSRMfbs8oVg4ypJunIRYPiMLvH/ed6OflXbnbTIKJhtgeg==", "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } }, "focus-trap": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-2.3.0.tgz", - "integrity": "sha1-B8kZZIZ9NGMV9PX434i/lkVTFuI=", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-2.4.3.tgz", + "integrity": "sha512-sT5Ip9nyAIxWq8Apt1Fdv6yTci5GotaOtO5Ro1/+F3PizttNBcCYz8j/Qze54PPFK73KUbOqh++HUCiyNPqvhA==", "requires": { - "tabbable": "1.1.0" + "tabbable": "1.1.2" } }, "forever-agent": { @@ -2437,13 +2637,13 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "formidable": { @@ -2504,9 +2704,9 @@ } }, "git-rev-sync": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-1.9.1.tgz", - "integrity": "sha1-oMLj3TkqvPa3aWLif8dfsyI0Sc4=", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-1.10.0.tgz", + "integrity": "sha1-6KxP0JZyRJFI/2lOLXxqbuNck6Y=", "requires": { "escape-string-regexp": "1.0.5", "graceful-fs": "4.1.11", @@ -2527,15 +2727,15 @@ } }, "gql2ts": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/gql2ts/-/gql2ts-1.2.1.tgz", - "integrity": "sha1-ta+n9W/Q6DxjgaZzOZ7pXDWPGeI=", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/gql2ts/-/gql2ts-1.4.3.tgz", + "integrity": "sha512-Gef6X3vvuMll1zIGi2MPwj4FKfw+yIUP/tjRQZoCw7drVsuFc1NtDuHg3yHa5QDToy40w/fWCElfgYCWxbDOpg==", "dev": true, "requires": { - "@gql2ts/from-query": "1.2.1", - "@gql2ts/from-schema": "1.2.1", - "@gql2ts/util": "1.2.1", - "commander": "2.11.0" + "@gql2ts/from-query": "1.4.3", + "@gql2ts/from-schema": "1.4.3", + "@gql2ts/util": "1.4.3", + "commander": "2.14.1" } }, "graceful-fs": { @@ -2550,71 +2750,124 @@ "dev": true }, "graphql": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", - "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.11.7.tgz", + "integrity": "sha512-x7uDjyz8Jx+QPbpCFCMQ8lltnQa4p4vSYHx6ADe8rVYRTdsyhCJbvSty5DAsLVmU6cGakl+r8HQYolKHxk/tiw==", "requires": { "iterall": "1.1.3" } }, "graphql-anywhere": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz", - "integrity": "sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY=" + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-4.1.5.tgz", + "integrity": "sha512-M/5tK73y3JDpwOKShrwuQGu4bo2Mm3DqiTfkUcmvxONfyDTwvf8qn/TVe59yC0SbwNbFiVbZigXgijP+3riyBA==", + "requires": { + "apollo-utilities": "1.0.8" + }, + "dependencies": { + "apollo-utilities": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", + "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" + } + } + }, + "graphql-config": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-1.2.1.tgz", + "integrity": "sha512-BOtbEOn/fD13jT0peCy3Fzp1DSTsA/1AcZp266AQ5Sk3wFndKCEa/H7donbu5UriOw1V/N1WDirYPnr7rd8E7Q==", + "dev": true, + "requires": { + "graphql": "0.12.3", + "graphql-import": "0.4.5", + "graphql-request": "1.5.1", + "js-yaml": "3.10.0", + "lodash": "4.17.5", + "minimatch": "3.0.4" + }, + "dependencies": { + "graphql": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.12.3.tgz", + "integrity": "sha512-Hn9rdu4zacplKXNrLCvR8YFiTGnbM4Zw/UH8FDmzBDsH7ou40lSNH4tIlsxcYnz2TGNVJCpu1WxCM23yd6kzhA==", + "dev": true, + "requires": { + "iterall": "1.1.3" + } + } + } + }, + "graphql-extensions": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.0.8.tgz", + "integrity": "sha512-9Ew7qfzkcsV2zrW4OJrdEcFKWAM3hsEhnp4Hbx9RGJ/uZvzDzR1uNUI5wQtjmWfMOj/QvVbwSeNA48PxYAGiBw==", + "requires": { + "core-js": "2.5.3", + "source-map-support": "0.5.3" + } + }, + "graphql-import": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.4.5.tgz", + "integrity": "sha512-G/+I08Qp6/QGTb9qapknCm3yPHV0ZL7wbaalWFpxsfR8ZhZoTBe//LsbsCKlbALQpcMegchpJhpTSKiJjhaVqQ==", + "dev": true, + "requires": { + "lodash": "4.17.5" + } + }, + "graphql-request": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.5.1.tgz", + "integrity": "sha512-p1f1q+D+5k1PMxsaZszestYW1BAEKjygliqTAhJI5nueRe74WRmwNQWAdrRBoCFRIpM0SZer98cbJF4PZHXaqg==", + "dev": true, + "requires": { + "cross-fetch": "2.0.0" + } }, "graphql-server-express": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/graphql-server-express/-/graphql-server-express-1.1.6.tgz", - "integrity": "sha1-z5pD8Vsm3RWpINBRQN0izy5EaHU=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/graphql-server-express/-/graphql-server-express-1.3.2.tgz", + "integrity": "sha1-y2BhS9oQ3dZldzGxWEBC7ggdWn0=", "requires": { - "apollo-server-express": "1.1.6" + "apollo-server-express": "1.3.2" } }, "graphql-subscriptions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-0.4.4.tgz", - "integrity": "sha512-hqfUsZv39qmK4SEoKMnTO05U4EVvIeAD4ai5ztE9gCl4hEdeaF2Q5gvF80ONQQAnkys4odzxWYd2tBLS/cWl8g==", - "dev": true, + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz", + "integrity": "sha512-0CaZnXKBw2pwnIbvmVckby5Ge5e2ecmjofhYCdyeACbCly2j3WXDP/pl+s+Dqd2GQFC7y99NB+53jrt55CKxYQ==", "requires": { - "@types/graphql": "0.9.4", - "es6-promise": "4.1.1", - "iterall": "1.1.3" + "iterall": "1.2.2" }, "dependencies": { - "@types/graphql": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.9.4.tgz", - "integrity": "sha512-ob2dps4itT/Le5DbxjssBXtBnloDIRUbkgtAvaB42mJ8pVIWMRuURD9WjnhaEGZ4Ql/EryXMQWeU8Y0EU73QLw==", - "dev": true - }, - "es6-promise": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", - "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==", - "dev": true + "iterall": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", + "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" } } }, "graphql-tag": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.4.2.tgz", - "integrity": "sha1-amMpfYUi0DorctJvGyOaqzQ4QM0=" + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.8.0.tgz", + "integrity": "sha1-Us3qB6hCFU7BGi6EDBG5d/m4Nc4=" }, "graphql-tools": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-1.2.3.tgz", - "integrity": "sha512-3inNK3rmk32G4hGWbqBuVNxusF+Mcuckg+3aD4hHaMxO0LrSgteWoTD8pTD9GUnmoSRG4AbYHZ0jibGD5MTlrQ==", + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-2.21.0.tgz", + "integrity": "sha512-AmG4WGdpL1OHwnA20ouP7BVB3KnvUOvsc7+4ULWRzEunyRFUYqxrgnEf20iZnYAha8JCb7AP4WPMwWKmGT91rg==", "requires": { - "@types/graphql": "0.9.4", + "apollo-link": "1.2.1", + "apollo-utilities": "1.0.8", "deprecated-decorator": "0.1.6", - "uuid": "3.1.0" + "iterall": "1.1.3", + "uuid": "3.2.1" }, "dependencies": { - "@types/graphql": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.9.4.tgz", - "integrity": "sha512-ob2dps4itT/Le5DbxjssBXtBnloDIRUbkgtAvaB42mJ8pVIWMRuURD9WjnhaEGZ4Ql/EryXMQWeU8Y0EU73QLw==", - "optional": true + "apollo-utilities": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", + "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" } } }, @@ -2622,12 +2875,57 @@ "version": "git://github.com/illegalprime/graphql-typewriter.git#6c9e4c7490256cc1fcac7af32f18d471c0b375ca", "dev": true, "requires": { - "commander": "2.11.0", + "commander": "2.14.1", "glob": "7.1.2", "graphql": "0.10.5", "graphql-subscriptions": "0.4.4", "graphql-tools": "1.2.3", "m-io": "0.5.0" + }, + "dependencies": { + "@types/graphql": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.9.4.tgz", + "integrity": "sha512-ob2dps4itT/Le5DbxjssBXtBnloDIRUbkgtAvaB42mJ8pVIWMRuURD9WjnhaEGZ4Ql/EryXMQWeU8Y0EU73QLw==", + "dev": true + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "dev": true + }, + "graphql": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", + "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", + "dev": true, + "requires": { + "iterall": "1.1.3" + } + }, + "graphql-subscriptions": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-0.4.4.tgz", + "integrity": "sha512-hqfUsZv39qmK4SEoKMnTO05U4EVvIeAD4ai5ztE9gCl4hEdeaF2Q5gvF80ONQQAnkys4odzxWYd2tBLS/cWl8g==", + "dev": true, + "requires": { + "@types/graphql": "0.9.4", + "es6-promise": "4.2.4", + "iterall": "1.1.3" + } + }, + "graphql-tools": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-1.2.3.tgz", + "integrity": "sha512-3inNK3rmk32G4hGWbqBuVNxusF+Mcuckg+3aD4hHaMxO0LrSgteWoTD8pTD9GUnmoSRG4AbYHZ0jibGD5MTlrQ==", + "dev": true, + "requires": { + "@types/graphql": "0.9.4", + "deprecated-decorator": "0.1.6", + "uuid": "3.2.1" + } + } } }, "growl": { @@ -2637,14 +2935,24 @@ "dev": true }, "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { "async": "1.5.2", "optimist": "0.6.1", "source-map": "0.4.4", "uglify-js": "2.8.29" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": "1.0.1" + } + } } }, "har-schema": { @@ -2657,7 +2965,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.2.3", + "ajv": "5.5.2", "har-schema": "2.0.0" } }, @@ -2671,10 +2979,9 @@ } }, "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "hash-base": { "version": "2.0.2", @@ -2702,8 +3009,8 @@ "requires": { "boom": "4.3.1", "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.0.2" + "hoek": "4.2.1", + "sntp": "2.1.0" } }, "he": { @@ -2734,14 +3041,14 @@ } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" }, "hooks-fixed": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.0.tgz", - "integrity": "sha1-oB2JTVKsf2WZu7H2PfycQR33DLo=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz", + "integrity": "sha512-YurCM4gQSetcrhwEtpQHhQ4M7Zo7poNGqY4kQGeBS6eZtOcT3tnNs01ThFa0jYBByAiYt1MjMjP/YApG0EnAvQ==" }, "hosted-git-info": { "version": "2.5.0", @@ -2765,7 +3072,7 @@ "domutils": "1.5.1", "entities": "1.1.1", "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "http-errors": { @@ -2776,7 +3083,14 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": "1.4.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + } } }, "http-signature": { @@ -2819,9 +3133,9 @@ "dev": true }, "inflected": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.0.2.tgz", - "integrity": "sha1-G8MaxCfKUyGyoWzFbW/yn80v+Aw=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inflected/-/inflected-2.0.4.tgz", + "integrity": "sha512-HQPzFLTTUvwfeUH6RAGjD8cHS069mBqXG5n4qaxX7sJXBhVQrsGgF+0ZJGkSuN6a8pcUWB/GXStta11kKi/WvA==", "dev": true }, "inflight": { @@ -2856,21 +3170,33 @@ } }, "insert-module-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz", - "integrity": "sha1-wDv04BywhtW15azorQr+eInWOMM=", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.2.tgz", + "integrity": "sha512-p3s7g96Nm62MbHRuj9ZXab0DuJNWD7qcmdUXCOQ/ZZn42DtDXfsLill7bq19lDCx3K3StypqUnuE3H2VmIJFUw==", "dev": true, "requires": { - "JSONStream": "1.3.1", + "JSONStream": "1.3.2", "combine-source-map": "0.7.2", "concat-stream": "1.5.2", - "is-buffer": "1.1.5", + "is-buffer": "1.1.6", "lexical-scope": "1.2.0", "process": "0.11.10", "through2": "2.0.3", "xtend": "4.0.1" }, "dependencies": { + "combine-source-map": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz", + "integrity": "sha1-CHAxKFazB6h8xKxIbzqaYq7MwJ4=", + "dev": true, + "requires": { + "convert-source-map": "1.1.3", + "inline-source-map": "0.6.2", + "lodash.memoize": "3.0.4", + "source-map": "0.5.7" + } + }, "concat-stream": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz", @@ -2882,6 +3208,12 @@ "typedarray": "0.0.6" } }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, "readable-stream": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", @@ -2896,6 +3228,12 @@ "util-deprecate": "1.0.2" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -2905,9 +3243,9 @@ } }, "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, "invert-kv": { "version": "1.0.0", @@ -2916,9 +3254,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "is-arrayish": { "version": "0.2.1", @@ -2927,9 +3265,9 @@ "dev": true }, "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -2999,10 +3337,15 @@ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==" }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.0" + } }, "jsbn": { "version": "0.1.1", @@ -3021,9 +3364,10 @@ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "dev": true, "requires": { "jsonify": "0.0.0" } @@ -3034,12 +3378,12 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json2csv": { - "version": "3.11.4", - "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-3.11.4.tgz", - "integrity": "sha512-XTtol8BJQK/sZUmMUFSKYfPBdUU2dQ4cvoJKeTmzUo2LE6eElcpVaz5fstXeHKAXAIyZDLDWuBVP0tLV4JPqfA==", + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-3.11.5.tgz", + "integrity": "sha512-ORsw84BuRKMLxfI+HFZuvxRDnsJps53D5fIGr6tLn4ZY+ymcG8XU00E+JJ2wfAiHx5w2QRNmOLE8xHiGAeSfuQ==", "requires": { "cli-table": "0.3.1", - "commander": "2.11.0", + "commander": "2.14.1", "debug": "3.1.0", "flat": "4.0.0", "lodash.clonedeep": "4.5.0", @@ -3078,7 +3422,8 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true }, "jsonparse": { "version": "1.3.1", @@ -3107,7 +3452,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.5" + "is-buffer": "1.1.6" } }, "labeled-stream-splicer": { @@ -3176,14 +3521,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" }, "lodash._baseassign": { "version": "3.2.0", @@ -3320,9 +3660,9 @@ "dev": true }, "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" }, "lodash.pick": { "version": "4.4.0", @@ -3359,14 +3699,6 @@ "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "3.0.2" - } - }, "lower-case": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", @@ -3399,7 +3731,7 @@ "dev": true, "requires": { "fs-extra": "2.1.2", - "q": "1.5.0" + "q": "1.5.1" } }, "material-components-web": { @@ -3470,7 +3802,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "merge-descriptors": { @@ -3499,22 +3831,22 @@ "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.30.0" + "mime-db": "1.33.0" } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimalistic-assert": { @@ -3534,7 +3866,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -3608,6 +3940,21 @@ "once": "1.4.0", "path-is-absolute": "1.0.1" } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "supports-color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", + "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } } } }, @@ -3617,17 +3964,17 @@ "integrity": "sha1-IyFYM/HaE/1gbMuAh7RIUty4If0=", "dev": true, "requires": { - "JSONStream": "1.3.1", + "JSONStream": "1.3.2", "browser-resolve": "1.11.2", "cached-path-relative": "1.0.1", "concat-stream": "1.5.2", "defined": "1.0.0", - "detective": "4.5.0", + "detective": "4.7.1", "duplexer2": "0.1.4", "inherits": "2.0.3", "parents": "1.0.1", - "readable-stream": "2.3.3", - "resolve": "1.4.0", + "readable-stream": "2.3.5", + "resolve": "1.5.0", "stream-combiner2": "1.1.1", "subarg": "1.0.0", "through2": "2.0.3", @@ -3661,6 +4008,12 @@ } } }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -3670,15 +4023,20 @@ } }, "mongodb": { - "version": "2.2.31", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.31.tgz", - "integrity": "sha1-GUBEXGYeGSF7s7+CRdmFSq71SNs=", + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-2.2.34.tgz", + "integrity": "sha1-o09Zu+thdUrsQy3nLD/iFSakTBo=", "requires": { "es6-promise": "3.2.1", - "mongodb-core": "2.1.15", + "mongodb-core": "2.1.18", "readable-stream": "2.2.7" }, "dependencies": { + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, "readable-stream": { "version": "2.2.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.7.tgz", @@ -3696,29 +4054,30 @@ } }, "mongodb-core": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.15.tgz", - "integrity": "sha1-hB9TuH//9MdFgYnDXIroJ+EWl2Q=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.18.tgz", + "integrity": "sha1-TEYTm986HwMt7ZHbSfOO7AFlkFA=", "requires": { - "bson": "1.0.4", + "bson": "1.0.5", "require_optional": "1.0.1" } }, "mongoose": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.12.1.tgz", - "integrity": "sha1-+yfBCPlAJS5Ei7G4C1+KQEEI7ig=", + "version": "4.13.11", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-4.13.11.tgz", + "integrity": "sha512-OgXmFc3vzXwq4zWp41XfSBDnKZLqnBc4Kh7mwwGjBE5iWH5tfkixaPK0uFtpEuzDzUvAIg33bgniyTsmc00olA==", "requires": { "async": "2.1.4", - "bson": "1.0.4", - "hooks-fixed": "2.0.0", + "bson": "1.0.5", + "hooks-fixed": "2.0.2", "kareem": "1.5.0", - "mongodb": "2.2.31", + "lodash.get": "4.4.2", + "mongodb": "2.2.34", "mpath": "0.3.0", "mpromise": "0.5.5", - "mquery": "2.3.2", + "mquery": "2.3.3", "ms": "2.0.0", - "muri": "1.2.2", + "muri": "1.3.0", "regexp-clone": "0.0.1", "sliced": "1.0.1" }, @@ -3728,7 +4087,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=", "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } } } @@ -3740,7 +4099,7 @@ "requires": { "basic-auth": "2.0.0", "debug": "2.6.9", - "depd": "1.1.1", + "depd": "1.1.2", "on-finished": "2.3.0", "on-headers": "1.0.1" } @@ -3756,11 +4115,11 @@ "integrity": "sha1-9bJCWddjrMIlewoMjG2Gb9UXMuY=" }, "mquery": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.2.tgz", - "integrity": "sha512-KXWMypZSvhCuqRtza+HMQZdYw7PfFBjBTFvP31NNAq0OX0/NTIgpcDpkWQ2uTxk6vGQtwQ2elhwhs+ZvCA8OaA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-2.3.3.tgz", + "integrity": "sha512-NC8L14kn+qxJbbJ1gbcEMDxF0sC3sv+1cbRReXXwVvowcwY1y9KoVZFq0ebwARibsadu8lx8nWGvm3V0Pf0ZWQ==", "requires": { - "bluebird": "3.5.1", + "bluebird": "3.5.0", "debug": "2.6.9", "regexp-clone": "0.0.1", "sliced": "0.0.5" @@ -3785,18 +4144,18 @@ "requires": { "append-field": "0.1.0", "busboy": "0.2.14", - "concat-stream": "1.6.0", + "concat-stream": "1.6.1", "mkdirp": "0.5.1", "object-assign": "3.0.0", "on-finished": "2.3.0", - "type-is": "1.6.15", + "type-is": "1.6.16", "xtend": "4.0.1" } }, "muri": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/muri/-/muri-1.2.2.tgz", - "integrity": "sha1-YxmBMmUNsIoEzHnM0A3Tia/SYxw=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/muri/-/muri-1.3.0.tgz", + "integrity": "sha512-FiaFwKl864onHFFUV/a2szAl7X0fxVlSKNdhTf+BM8i8goEgYut8u5P9MqQqIYwvaMxjzVESsoEm/2kfkFH1rg==" }, "negotiator": { "version": "0.6.1", @@ -3830,8 +4189,8 @@ "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "npm-run-path": { @@ -3898,9 +4257,9 @@ } }, "os-browserify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", - "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", "dev": true }, "os-locale": { @@ -3921,10 +4280,13 @@ "dev": true }, "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } }, "p-locate": { "version": "2.0.0", @@ -3932,13 +4294,19 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "1.2.0" } }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", "dev": true }, "param-case": { @@ -3965,8 +4333,8 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "dev": true, "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.1.0", + "asn1.js": "4.10.1", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -4063,7 +4431,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "performance-now": { @@ -4084,17 +4452,17 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.6.0" } }, "pseudomap": { @@ -4113,7 +4481,7 @@ "browserify-rsa": "4.0.1", "create-hash": "1.1.3", "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "randombytes": "2.0.6" } }, "punycode": { @@ -4122,9 +4490,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", "dev": true }, "qs": { @@ -4145,11 +4513,21 @@ "dev": true }, "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { + "randombytes": "2.0.6", "safe-buffer": "5.1.1" } }, @@ -4175,7 +4553,7 @@ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "read-pkg": { @@ -4200,14 +4578,14 @@ } }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -4218,18 +4596,7 @@ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", "requires": { - "resolve": "1.4.0" - } - }, - "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", - "requires": { - "lodash": "4.17.4", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "symbol-observable": "1.0.4" + "resolve": "1.5.0" } }, "regexp-clone": { @@ -4250,25 +4617,25 @@ "aws-sign2": "0.7.0", "aws4": "1.6.0", "caseless": "0.12.0", - "combined-stream": "1.0.5", + "combined-stream": "1.0.6", "extend": "3.0.1", "forever-agent": "0.6.1", - "form-data": "2.3.1", + "form-data": "2.3.2", "har-validator": "5.0.3", "hawk": "6.0.2", "http-signature": "1.2.0", "is-typedarray": "1.0.0", "isstream": "0.1.2", "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", + "mime-types": "2.1.18", "oauth-sign": "0.8.2", "performance-now": "2.1.0", "qs": "6.5.1", "safe-buffer": "5.1.1", "stringstream": "0.0.5", - "tough-cookie": "2.3.3", + "tough-cookie": "2.3.4", "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "uuid": "3.2.1" } }, "request-promise-core": { @@ -4276,7 +4643,7 @@ "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz", "integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=", "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "request-promise-native": { @@ -4286,7 +4653,7 @@ "requires": { "request-promise-core": "1.1.1", "stealthy-require": "1.1.1", - "tough-cookie": "2.3.3" + "tough-cookie": "2.3.4" } }, "require-directory": { @@ -4307,13 +4674,13 @@ "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==", "requires": { "resolve-from": "2.0.0", - "semver": "5.4.1" + "semver": "5.5.0" } }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { "path-parse": "1.0.5" } @@ -4348,9 +4715,9 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "send": { "version": "0.16.1", @@ -4358,9 +4725,9 @@ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "requires": { "debug": "2.6.9", - "depd": "1.1.1", + "depd": "1.1.2", "destroy": "1.0.4", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "fresh": "0.5.2", @@ -4370,6 +4737,13 @@ "on-finished": "2.3.0", "range-parser": "1.2.0", "statuses": "1.3.1" + }, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + } } }, "sentence-case": { @@ -4383,14 +4757,36 @@ } }, "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "parseurl": "1.3.2", - "send": "0.16.1" + "send": "0.16.2" + }, + "dependencies": { + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + } + } } }, "set-blocking": { @@ -4405,9 +4801,9 @@ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" }, "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "dev": true, "requires": { "inherits": "2.0.3", @@ -4421,18 +4817,7 @@ "dev": true, "requires": { "json-stable-stringify": "0.0.1", - "sha.js": "2.4.9" - }, - "dependencies": { - "json-stable-stringify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", - "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", - "dev": true, - "requires": { - "jsonify": "0.0.0" - } - } + "sha.js": "2.4.10" } }, "shebang-command": { @@ -4468,7 +4853,7 @@ "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", "requires": { "glob": "7.1.2", - "interpret": "1.0.4", + "interpret": "1.1.0", "rechoir": "0.6.2" } }, @@ -4493,57 +4878,62 @@ } }, "sntp": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz", - "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.0" + "hoek": "4.2.1" } }, "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": "1.0.1" - } + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", + "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", "requires": { - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "source-map": "0.6.1" } }, "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", "dev": true }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "sshpk": { @@ -4562,9 +4952,9 @@ } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, "stealthy-require": { "version": "1.1.1", @@ -4578,7 +4968,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "stream-combiner2": { @@ -4588,18 +4978,18 @@ "dev": true, "requires": { "duplexer2": "0.1.4", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "stream-http": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" } @@ -4611,7 +5001,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" } }, "streamsearch": { @@ -4704,36 +5094,43 @@ } }, "subscriptions-transport-ws": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.1.tgz", - "integrity": "sha512-ewPLSwMoSF+lKUWMBLPQngJTVkm+G96wKFZQXBRQmOK06glyMuNFDzkTFf30l9QGlki6sOu8MMqeuKr2/3AqIg==", + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.6.tgz", + "integrity": "sha512-thbrhqkwXN7kfKM6CQHSZ0/+nEJuB4mSsW0/XO5Eth5GiTZhbxysorJ7X4XCK/HKZdjhEnyVi6F//CJnRFZmQQ==", "requires": { "backo2": "1.0.2", "eventemitter3": "2.0.3", - "iterall": "1.1.3", + "iterall": "1.2.2", "lodash.assign": "4.2.0", "lodash.isobject": "3.0.2", "lodash.isstring": "4.0.1", - "symbol-observable": "1.0.4", - "ws": "3.2.0" + "symbol-observable": "1.2.0", + "ws": "3.3.3" + }, + "dependencies": { + "iterall": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz", + "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA==" + } } }, "superagent": { - "version": "3.6.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.6.3.tgz", - "integrity": "sha512-GjsfCFijfjqoz2tRiStSOoTdy7gNZOcK3ar4zONP9D8dXQWE+Qg7cbePHimRpapo06WUvoU3dmgi2e4q+sab5A==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", + "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { "component-emitter": "1.2.1", "cookiejar": "2.1.1", "debug": "3.1.0", "extend": "3.0.1", - "form-data": "2.3.1", + "form-data": "2.3.2", "formidable": "1.1.1", "methods": "1.1.2", "mime": "1.4.1", "qs": "6.5.1", - "readable-stream": "2.3.3" + "readable-stream": "2.3.5" }, "dependencies": { "debug": { @@ -4754,16 +5151,15 @@ "dev": true, "requires": { "methods": "1.1.2", - "superagent": "3.6.3" + "superagent": "3.8.2" } }, "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true, + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "1.0.0" + "has-flag": "3.0.0" } }, "swap-case": { @@ -4777,23 +5173,23 @@ } }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "syntax-error": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.3.0.tgz", - "integrity": "sha1-HtkmbE1AvnXcVb+bsct3Biu5bKE=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn-node": "1.3.0" } }, "tabbable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-1.1.0.tgz", - "integrity": "sha512-35UF7YrX08Wj5+CFFwO5akQYE4UFICvOY/xQ7Dgduhxb5QW7IS/d0DeLO9DnRzwVyfyiz6vRPj3MYhPt/Zopiw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-1.1.2.tgz", + "integrity": "sha512-77oqsKEPrxIwgRcXUwipkj9W5ItO97L6eUT1Ar7vh+El16Zm4M6V+YU1cbipHEa6q0Yjw8O3Hoh8oRgatV5s7A==" }, "through": { "version": "2.3.8", @@ -4807,7 +5203,7 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.3", + "readable-stream": "2.3.5", "xtend": "4.0.1" } }, @@ -4837,17 +5233,17 @@ "dev": true }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { "punycode": "1.4.1" } }, "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", "dev": true }, "tunnel-agent": { @@ -4871,12 +5267,12 @@ "dev": true }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.18" } }, "typedarray": { @@ -4885,9 +5281,9 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.5.3.tgz", - "integrity": "sha512-ptLSQs2S4QuS6/OD1eAKG+S5G8QQtrU5RT32JULdZQtM1L3WTi34Wsu48Yndzi8xsObRAB9RPt/KhA9wlpEF6w==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", + "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", "dev": true }, "uglify-js": { @@ -4916,9 +5312,9 @@ "optional": true }, "ultron": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", - "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, "umd": { "version": "3.0.1", @@ -4992,18 +5388,18 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "vary": { @@ -5033,7 +5429,8 @@ "whatwg-fetch": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true }, "which": { "version": "1.3.0", @@ -5090,13 +5487,13 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.2.0.tgz", - "integrity": "sha512-hTS3mkXm/j85jTQOIcwVz3yK3up9xHgPtgEhDBOH3G18LDOZmSAG1omJeXejLKJakx+okv8vS1sopgs7rw0kVw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "requires": { "async-limiter": "1.0.0", "safe-buffer": "5.1.1", - "ultron": "1.1.0" + "ultron": "1.1.1" } }, "xtend": { @@ -5145,10 +5542,18 @@ } } }, + "zen-observable": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz", + "integrity": "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==" + }, "zen-observable-ts": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz", - "integrity": "sha512-SNVY1sWWhoe7FwFmHpD9ERi+7Mhhj3+JdS0BGy2UxLIg7cY+3zQbyZauQCI6DN6YK4uoKNaIm3S7Qkqi1Lr+Fw==" + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.8.tgz", + "integrity": "sha512-oGjFvBbAA94uh/HvAwJDwMHtNq4lZRtupJx8XsyreOTYvH8x1ef9hIeH/M+IqiAXtNpglq/Klh5rbpYWEeRSOQ==", + "requires": { + "zen-observable": "0.7.1" + } } } } diff --git a/package.json b/package.json index 7a66fce..e2a1cb2 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,12 @@ "url": "https://github.com/petschekr" }, "dependencies": { - "apollo-client": "^1.9.3", + "apollo-cache-inmemory": "^0.2.0-rc.4", + "apollo-client": "^2.0.0-rc.7", + "apollo-link-http": "^1.5.2", + "apollo-link-ws": "^1.0.7", "body-parser": "^1.17.1", - "chalk": "^2.1.0", + "chalk": "^2.3.2", "cheerio": "^0.22.0", "compression": "^1.6.2", "cookie-parser": "^1.4.3", @@ -26,10 +29,11 @@ "escape-string-regexp": "^1.0.5", "express": "^4.15.2", "git-rev-sync": "^1.9.0", - "graphql": "^0.10.0", + "graphql": "^0.11.7", "graphql-server-express": "^1.1.2", + "graphql-subscriptions": "^0.5.8", "graphql-tag": "^2.4.2", - "graphql-tools": "^1.2.3", + "graphql-tools": "^2.21.0", "handlebars": "^4.0.6", "json2csv": "^3.7.3", "material-components-web": "^0.13.0", @@ -45,14 +49,13 @@ "devDependencies": { "@types/body-parser": "0.0.33", "@types/chai": "^3.4.34", - "@types/chalk": "^0.4.31", "@types/cheerio": "^0.22.1", "@types/compression": "0.0.33", "@types/cookie-parser": "^1.3.30", "@types/csv-parse": "^1.1.6", "@types/escape-string-regexp": "0.0.31", "@types/express": "^4.0.34", - "@types/graphql": "^0.10.0", + "@types/graphql": "^0.11.8", "@types/handlebars": "^4.0.32", "@types/mocha": "^2.2.38", "@types/mongoose": "^4.7.19", From 8cc80a056c88e99d0a08e94c1bc50bb643e1042a Mon Sep 17 00:00:00 2001 From: Kexin Zhang Date: Sun, 4 Mar 2018 12:18:40 -0500 Subject: [PATCH 02/16] switch client side to apollo client 2 --- client/index.html | 1 - client/js/main.ts | 203 ++++++++++++++++++++++++++-------------------- package-lock.json | 58 +++---------- package.json | 2 +- server/app.ts | 2 +- 5 files changed, 128 insertions(+), 138 deletions(-) diff --git a/client/index.html b/client/index.html index dcf8a8c..26e2632 100644 --- a/client/index.html +++ b/client/index.html @@ -276,7 +276,6 @@

Add Tags

- diff --git a/client/js/main.ts b/client/js/main.ts index ab61ec5..c5e3013 100644 --- a/client/js/main.ts +++ b/client/js/main.ts @@ -1,6 +1,21 @@ declare let mdc: any; declare let moment: any; +import { ApolloClient } from "apollo-client"; +import { createHttpLink } from "apollo-link-http"; +import { InMemoryCache } from 'apollo-cache-inmemory'; +import gql from 'graphql-tag'; + +const link = createHttpLink({ + uri: "/graphql", + credentials: "same-origin" +}); + +const client = new ApolloClient({ + link: link, + cache: new InMemoryCache() +}); + class State { public linkID: string; public sectionID: string; @@ -98,9 +113,9 @@ interface ISearchUserResponse { } } -interface ITagChangeResponse { - tag_change: IGraphqlAttendee; -} +// interface ITagChangeResponse { +// tag_change: IGraphqlAttendee; +// } const graphqlOptions = { dataType: "text", @@ -655,89 +670,99 @@ setInterval(() => { loadAttendees(); -// Set up graphql subscriptions listener -declare let SubscriptionsTransportWs: any; - -import * as apollo from "apollo-client"; -import * as gqlRaw from "graphql-tag"; -// Types not working for some reason so we'll apply them manually here instead -// TODO: Super hacky please fix -const gql = gqlRaw as (literals: any, ...placeholders: any[]) => any; - -const networkInterface = apollo.createNetworkInterface({ - uri: '/graphql' -}); - -const wsProtocol = location.protocol === "http:" ? "ws" : "wss"; -const wsClient = new SubscriptionsTransportWs.SubscriptionClient(`${wsProtocol}://${window.location.host}/graphql`, { - reconnect: true, -}); - -const networkInterfaceWithSubscriptions = SubscriptionsTransportWs.addGraphQLSubscriptions( - networkInterface, - wsClient -); - -const apolloClient = new apollo.ApolloClient({ - networkInterface: networkInterfaceWithSubscriptions -}); - -const subscriptionQuery = gql(`subscription { - tag_change { - user { - id - name - email - } - tags { - tag { - name - } - checked_in - checked_in_by - checked_in_date - } - } -}`); - -apolloClient.subscribe({ - query: subscriptionQuery, - variables: {} -}).subscribe({ - next (data: ITagChangeResponse) { - let attendee: IGraphqlAttendee = data.tag_change; - - if (!States["checkin"].isDisplayed) - return; - - let tag: string = tagSelector.value; - // Filter by the currently shown tag - let attendeeTags = attendee.tags.filter((t: IGraphqlTag) => t.tag.name === tag); - let button = document.querySelector(`#item-${attendee.user.id} > .actions > button`); - - if (!button) { - // This attendee belongs to a tag that isn't currently being shown - // This message can safely be ignored; the user list will be updated when switching tags - return; - } - if (attendeeTags.length === 0) { - // Check if the currently displayed tag is the tag that was just updated - return; - } - let attendeeTag = attendeeTags[0]; - let status = document.querySelector(`#${button.parentElement!.parentElement!.id} > .actions > span.status`)!; - - if (attendeeTag.checked_in) { - button.textContent = "Uncheck in"; - button.classList.add("checked-in"); - if (attendeeTag.checked_in_date && attendeeTag.checked_in_by) { - status.innerHTML = statusFormatter(attendeeTag.checked_in_date, attendeeTag.checked_in_by); - } - } - else { - button.textContent = "Check in"; - button.classList.remove("checked-in"); - status.textContent = ""; - } - } -}); +client.query({ + query: gql`{ + tags { + name + } + }` + }) + .then(data => console.log(data)) + .catch(error => console.log(error)); + +// // Set up graphql subscriptions listener +// declare let SubscriptionsTransportWs: any; + +// import * as apollo from "apollo-client"; +// import * as gqlRaw from "graphql-tag"; +// // Types not working for some reason so we'll apply them manually here instead +// // TODO: Super hacky please fix +// const gql = gqlRaw as (literals: any, ...placeholders: any[]) => any; + +// const networkInterface = apollo.createNetworkInterface({ +// uri: '/graphql' +// }); + +// const wsProtocol = location.protocol === "http:" ? "ws" : "wss"; +// const wsClient = new SubscriptionsTransportWs.SubscriptionClient(`${wsProtocol}://${window.location.host}/graphql`, { +// reconnect: true, +// }); + +// const networkInterfaceWithSubscriptions = SubscriptionsTransportWs.addGraphQLSubscriptions( +// networkInterface, +// wsClient +// ); + +// const apolloClient = new apollo.ApolloClient({ +// networkInterface: networkInterfaceWithSubscriptions +// }); + +// const subscriptionQuery = gql(`subscription { +// tag_change { +// user { +// id +// name +// email +// } +// tags { +// tag { +// name +// } +// checked_in +// checked_in_by +// checked_in_date +// } +// } +// }`); + +// apolloClient.subscribe({ +// query: subscriptionQuery, +// variables: {} +// }).subscribe({ +// next (data: ITagChangeResponse) { +// let attendee: IGraphqlAttendee = data.tag_change; + +// if (!States["checkin"].isDisplayed) +// return; + +// let tag: string = tagSelector.value; +// // Filter by the currently shown tag +// let attendeeTags = attendee.tags.filter((t: IGraphqlTag) => t.tag.name === tag); +// let button = document.querySelector(`#item-${attendee.user.id} > .actions > button`); + +// if (!button) { +// // This attendee belongs to a tag that isn't currently being shown +// // This message can safely be ignored; the user list will be updated when switching tags +// return; +// } +// if (attendeeTags.length === 0) { +// // Check if the currently displayed tag is the tag that was just updated +// return; +// } +// let attendeeTag = attendeeTags[0]; +// let status = document.querySelector(`#${button.parentElement!.parentElement!.id} > .actions > span.status`)!; + +// if (attendeeTag.checked_in) { +// button.textContent = "Uncheck in"; +// button.classList.add("checked-in"); +// if (attendeeTag.checked_in_date && attendeeTag.checked_in_by) { +// status.innerHTML = statusFormatter(attendeeTag.checked_in_date, attendeeTag.checked_in_by); +// } +// } +// else { +// button.textContent = "Check in"; +// button.classList.remove("checked-in"); +// status.textContent = ""; +// } +// } +// }); diff --git a/package-lock.json b/package-lock.json index e01396f..3425544 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1010,11 +1010,11 @@ } }, "apollo-cache": { - "version": "0.2.0-rc.3", - "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-0.2.0-rc.3.tgz", - "integrity": "sha512-W41OANlHHnbiFLCBURf6e6174hT/1mIYdjV5qrmcaNSbbYRRvDD8xw4Q6l0TcwUhyNmRpPiwFtbv3fyHO2VytQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.4.tgz", + "integrity": "sha512-ldmThmabOtC1boSO05OB1gqJbTR+mNHmB8kOe2WrV2Wjrd+ByO1rfrWOoAntj+XhyEsizYzyw876Sg0fvVkFWA==", "requires": { - "apollo-utilities": "0.2.0-rc.3" + "apollo-utilities": "1.0.8" } }, "apollo-cache-control": { @@ -1026,12 +1026,12 @@ } }, "apollo-cache-inmemory": { - "version": "0.2.0-rc.4", - "resolved": "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-0.2.0-rc.4.tgz", - "integrity": "sha512-gtcjQkk5zms4Enz6LL0ZeIrU0QJJ6f1PK+gaW56f65tTPf+H20th1I1OQZFKQf85Aojfpz8gItO3tmrFGzHyQA==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/apollo-cache-inmemory/-/apollo-cache-inmemory-1.1.9.tgz", + "integrity": "sha512-Bo53czxEg4yblqrzH9ej9sHN6bXQktEKVDNwuAyWcAM8FAUH4ewzsZ+0rF8reN6fyCFKq09z6+vFWLIE2+U8ew==", "requires": { - "apollo-cache": "0.2.0-rc.3", - "apollo-utilities": "0.2.0-rc.3", + "apollo-cache": "1.1.4", + "apollo-utilities": "1.0.8", "graphql-anywhere": "4.1.5" } }, @@ -1048,21 +1048,6 @@ "apollo-utilities": "1.0.8", "symbol-observable": "1.2.0", "zen-observable": "0.7.1" - }, - "dependencies": { - "apollo-cache": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.4.tgz", - "integrity": "sha512-ldmThmabOtC1boSO05OB1gqJbTR+mNHmB8kOe2WrV2Wjrd+ByO1rfrWOoAntj+XhyEsizYzyw876Sg0fvVkFWA==", - "requires": { - "apollo-utilities": "1.0.8" - } - }, - "apollo-utilities": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", - "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" - } } }, "apollo-codegen": { @@ -1165,11 +1150,6 @@ "version": "9.4.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz", "integrity": "sha512-CTUtLb6WqCCgp6P59QintjHWqzf4VL1uPA27bipLAPxFqrtK1gEYllePzTICGqQ8rYsCbpnsNypXjjDzGAAjEQ==" - }, - "apollo-utilities": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", - "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" } } }, @@ -1239,9 +1219,9 @@ } }, "apollo-utilities": { - "version": "0.2.0-rc.3", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-0.2.0-rc.3.tgz", - "integrity": "sha512-UM5ok/DUKSgh/3T302hoPqCAhqfXdvBaQKOQJb0QUuX3qu2qVKzvwFsv/C3zWYySeCJTP9EoV2LtooIJOhSL4g==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", + "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" }, "append-field": { "version": "0.1.0", @@ -2763,13 +2743,6 @@ "integrity": "sha512-M/5tK73y3JDpwOKShrwuQGu4bo2Mm3DqiTfkUcmvxONfyDTwvf8qn/TVe59yC0SbwNbFiVbZigXgijP+3riyBA==", "requires": { "apollo-utilities": "1.0.8" - }, - "dependencies": { - "apollo-utilities": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", - "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" - } } }, "graphql-config": { @@ -2862,13 +2835,6 @@ "deprecated-decorator": "0.1.6", "iterall": "1.1.3", "uuid": "3.2.1" - }, - "dependencies": { - "apollo-utilities": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.8.tgz", - "integrity": "sha512-EvqRJCw5xy2gWeH37toUimbEkmUxronCosBNE4tOCJvZUMLLGB8CuTQ5RsBhKJm+rZ6kwGxV+2uszk14f/P/rA==" - } } }, "graphql-typewriter": { diff --git a/package.json b/package.json index e2a1cb2..bed2854 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "url": "https://github.com/petschekr" }, "dependencies": { - "apollo-cache-inmemory": "^0.2.0-rc.4", + "apollo-cache-inmemory": "^1.1.9", "apollo-client": "^2.0.0-rc.7", "apollo-link-http": "^1.5.2", "apollo-link-ws": "^1.0.7", diff --git a/server/app.ts b/server/app.ts index 4a06e64..4900089 100644 --- a/server/app.ts +++ b/server/app.ts @@ -3,7 +3,7 @@ import * as path from "path"; import * as os from "os"; import * as crypto from "crypto"; import * as morgan from "morgan"; -import * as chalk from "chalk"; +import chalk from "chalk"; import * as urlib from "url"; import * as express from "express"; From 1b3abb58be0e36ddf82860592fe0f63bd4b12a05 Mon Sep 17 00:00:00 2001 From: Kexin Zhang Date: Mon, 5 Mar 2018 01:33:12 -0500 Subject: [PATCH 03/16] generate types for checkin queries and responses --- build.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 22774ea..edb5f54 100755 --- a/build.sh +++ b/build.sh @@ -20,8 +20,18 @@ curl -s 'https://raw.githubusercontent.com/HackGT/registration/master/api.graphq ./node_modules/.bin/graphql-typewriter -i ./api.graphql mv ./api.graphql.types.ts ./server/graphql.types.ts -# Compile +# Compile server side ./node_modules/typescript/bin/tsc -p server/ + +# Generate types for client side responses +./node_modules/.bin/apollo-codegen introspect-schema \ + ./api.graphql \ + --output ./apis/checkin.schema.json +./node_modules/.bin/gql2ts \ + -o ./apis/checkin.d.ts \ + ./apis/checkin.schema.json + +# Compile client side ./node_modules/typescript/bin/tsc -p client/ # Bundle client side js From 943ee0c424b62bcb30e536c10f0e0dd599809d98 Mon Sep 17 00:00:00 2001 From: Kexin Zhang Date: Mon, 5 Mar 2018 01:33:42 -0500 Subject: [PATCH 04/16] switch all graphql queries to use apollo client --- client/js/main.ts | 310 ++++++++++++++++++++-------------------------- 1 file changed, 131 insertions(+), 179 deletions(-) diff --git a/client/js/main.ts b/client/js/main.ts index c5e3013..912b6bf 100644 --- a/client/js/main.ts +++ b/client/js/main.ts @@ -1,3 +1,5 @@ +/// + declare let mdc: any; declare let moment: any; @@ -83,57 +85,22 @@ function readURLHash() { readURLHash(); window.addEventListener("hashchange", readURLHash); -interface IGraphqlTag { - tag: { - name: string - }; - checked_in: boolean; - checked_in_by?: string; - checked_in_date?: string; -} - -interface IGraphqlQuestion { - name: string; - value: string; -} - -interface IGraphqlAttendee { - user: { - id: string, - name: string, - email: string, - questions?: IGraphqlQuestion[] - }; - tags: IGraphqlTag[]; -} - -interface ISearchUserResponse { - data: { - search_user_simple: IGraphqlAttendee[]; - } -} // interface ITagChangeResponse { // tag_change: IGraphqlAttendee; // } -const graphqlOptions = { - dataType: "text", - responseType: "json", - headers: { - "Content-Type": "application/json", - "Accept": "application/json" - } -} - function delay (milliseconds: number) { return new Promise(resolve => { setTimeout(resolve, milliseconds); }); } -function statusFormatter (time: string, by: string = "unknown"): string { +function statusFormatter (time: string, by: string | null): string { // Escape possible HTML in username + if (by === null) { + by = "unknown"; + } by = by.replace(/&/g, "&").replace(//g, ">"); const date: Date = new Date(time); return `Checked in ${moment(time).fromNow()} by ${by}`; @@ -147,7 +114,7 @@ function checkIn (e: Event) { let id: string = button.parentElement!.parentElement!.id.slice(5); let action: string = isCheckedIn ? "check_out" : "check_in"; - let mutation: string = `mutation UserAndTags($user: ID!, $tag: String!) { + const mutation = gql`mutation UserAndTags($user: ID!, $tag: String!) { ${action}(user: $user, tag: $tag) { tags { tag { @@ -158,15 +125,17 @@ function checkIn (e: Event) { } }`; - qwest.post("/graphql", JSON.stringify({ - query: mutation, + client.mutate({ + mutation: mutation, variables: { user: id, tag: tag } - }), graphqlOptions).catch((e, xhr, response) => { - alert(response.error); - }).complete(() => { + }).then(response => { + button.disabled = false; + }).catch(error => { + console.error(error); + alert("Error checking in participant"); button.disabled = false; }); } @@ -278,8 +247,7 @@ function loadAttendees (filter: string = queryField.value, checkedIn: string = c registrationFilter.confirmation_branch = confirmationBranch.value; } - // TODO: some kind of pagination when displaying users - let query: string = `query UserAndTags($search: String!, $questions: [String!]!, $filter: UserFilter) { + const query = gql`query UserAndTags($search: String!, $questions: [String!]!, $filter: UserFilter) { search_user_simple(search: $search, n: 25, offset: 0, filter: $filter) { user { id @@ -306,104 +274,96 @@ function loadAttendees (filter: string = queryField.value, checkedIn: string = c } }`; - qwest.post("/graphql", JSON.stringify({ - query: query, - variables: { - search: filter || " ", - questions: checked, - filter: registrationFilter - } - }), graphqlOptions).then((xhr, response: ISearchUserResponse) => { - let attendees: IGraphqlAttendee[] = response.data.search_user_simple; - - let attendeeList = document.getElementById("attendees")!; - let attendeeTemplate = document.getElementById("attendee-item")!; - let numberOfExistingNodes = document.querySelectorAll("#attendees li").length; - - if (!attendeeList.firstChild || numberOfExistingNodes < attendees.length) { - // First load, preallocate children - status.textContent = "Preallocating nodes..."; - for (let i = numberOfExistingNodes; i < attendees.length; i++) { - let node = document.importNode(attendeeTemplate.content, true) as DocumentFragment; - node.querySelector("li")!.style.display = "none"; - node.querySelector(".actions > button")!.addEventListener("click", checkIn); - attendeeList.appendChild(node); + client.query({ + query: query, + variables: { + search: filter || " ", + questions: checked, + filter: registrationFilter + } + }).then(response => { + let attendees = response.data.search_user_simple; + + let attendeeList = document.getElementById("attendees")!; + let attendeeTemplate = document.getElementById("attendee-item")!; + let numberOfExistingNodes = document.querySelectorAll("#attendees li").length; + + if (!attendeeList.firstChild || numberOfExistingNodes < attendees.length) { + // First load, preallocate children + status.textContent = "Preallocating nodes..."; + for (let i = numberOfExistingNodes; i < attendees.length; i++) { + let node = document.importNode(attendeeTemplate.content, true) as DocumentFragment; + node.querySelector("li")!.style.display = "none"; + node.querySelector(".actions > button")!.addEventListener("click", checkIn); + attendeeList.appendChild(node); + } + ( window).mdc.autoInit(); + console.warn(`Allocated ${attendees.length - numberOfExistingNodes} nodes due to insufficient number`); + status.textContent = "Loading..."; } - ( window).mdc.autoInit(); - console.warn(`Allocated ${attendees.length - numberOfExistingNodes} nodes due to insufficient number`); - status.textContent = "Loading..."; - } - // Reuse nodes already loaded from template - let existingNodes = document.querySelectorAll("#attendees li") as NodeListOf; - for (let i = 0; i < existingNodes.length; i++) { - let attendee = attendees[i]; - if (!!attendee) { - existingNodes[i].style.display = ""; + // Reuse nodes already loaded from template + let existingNodes = document.querySelectorAll("#attendees li") as NodeListOf; + for (let i = 0; i < existingNodes.length; i++) { + let attendee = attendees[i]; + if (!!attendee) { + existingNodes[i].style.display = ""; - existingNodes[i].id = "item-" + attendee.user.id; - existingNodes[i].querySelector("#name")!.textContent = attendee.user.name; - existingNodes[i].querySelector("#emails")!.textContent = attendee.user.email; + existingNodes[i].id = "item-" + attendee.user.id; + existingNodes[i].querySelector("#name")!.textContent = attendee.user.name; + existingNodes[i].querySelector("#emails")!.textContent = attendee.user.email; - let button = existingNodes[i].querySelector(".actions > button")!; - let status = existingNodes[i].querySelector(".actions > span.status")!; + let button = existingNodes[i].querySelector(".actions > button")!; + let status = existingNodes[i].querySelector(".actions > span.status")!; - // Determine if user has the current tag - let tagInfo: IGraphqlTag[] = attendee.tags.filter(curr => curr.tag.name === tag ); + // Determine if user has the current tag + let tagInfo = attendee.tags.filter(curr => curr.tag.name === tag ); - if (tagInfo.length > 0 && tagInfo[0].checked_in) { - button.textContent = "Uncheck in"; - button.classList.add("checked-in"); + if (tagInfo.length > 0 && tagInfo[0].checked_in) { + button.textContent = "Uncheck in"; + button.classList.add("checked-in"); - let date = tagInfo[0].checked_in_date; - if (date && tagInfo[0].checked_in_by) { - status.innerHTML = statusFormatter(date, tagInfo[0].checked_in_by); + let date = tagInfo[0].checked_in_date; + if (date && tagInfo[0].checked_in_by) { + status.innerHTML = statusFormatter(date, tagInfo[0].checked_in_by); + } + } + else { + button.textContent = "Check in"; + button.classList.remove("checked-in"); + status.textContent = ""; + } + if (attendee.user.questions) { + const infoToText = (info: GQL.IFormItem) => { + if (info.value) { + return `${info.name}: ${info.value}`; + } + else if (info.values) { + return `${info.name}: ${info.values.join(",")}`; + } + else if (info.file) { + const path = encodeURIComponent(info.file.path); + const url = `${location.protocol}//${location.host}/uploads?file=${path}`; + return `${info.name}: ${info.file.original_name}`; + } + return `${info.name}: Not given.`; + }; + let registrationInformation = attendee.user.questions.map(infoToText); + existingNodes[i].querySelector("#additional-info")!.innerHTML = registrationInformation.join("
"); } } else { - button.textContent = "Check in"; - button.classList.remove("checked-in"); - status.textContent = ""; - } - if (attendee.user.questions) { - const infoToText = (info: { - name: string; - value?: string; - values?: string[]; - file?: { - path: string; - original_name: string; - } - }) => { - if (info.value) { - return `${info.name}: ${info.value}`; - } - else if (info.values) { - return `${info.name}: ${info.values.join(",")}`; - } - else if (info.file) { - const path = encodeURIComponent(info.file.path); - const url = `${location.protocol}//${location.host}/uploads?file=${path}`; - return `${info.name}: ${info.file.original_name}`; - } - return `${info.name}: Not given.`; - }; - let registrationInformation = attendee.user.questions.map(infoToText); - existingNodes[i].querySelector("#additional-info")!.innerHTML = registrationInformation.join("
"); + existingNodes[i].style.display = "none"; + existingNodes[i].id = ""; } } - else { - existingNodes[i].style.display = "none"; - existingNodes[i].id = ""; - } - } - tag = tag || "no tags found"; - tag = tag.replace(/&/g, "&").replace(//g, ">"); - status.innerHTML = `Found ${attendees.length} attendee${attendees.length === 1 ? "" : "s"} (${tag})`; - }).catch((e, xhr, response) => { - status.textContent = "An error occurred"; - alert(response.error); - }); + tag = tag || "no tags found"; + tag = tag.replace(/&/g, "&").replace(//g, ">"); + status.innerHTML = `Found ${attendees.length} attendee${attendees.length === 1 ? "" : "s"} (${tag})`; + }).catch(error => { + console.error(error); + alert("Error fetching participants"); + }); } function updateTagSelectors(newTags: string[]) { @@ -541,16 +501,18 @@ document.getElementById("add-new-tag")!.addEventListener("click", e => { return; } - qwest.post("/graphql", JSON.stringify({ - query: `mutation Tag($tag: String!) { - add_tag(tag: $tag) { - name - } - }`, + const mutation = gql `mutation Tag($tag: String!) { + add_tag(tag: $tag) { + name + } + }`; + + client.mutate({ + mutation: mutation, variables: { tag: tag } - }), graphqlOptions).then((xhr, response) => { + }).then(response => { // Add to tag selectors updateTagSelectors([tag]); @@ -558,26 +520,27 @@ document.getElementById("add-new-tag")!.addEventListener("click", e => { tagInput.value = ""; document.querySelector(`label[for="new-tag-name"]`)!.classList.remove("mdc-textfield__label--float-above"); alert("Successfully added tag to attendee(s)!"); - }).catch((e, xhr, response) => { - console.error(response); - alert("An error occurred while adding the tag"); - }).complete(() => { button.disabled = false; - }); + }).catch(error => { + console.error(error); + alert("An error occurred while adding the tag"); + button.disabled = false; + }); }); // Populate checkboxes for question names -qwest.post("/graphql", JSON.stringify({ - query: "{ question_names }" -}), graphqlOptions).then((xhr, response) => { - let checkboxTemplate = document.getElementById("checkbox-item")!; - let checkboxContainer = document.getElementById("question-options")!; - let button = document.getElementById("button-row")!; +client.query({ + query: gql`{ question_names }` +}).then(response => { if (!response.data || !response.data.question_names) { return; } + let checkboxTemplate = document.getElementById("checkbox-item")!; + let checkboxContainer = document.getElementById("question-options")!; + let button = document.getElementById("button-row")!; - let question_names: string[] = response.data.question_names.sort((a: string, b: string) => { + let question_names = response.data.question_names.map(name => name); + question_names = question_names.sort((a, b) => { return a.localeCompare(b); }); @@ -591,8 +554,8 @@ qwest.post("/graphql", JSON.stringify({ label.textContent = curr; checkboxContainer.insertBefore(node, button); } -}).catch((e, xhr, response) => { - console.error(response); +}).catch(error => { + console.error(error); alert("Error fetching registration question names"); }); @@ -617,9 +580,9 @@ document.getElementById("attending-filter")!.addEventListener("change", e => { }); // Populate application branches select options -qwest.post("/graphql", JSON.stringify({ - query: "{ application_branches }" -}), graphqlOptions).then((xhr, response) => { +client.query({ + query: gql`{ application_branches }` +}).then(response => { let select = document.getElementById("branches-filter")!; let branches = response.data.application_branches; @@ -628,16 +591,16 @@ qwest.post("/graphql", JSON.stringify({ option.textContent = curr; option.value = curr; select.appendChild(option); - } -}).catch((e, xhr, response) => { - console.error(response, e); + } +}).catch(error => { + console.error(error); alert("Error fetching registration application branches"); }); -// Populate application branches select options -qwest.post("/graphql", JSON.stringify({ - query: "{ confirmation_branches }" -}), graphqlOptions).then((xhr, response) => { +// Populate confirmation branch options +client.query({ + query: gql `{ confirmation_branches }` +}).then(response => { let select = document.getElementById("confirmation-branches-filter")!; let branches = response.data.confirmation_branches; @@ -646,10 +609,10 @@ qwest.post("/graphql", JSON.stringify({ option.textContent = curr; option.value = curr; select.appendChild(option); - } -}).catch((e, xhr, response) => { - console.error(response, e); - alert("Error fetching registration confirmation branches"); + } +}).catch(error => { + console.error(error); + alert("Error fetching registration confirmation branches"); }); document.getElementById("branches-filter")!.addEventListener("change", e => { @@ -669,17 +632,6 @@ setInterval(() => { }, 1000 * 60); loadAttendees(); - -client.query({ - query: gql`{ - tags { - name - } - }` - }) - .then(data => console.log(data)) - .catch(error => console.log(error)); - // // Set up graphql subscriptions listener // declare let SubscriptionsTransportWs: any; From f3a212beb0e17cde03a91dfc6274ae9c9418c032 Mon Sep 17 00:00:00 2001 From: Kexin Zhang Date: Mon, 5 Mar 2018 01:39:03 -0500 Subject: [PATCH 05/16] deleted add attendees section --- client/index.html | 63 ----------------------------------------- client/js/main.ts | 72 ----------------------------------------------- 2 files changed, 135 deletions(-) diff --git a/client/index.html b/client/index.html index 26e2632..5cd7cfa 100644 --- a/client/index.html +++ b/client/index.html @@ -44,10 +44,6 @@

HackGT Check In

{{/each}} - - - Add attendees - Edit tags @@ -123,65 +119,6 @@

HackGT Check In

- -