diff --git a/api/docker-compose.prisma.yml b/api/docker-compose.prisma.yml index 046d2dd71..52cbe03ae 100644 --- a/api/docker-compose.prisma.yml +++ b/api/docker-compose.prisma.yml @@ -1,7 +1,7 @@ version: '3' services: prisma: - image: prismagraphql/prisma:1.15.1 + image: prismagraphql/prisma:1.20 restart: always ports: - "4466:4466" diff --git a/api/package-lock.json b/api/package-lock.json index 3c93e902b..2d8e63d6d 100644 --- a/api/package-lock.json +++ b/api/package-lock.json @@ -3,6 +3,14 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "@apollographql/apollo-tools": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.2.6.tgz", + "integrity": "sha512-IKn35EzAHFQw4x8THux+fkVLkFNs8HDzIgKqcU5ZMfkDt3MOa1nfMbGVoVh2YdvpIjPtyUR3kvAAVQwmRPRjAQ==", + "requires": { + "apollo-env": "0.2.3" + } + }, "@apollographql/apollo-upload-server": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@apollographql/apollo-upload-server/-/apollo-upload-server-5.0.3.tgz", @@ -14,22 +22,24 @@ } }, "@apollographql/graphql-playground-html": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.0.tgz", - "integrity": "sha512-QAZIFrfVRkjvMkUHIQKZXZ3La0V5t12w5PWrhihYEabHwzIZV/txQd/kSYHgYPXC4s5OURxsXZop9f0BzI2QIQ==" + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.4.tgz", + "integrity": "sha512-gwvaQO6/Hv4DEwhDLmmu2tzCU9oPjC5Xl9Kk8Yd0IxyKhYLlLalmkMMjsZLzU5H3fGaalLD96OYfxHL0ClVUDQ==" }, "@azure/storage-blob": { - "version": "10.0.0-preview", - "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-10.0.0-preview.tgz", - "integrity": "sha512-PFXKm+gipKDfg5h08hPiEr0Za4RMiFzzte+ewh4ACZeRQa0XZK55NAZxW67ZytGBd7WXdQq6pcAgo5dBnwQANQ==", + "version": "10.1.0-preview", + "resolved": "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-10.1.0-preview.tgz", + "integrity": "sha512-vKY4dF8VCRCOOQ03Z1ResyjZbWg4jPOnQtRtlSEKE6a7WwFE3EuIbhE7OQfEihuNYyE+XWLkTjrHxeHDFx1hFg==", "requires": { - "ms-rest-js": "0.21.413" + "events": "3.0.0", + "ms-rest-js": "0.22.425", + "tslib": "^1.9.3" } }, "@babel/cli": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.2.tgz", - "integrity": "sha512-K3WDlpBPGpoW11SLKFEBhMsITomPovsrZ/wnM3y+WStbytukDXC0OBic3yQp+j058QUw0+R/jfx2obwp1fOzcA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.5.tgz", + "integrity": "sha512-zbO/DtTnaDappBflIU3zYEgATLToRDmW5uN/EGH1GXaes7ydfjqmAoK++xmJIA+8HfDw7UyPZNdM8fhGhfmMhw==", "requires": { "chokidar": "^2.0.3", "commander": "^2.8.1", @@ -59,17 +69,17 @@ } }, "@babel/core": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz", - "integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.5.tgz", + "integrity": "sha512-vOyH020C56tQvte++i+rX2yokZcRfbv/kKcw+/BCRw/cK6dvsr47aCzm8oC1XHwMSEWbqrZKzZRLzLnq6SFMsg==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.1.2", - "@babel/helpers": "^7.1.2", - "@babel/parser": "^7.1.2", + "@babel/generator": "^7.1.5", + "@babel/helpers": "^7.1.5", + "@babel/parser": "^7.1.5", "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2", + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5", "convert-source-map": "^1.1.0", "debug": "^3.1.0", "json5": "^0.5.0", @@ -79,26 +89,25 @@ "source-map": "^0.5.0" }, "dependencies": { - "@babel/generator": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz", - "integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==", - "requires": { - "@babel/types": "^7.1.3", - "jsesc": "^2.5.1", - "lodash": "^4.17.10", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - } + "@babel/parser": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.5.tgz", + "integrity": "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg==" }, - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "@babel/traverse": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.5.tgz", + "integrity": "sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.5", + "@babel/types": "^7.1.5", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" } }, "debug": { @@ -117,14 +126,13 @@ } }, "@babel/generator": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.38.tgz", - "integrity": "sha512-aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==", - "dev": true, + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.1.5.tgz", + "integrity": "sha512-IO31r62xfMI+wBJVmgx0JR9ZOHty8HkoYpQAjRWUGG9vykBTlGHdArZ8zoFtpUu2gs17K7qTl/TtPpiSi6t+MA==", "requires": { - "@babel/types": "7.0.0-beta.38", + "@babel/types": "^7.1.5", "jsesc": "^2.5.1", - "lodash": "^4.2.0", + "lodash": "^4.17.10", "source-map": "^0.5.0", "trim-right": "^1.0.1" }, @@ -132,8 +140,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -143,18 +150,6 @@ "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==", "requires": { "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -164,18 +159,6 @@ "requires": { "@babel/helper-explode-assignable-expression": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-call-delegate": { @@ -186,18 +169,6 @@ "@babel/helper-hoist-variables": "^7.0.0", "@babel/traverse": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-define-map": { @@ -208,18 +179,6 @@ "@babel/helper-function-name": "^7.1.0", "@babel/types": "^7.0.0", "lodash": "^4.17.10" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-explode-assignable-expression": { @@ -229,18 +188,6 @@ "requires": { "@babel/traverse": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-function-name": { @@ -291,18 +238,6 @@ "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==", "requires": { "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-member-expression-to-functions": { @@ -331,18 +266,6 @@ "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==", "requires": { "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-module-transforms": { @@ -356,18 +279,6 @@ "@babel/template": "^7.1.0", "@babel/types": "^7.0.0", "lodash": "^4.17.10" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-optimise-call-expression": { @@ -413,18 +324,6 @@ "@babel/template": "^7.1.0", "@babel/traverse": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-replace-supers": { @@ -457,18 +356,6 @@ "requires": { "@babel/template": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helper-split-export-declaration": { @@ -500,38 +387,45 @@ "@babel/template": "^7.1.0", "@babel/traverse": "^7.1.0", "@babel/types": "^7.0.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" - } - } } }, "@babel/helpers": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz", - "integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.5.tgz", + "integrity": "sha512-2jkcdL02ywNBry1YNFAH/fViq4fXG0vdckHqeJk+75fpQ2OH+Az6076tX/M0835zA45E0Cqa6pV5Kiv9YOqjEg==", "requires": { "@babel/template": "^7.1.2", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.1.2" + "@babel/traverse": "^7.1.5", + "@babel/types": "^7.1.5" }, "dependencies": { - "@babel/types": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz", - "integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==", + "@babel/parser": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.5.tgz", + "integrity": "sha512-WXKf5K5HT6X0kKiCOezJZFljsfxKV1FpU8Tf1A7ZpGvyd/Q4hlrJm2EwoH2onaUq3O4tLDp+4gk0hHPsMyxmOg==" + }, + "@babel/traverse": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.5.tgz", + "integrity": "sha512-eU6XokWypl0MVJo+MTSPUtlfPePkrqsF26O+l1qFGlCKWwmiYAYy2Sy44Qw8m2u/LbPCsxYt90rghmqhYMGpPA==", "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.10", - "to-fast-properties": "^2.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/generator": "^7.1.5", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.0.0", + "@babel/parser": "^7.1.5", + "@babel/types": "^7.1.5", + "debug": "^3.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.10" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" } } } @@ -713,9 +607,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz", - "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.1.5.tgz", + "integrity": "sha512-jlYcDrz+5ayWC7mxgpn1Wj8zj0mmjCT2w0mPIMSwO926eXBRxpEgoN/uQVRBfjtr8ayjcmS+xk2G1jaP8JjMJQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.10" @@ -945,9 +839,9 @@ } }, "@babel/preset-env": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz", - "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.5.tgz", + "integrity": "sha512-pQ+2o0YyCp98XG0ODOHJd9z4GsSoV5jicSedRwCrU8uiqcJahwQiOq0asSZEb/m/lwyu6X5INvH/DSiwnQKncw==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", @@ -962,7 +856,7 @@ "@babel/plugin-transform-arrow-functions": "^7.0.0", "@babel/plugin-transform-async-to-generator": "^7.1.0", "@babel/plugin-transform-block-scoped-functions": "^7.0.0", - "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.1.5", "@babel/plugin-transform-classes": "^7.1.0", "@babel/plugin-transform-computed-properties": "^7.0.0", "@babel/plugin-transform-destructuring": "^7.0.0", @@ -1007,9 +901,9 @@ } }, "@babel/runtime-corejs2": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz", - "integrity": "sha512-drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.1.5.tgz", + "integrity": "sha512-WsYRwQsFhVmxkAqwypPTZyV9GpkqMEaAr2zOItOmqSX2GBFaI+eq98CN81e13o0zaUKJOQGYyjhNVqj56nnkYg==", "requires": { "core-js": "^2.5.7", "regenerator-runtime": "^0.12.0" @@ -1091,13 +985,12 @@ } }, "@babel/types": { - "version": "7.0.0-beta.38", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.38.tgz", - "integrity": "sha512-SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==", - "dev": true, + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.1.5.tgz", + "integrity": "sha512-sJeqa/d9eM/bax8Ivg+fXF7FpN3E/ZmTrWbkk6r+g7biVYfALMnLin4dKijsaqEhpd2xvOGfQTkQkD31YCVV4A==", "requires": { "esutils": "^2.0.2", - "lodash": "^4.2.0", + "lodash": "^4.17.10", "to-fast-properties": "^2.0.0" } }, @@ -1204,6 +1097,22 @@ } } }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, "@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -1355,12 +1264,6 @@ "resolved": "http://registry.npmjs.org/@types/graphql/-/graphql-0.12.6.tgz", "integrity": "sha512-wXAVyLfkG1UMkKOdMijVWFky39+OD/41KftzqfX1Oejd0Gm6dOIKjCihSVECg6X7PHjftxXmfOKA/d1H79ZfvQ==" }, - "@types/jest": { - "version": "23.3.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.5.tgz", - "integrity": "sha512-3LI+vUC3Wju28vbjIjsTKakhMB8HC4l+tMz+Z8WRzVK+kmvezE5jcOvKtBpznWSI5KDLFo+FouUhpTKoekadCA==", - "dev": true - }, "@types/long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.0.tgz", @@ -1382,6 +1285,12 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.9.4.tgz", "integrity": "sha512-fCHV45gS+m3hH17zgkgADUSi2RR1Vht6wOZ0jyHP8rjiQra9f+mIcgwPQHllmDocYOstIEbKlxbFDYlgrTPYqw==" }, + "@types/prettier": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.13.2.tgz", + "integrity": "sha512-k6MCN8WuDiCj6O+UJsVMbrreZxkbrhQbO02oDj6yuRu8UAkp0MDdEcDKif8/gBKuJbT84kkO+VHQAqXkumEklg==", + "dev": true + }, "@types/range-parser": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz", @@ -1397,9 +1306,9 @@ } }, "@types/tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-Set5ZdrAaKI/qHdFlVMgm/GsAv/wkXhSTuZFkJ+JI7HK+wIkIlOaUXSXieIvJ0+OvGIqtREFoE+NHJtEq0gtEw==", "dev": true }, "@types/uuid": { @@ -1411,9 +1320,9 @@ } }, "@types/ws": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-5.1.2.tgz", - "integrity": "sha512-NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-6.0.1.tgz", + "integrity": "sha512-EzH8k1gyZ4xih/MaZTXwT2xOkPiIMSrhQ9b8wrlX88L0T02eYsddatQlwVFlEPyEqV0ChpdpNnE51QPH6NVT4Q==", "requires": { "@types/events": "*", "@types/node": "*" @@ -1434,9 +1343,9 @@ } }, "adm-zip": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", - "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", + "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==", "dev": true }, "agent-base": { @@ -1507,6 +1416,15 @@ "normalize-path": "^2.1.1" } }, + "apollo-cache-control": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.3.2.tgz", + "integrity": "sha512-/fhgCWGEoTsgyA83usy/1NvJWi6hbD4rSGO5jvyNNtMZ9ledOvKUvIdzSQ1r5hxK5yds/eehWXhMJ4Pu200qrQ==", + "requires": { + "apollo-server-env": "2.2.0", + "graphql-extensions": "0.3.2" + } + }, "apollo-codegen": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/apollo-codegen/-/apollo-codegen-0.19.1.tgz", @@ -1528,6 +1446,30 @@ "yargs": "^10.0.3" }, "dependencies": { + "@babel/generator": { + "version": "7.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.38.tgz", + "integrity": "sha512-aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.38", + "jsesc": "^2.5.1", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" + } + }, + "@babel/types": { + "version": "7.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.38.tgz", + "integrity": "sha512-SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" + } + }, "graphql-config": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-1.2.1.tgz", @@ -1578,6 +1520,12 @@ "is-stream": "^1.0.1" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "yargs": { "version": "10.1.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.2.tgz", @@ -1610,44 +1558,55 @@ } }, "apollo-datasource": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.1.3.tgz", - "integrity": "sha512-yEGEe5Cjzqqu5ml1VV3O8+C+thzdknZri9Ny0P3daTGNO+45J3vBOMcmaANeeI2+OOeWxdqUNa5aPOx/35kniw==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/apollo-datasource/-/apollo-datasource-0.2.0.tgz", + "integrity": "sha512-WJM9Ix3uogIfAG7mjL1NZQM9+45rcikn4mPWhE1Iuyw2+Y857J3uKJqQgF5h9Fg64SlCJh9u5WL3N7N5mg1fVw==", "requires": { - "apollo-server-caching": "0.1.2", - "apollo-server-env": "2.0.3" + "apollo-server-caching": "0.2.0", + "apollo-server-env": "2.2.0" } }, "apollo-engine-reporting": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-0.0.6.tgz", - "integrity": "sha512-JmfNJ9v3QEJQ8ZhLfCKEDiww53n5kj5HarP85p8LreoYNojbvcWN8Qm6RgvSG5N/ZJrAYHeTRQbSxm1vWwGubw==", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-0.1.2.tgz", + "integrity": "sha512-W6zBTypI2ZLe9ZpMI4EasyXJP2WG8CpxYOU3Q4iuCKh8HYJqrQC5QVFXRF7TRBQTE6tc1seYnAHdgqv0ozxBrw==", "requires": { - "apollo-engine-reporting-protobuf": "^0.0.1", - "apollo-server-env": "^2.0.3", + "apollo-engine-reporting-protobuf": "0.1.0", + "apollo-server-env": "2.2.0", "async-retry": "^1.2.1", - "graphql-extensions": "^0.2.1", + "graphql-extensions": "0.3.2", "lodash": "^4.17.10" - }, - "dependencies": { - "graphql-extensions": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.2.1.tgz", - "integrity": "sha512-/1FTPSWSffDjlRyMAV2UwQhojLmca9aQD0ieo1IYiqT5SE+uOWi4r83QF1CoER0sREIsH3s+nTmdH3cvQVG3MA==", - "requires": { - "apollo-server-env": "^2.0.3" - } - } } }, "apollo-engine-reporting-protobuf": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.0.1.tgz", - "integrity": "sha512-AySoDgog2p1Nph44FyyqaU4AfRZOXx8XZxRsVHvYY4dHlrMmDDhhjfF3Jswa7Wr8X/ivvx3xA0jimRn6rsG8Ew==", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.1.0.tgz", + "integrity": "sha512-GReJtAYTmpwg0drb9VgFtqObYYTCHkJhlHEYCeXY8bJV4fOgXsAZ7CIXR9nPKO0mBaoHIHaGYvXGcyCLrZ36VA==", "requires": { "protobufjs": "^6.8.6" } }, + "apollo-env": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.2.3.tgz", + "integrity": "sha512-7hRWPG8tWQNXCNrZsOMqxtkHGqhTzFgsw7RpFDyC1xgcZvVFCJvthWgWO07EhcaHhRqvrPxmicLnoTw2e/iCsA==", + "requires": { + "core-js": "^3.0.0-beta.3", + "node-fetch": "^2.2.0" + }, + "dependencies": { + "core-js": { + "version": "3.0.0-beta.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.0-beta.3.tgz", + "integrity": "sha512-kM/OfrnMThP5PwGAj5HhQLdjUqzjrllqN2EVnk/X9qrLsfYjR2hzZ+E/8CzH0xuosexZtqMTLQrk//BULrBj9w==" + }, + "node-fetch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.3.0.tgz", + "integrity": "sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==" + } + } + }, "apollo-errors": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/apollo-errors/-/apollo-errors-1.9.0.tgz", @@ -1684,9 +1643,9 @@ } }, "apollo-server-caching": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.1.2.tgz", - "integrity": "sha512-jBRnsTgXN0m8yVpumoelaUq9mXR7YpJ3EE+y/alI7zgXY+0qFDqksRApU8dEfg3q6qUnO7rFxRhdG5eyc0+1ig==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/apollo-server-caching/-/apollo-server-caching-0.2.0.tgz", + "integrity": "sha512-/v7xWEcyyahs3hwX4baH/GekuHz3LRt9NoIYwg869G1eeqjuwY6NsowRIujZ100anJQwm9v5A9/sLtHBFvbgYg==", "requires": { "lru-cache": "^4.1.3" }, @@ -1702,110 +1661,79 @@ } } }, + "apollo-server-core": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.2.2.tgz", + "integrity": "sha512-F6d4u5m1rJB4ucpLPGCoa9Dvo5OjGMIGdAzT9A35yOvlFWwvIR46jGmYmGmNp4Qx852rb1axSZVzNy7k/Dix0w==", + "requires": { + "@apollographql/apollo-tools": "^0.2.6", + "@apollographql/apollo-upload-server": "^5.0.3", + "@apollographql/graphql-playground-html": "^1.6.4", + "@types/ws": "^6.0.0", + "apollo-cache-control": "0.3.2", + "apollo-datasource": "0.2.0", + "apollo-engine-reporting": "0.1.2", + "apollo-server-caching": "0.2.0", + "apollo-server-env": "2.2.0", + "apollo-server-errors": "2.2.0", + "apollo-server-plugin-base": "0.1.2", + "apollo-tracing": "0.3.2", + "graphql-extensions": "0.3.2", + "graphql-subscriptions": "^1.0.0", + "graphql-tag": "^2.9.2", + "graphql-tools": "^4.0.0", + "json-stable-stringify": "^1.0.1", + "lodash": "^4.17.10", + "subscriptions-transport-ws": "^0.9.11", + "ws": "^6.0.0" + } + }, "apollo-server-env": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.0.3.tgz", - "integrity": "sha512-uIfKFH8n8xKO0eLb9Fa79+s2DdMuVethgznvW6SrOYq5VzgkIIobqKEuZPKa5wObw9CkCyju/+Sr7b7WWMFxUQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/apollo-server-env/-/apollo-server-env-2.2.0.tgz", + "integrity": "sha512-wjJiI5nQWPBpNmpiLP389Ezpstp71szS6DHAeTgYLb/ulCw3CTuuA+0/E1bsThVWiQaDeHZE0sE3yI8q2zrYiA==", "requires": { "node-fetch": "^2.1.2", "util.promisify": "^1.0.0" } }, "apollo-server-errors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.0.2.tgz", - "integrity": "sha512-zyWDqAVDCkj9espVsoUpZr9PwDznM8UW6fBfhV+i1br//s2AQb07N6ektZ9pRIEvkhykDZW+8tQbDwAO0vUROg==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.2.0.tgz", + "integrity": "sha512-gV9EZG2tovFtT1cLuCTavnJu2DaKxnXPRNGSTo+SDI6IAk6cdzyW0Gje5N2+3LybI0Wq5KAbW6VLei31S4MWmg==" }, "apollo-server-express": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.1.0.tgz", - "integrity": "sha512-jLFIz1VLduMA/rme4OAy3IPeoaMEZOPoQXpio8AhfjIqCijRPPfoWJ2QMqz56C/g3vas7rZtgcVOrHpjBKudjw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.2.2.tgz", + "integrity": "sha512-DPxHOUd0Waztuix0r1ed6xfdlR7P7RzIXPmybhPXj1bZJtYHz5If0ngYNjtFqnXVrC8aSRtMz108SQUAnduYwA==", "requires": { "@apollographql/apollo-upload-server": "^5.0.3", - "@apollographql/graphql-playground-html": "^1.6.0", + "@apollographql/graphql-playground-html": "^1.6.4", "@types/accepts": "^1.3.5", "@types/body-parser": "1.17.0", "@types/cors": "^2.8.4", "@types/express": "4.16.0", "accepts": "^1.3.5", - "apollo-server-core": "^2.1.0", + "apollo-server-core": "2.2.2", "body-parser": "^1.18.3", "cors": "^2.8.4", - "graphql-subscriptions": "^0.5.8", - "graphql-tools": "^3.0.4", + "graphql-subscriptions": "^1.0.0", + "graphql-tools": "^4.0.0", "type-is": "^1.6.16" - }, - "dependencies": { - "apollo-cache-control": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.2.5.tgz", - "integrity": "sha512-xEDrUvo3U2mQKSzA8NzQmgeqK4ytwFnTGl2YKGKPfG0+r8fZdswKp6CDBue29KLO8KkSuqW/hntveWrAdK51FQ==", - "requires": { - "apollo-server-env": "^2.0.3", - "graphql-extensions": "^0.2.1" - } - }, - "apollo-server-core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.1.0.tgz", - "integrity": "sha512-D1Tw0o3NzCQ2KGM8EWh9AHELHmn/SE361dtlqJxkbelxXqAkCIGIFywF30h+0ezhMbgbO7eqBBJfvRilF/oJHA==", - "requires": { - "@apollographql/apollo-upload-server": "^5.0.3", - "@types/ws": "^5.1.2", - "apollo-cache-control": "^0.2.5", - "apollo-datasource": "^0.1.3", - "apollo-engine-reporting": "^0.0.6", - "apollo-server-caching": "^0.1.2", - "apollo-server-env": "^2.0.3", - "apollo-server-errors": "^2.0.2", - "apollo-tracing": "^0.2.5", - "graphql-extensions": "^0.2.1", - "graphql-subscriptions": "^0.5.8", - "graphql-tag": "^2.9.2", - "graphql-tools": "^3.0.4", - "hash.js": "^1.1.3", - "lodash": "^4.17.10", - "subscriptions-transport-ws": "^0.9.11", - "ws": "^5.2.0" - } - }, - "apollo-tracing": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.2.5.tgz", - "integrity": "sha512-DZO7pfL5LATHeJdVFoTZ/N3HwA+IMf1YnIt5K+uMQW+/MrRgYOtTszUv5tYX2cUIqHYHcbdDaBQUuIXwSpaV2Q==", - "requires": { - "apollo-server-env": "^2.0.3", - "graphql-extensions": "^0.2.1" - } - }, - "graphql-extensions": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.2.1.tgz", - "integrity": "sha512-/1FTPSWSffDjlRyMAV2UwQhojLmca9aQD0ieo1IYiqT5SE+uOWi4r83QF1CoER0sREIsH3s+nTmdH3cvQVG3MA==", - "requires": { - "apollo-server-env": "^2.0.3" - } - }, - "graphql-subscriptions": { - "version": "0.5.8", - "resolved": "http://registry.npmjs.org/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz", - "integrity": "sha512-0CaZnXKBw2pwnIbvmVckby5Ge5e2ecmjofhYCdyeACbCly2j3WXDP/pl+s+Dqd2GQFC7y99NB+53jrt55CKxYQ==", - "requires": { - "iterall": "^1.2.1" - } - }, - "graphql-tools": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-3.1.1.tgz", - "integrity": "sha512-yHvPkweUB0+Q/GWH5wIG60bpt8CTwBklCSzQdEHmRUgAdEQKxw+9B7zB3dG7wB3Ym7M7lfrS4Ej+jtDZfA2UXg==", - "requires": { - "apollo-link": "^1.2.2", - "apollo-utilities": "^1.0.1", - "deprecated-decorator": "^0.1.6", - "iterall": "^1.1.3", - "uuid": "^3.1.0" - } - } + } + }, + "apollo-server-plugin-base": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.1.2.tgz", + "integrity": "sha512-+uicMcNctlP6YwIhzLLEycZzao/810OSzcxgPYKItXr5lGa1GuHD7sRIWldT3YoSdpw6Gal2lBuw6/DmnoDsPg==" + }, + "apollo-tracing": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.3.2.tgz", + "integrity": "sha512-YwN1m1k0JJsxGh0QWsEM3OLnyem0GT2tZnGeO2OogCr6dH5lE0SjKPc6UzpcI/3fPyxRrx5QvpUiP+DJeehhTA==", + "requires": { + "apollo-server-env": "2.2.0", + "graphql-extensions": "0.3.2" } }, "apollo-utilities": { @@ -2106,9 +2034,9 @@ } }, "binary-extensions": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" }, "bl": { "version": "1.2.2", @@ -2118,44 +2046,12 @@ "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", "dev": true }, "body-parser": { @@ -2241,13 +2137,23 @@ } }, "browserslist": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.2.1.tgz", - "integrity": "sha512-1oO0c7Zhejwd+LXihS89WqtKionSbz298rJZKJgfrHIZhrV8AC15gw553VcB0lcEugja7IhWD7iAlrsamfYVPA==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", + "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", "requires": { - "caniuse-lite": "^1.0.30000890", - "electron-to-chromium": "^1.3.79", - "node-releases": "^1.0.0-alpha.14" + "caniuse-lite": "^1.0.30000899", + "electron-to-chromium": "^1.3.82", + "node-releases": "^1.0.1" + } + }, + "buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", + "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "buffer-alloc": { @@ -2289,9 +2195,9 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, "buffer-writer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz", - "integrity": "sha1-Iqk2kB4wKa/NdUfrRIfOtpejvwg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", "dev": true }, "builtin-modules": { @@ -2309,6 +2215,11 @@ "readable-stream": "1.1.x" }, "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, "readable-stream": { "version": "1.1.14", "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -2319,6 +2230,11 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -2377,9 +2293,9 @@ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "caniuse-lite": { - "version": "1.0.30000892", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz", - "integrity": "sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w==" + "version": "1.0.30000907", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz", + "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==" }, "capture-stack-trace": { "version": "1.0.1", @@ -2464,6 +2380,12 @@ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", "dev": true }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, "charm": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/charm/-/charm-1.0.2.tgz", @@ -2494,9 +2416,9 @@ } }, "ci-info": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.4.0.tgz", - "integrity": "sha512-Oqmw2pVfCl8sCL+1QgMywPfdxPJPkC51y4usw0iiE2S9qnEOAqXy8bwl1CpMpnoU39g4iKJTz6QZj+28FvOnjQ==" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" }, "class-utils": { "version": "0.3.6", @@ -2676,9 +2598,9 @@ } }, "command-exists": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.7.tgz", - "integrity": "sha512-doWDvhXCcW5LK0cIUWrOQ8oMFXJv3lEQCkJpGVjM8v9SV0uhqYXB943538tEA2CiaWqSyuYUGAm5ezDwEx9xlw==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==", "dev": true }, "commander": { @@ -2729,38 +2651,6 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "config-chain": { @@ -2850,9 +2740,9 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cors": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", - "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "requires": { "object-assign": "^4", "vary": "^1" @@ -2868,17 +2758,6 @@ "js-yaml": "^3.9.0", "parse-json": "^3.0.0", "require-from-string": "^2.0.1" - }, - "dependencies": { - "parse-json": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz", - "integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=", - "dev": true, - "requires": { - "error-ex": "^1.3.1" - } - } } }, "crc": { @@ -2888,18 +2767,6 @@ "dev": true, "requires": { "buffer": "^5.1.0" - }, - "dependencies": { - "buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - } } }, "crc32-stream": { @@ -2939,6 +2806,12 @@ "which": "^1.2.9" } }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", @@ -3221,6 +3094,11 @@ "streamsearch": "0.1.2" }, "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, "readable-stream": { "version": "1.1.14", "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -3231,6 +3109,11 @@ "isarray": "0.0.1", "string_decoder": "~0.10.x" } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, @@ -3239,6 +3122,27 @@ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + } + } + }, "directory-tree": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/directory-tree/-/directory-tree-2.1.0.tgz", @@ -3284,6 +3188,12 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz", "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=", "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true } } }, @@ -3394,9 +3304,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.79", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz", - "integrity": "sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw==" + "version": "1.3.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", + "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==" }, "enabled": { "version": "1.0.2", @@ -3475,9 +3385,9 @@ } }, "es6-promise": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", - "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", "dev": true }, "es6-promisify": { @@ -3534,6 +3444,11 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" }, + "events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", @@ -3593,63 +3508,6 @@ } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -3757,14 +3615,20 @@ } }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, "lru-cache": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", @@ -3775,12 +3639,6 @@ "yallist": "^2.1.2" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "path-to-regexp": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", @@ -3931,6 +3789,20 @@ "integrity": "sha1-9exCz0C5Rg9SGmOH37Ut7u1nHb0=", "dev": true }, + "fast-glob": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.4.tgz", + "integrity": "sha512-FjK2nCGI/McyzgNtTESqaWP3trPvHyRyoyY70hxjc3oKPNmDe8taohLZpoVKoUjW85tbU5txaYUZCNtVzygl1g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, "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", @@ -3942,9 +3814,9 @@ "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==" }, "fast-xml-parser": { - "version": "3.12.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.12.5.tgz", - "integrity": "sha512-g8TSGUF1a2vdFmQ29vKcYBNnwuJQQuyr6It3cjGsiD3dkUXqVWuXZQvjEkgrrCe5K8D30X125ACyxaj7XaaH8g==", + "version": "3.12.7", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.12.7.tgz", + "integrity": "sha512-8mOpwbqsclo9qwemEcNMqGwvbQrNFFWaYS0iOTp4gKeJ/YEvwSEhILrlf1MTp/pqGUpPR4CKgcf8ZA/dEBahag==", "requires": { "nimnjs": "^1.3.2" } @@ -3978,12 +3850,6 @@ "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", "dev": true }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "filename-reserved-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", @@ -4111,15 +3977,6 @@ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -4709,42 +4566,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -4764,6 +4585,12 @@ } } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, "global-dirs": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", @@ -4802,22 +4629,24 @@ "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==" }, "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", "dev": true, "requires": { "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", "dev": true } } @@ -4902,12 +4731,12 @@ }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "dotenv": { @@ -4926,12 +4755,6 @@ "jsonfile": "^4.0.0", "universalify": "^0.1.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, @@ -5000,9 +4823,9 @@ } }, "graphql-cli": { - "version": "2.16.7", - "resolved": "https://registry.npmjs.org/graphql-cli/-/graphql-cli-2.16.7.tgz", - "integrity": "sha512-I1kkJ9mqgctjOHDTo3bg7CLpZDeuLrOhKeNmohWhka2bWb0jf5T9IspHLDDTIEsOB56KEnvW2fUwRsTFHJK2HQ==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/graphql-cli/-/graphql-cli-2.17.0.tgz", + "integrity": "sha512-K82gG79pA3G8GzMeqFq5+kkdZi7K6UWlvmrWLuGaIvo8F1wdHAKDvfexjRGb5CPisqAJqQqbsGsfrg7If488kA==", "dev": true, "requires": { "adm-zip": "0.4.7", @@ -5016,11 +4839,10 @@ "express-request-proxy": "^2.0.0", "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0", "graphql-cli-prepare": "1.4.19", - "graphql-config": "2.0.1", - "graphql-config-extension-graphcool": "1.0.8", - "graphql-config-extension-openapi": "1.0.6", - "graphql-config-extension-prisma": "0.2.1", - "graphql-playground-middleware-express": "1.6.2", + "graphql-config": "2.2.1", + "graphql-config-extension-graphcool": "1.0.11", + "graphql-config-extension-prisma": "0.2.5", + "graphql-playground-middleware-express": "1.7.6", "graphql-schema-linter": "0.1.1", "inquirer": "5.1.0", "is-url-superb": "2.0.0", @@ -5036,13 +4858,14 @@ "request": "^2.83.0", "rimraf": "2.6.2", "source-map-support": "^0.5.3", + "tmp-graphql-config-extension-openapi": "^1.0.7", "update-notifier": "^2.3.0", "yargs": "11.0.0" }, "dependencies": { "adm-zip": { "version": "0.4.7", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", + "resolved": "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz", "integrity": "sha1-hgbCy/HEJs6MjsABdER/1Jtur8E=", "dev": true }, @@ -5065,61 +4888,6 @@ "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", "dev": true }, - "graphql-config": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", - "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", - "dev": true, - "requires": { - "graphql-import": "^0.4.4", - "graphql-request": "^1.5.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" - } - }, - "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.4" - } - }, - "graphql-playground-html": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.5.5.tgz", - "integrity": "sha512-PzSywpEKcjbDUkV6e3ivEixvAuUJGyYmBUvuittzySe/RgwHRo0xKLD7HouUCTbpFfWMw8kRKhAUVtt7Ys97uw==", - "dev": true, - "requires": { - "graphql-config": "2.0.0" - }, - "dependencies": { - "graphql-config": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.0.tgz", - "integrity": "sha512-//hZmROEk79zzPlH6SVTQeXd8NVV65rquz1zxZeO6oEuX5KNnii8+oznLu7d897EfJ+NShTZtsY9FMmxxkWmJw==", - "dev": true, - "requires": { - "graphql-import": "^0.4.0", - "graphql-request": "^1.4.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" - } - } - } - }, - "graphql-playground-middleware-express": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.6.2.tgz", - "integrity": "sha512-BHaEZe2J2lQ1TX2W73a6PI2zVjB9Nb0J9pFdbG1L7ugYdbait/elDrsNMxLCsDHVOGJF009VlYszrk7Cq7FiTg==", - "dev": true, - "requires": { - "graphql-playground-html": "1.5.5" - } - }, "yargs": { "version": "11.0.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", @@ -5194,126 +4962,34 @@ "js-yaml": "^3.10.0", "lodash": "^4.17.4", "minimatch": "^3.0.4" - }, - "dependencies": { - "graphql-import": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.7.1.tgz", - "integrity": "sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "resolve-from": "^4.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } } }, "graphql-config-extension-graphcool": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/graphql-config-extension-graphcool/-/graphql-config-extension-graphcool-1.0.8.tgz", - "integrity": "sha512-eMvL/RAo88EHo8SmP40Zcsrx7nrLTE82G4ZochsHYoEvP+QMo0XA+Vq9lxYeRTJEtGMFD4imjHXGHWh4B0srQw==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/graphql-config-extension-graphcool/-/graphql-config-extension-graphcool-1.0.11.tgz", + "integrity": "sha512-uNhyMqj30M4KLkD/gGEEr6cPuVX/jtm0C9O5Bj9V2jFhN5IdHXWJx+fC/p/xxh82iOuR8uibKNCXzwA7R6F6IA==", "dev": true, "requires": { "graphcool-yml": "0.4.15", - "graphql-config": "^2.0.1" - }, - "dependencies": { - "graphql-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.1.0.tgz", - "integrity": "sha512-LWpkME3x+KSFMVuMpRmDHTIZLyQQsBoKtMXJrT4RgXk6y0GRf0lsJ81R3S2FmT1CKZQOJfFsOpUfPpAcfmoN/A==", - "dev": true, - "requires": { - "graphql-import": "^0.4.4", - "graphql-request": "^1.5.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" - } - }, - "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.4" - } - } - } - }, - "graphql-config-extension-openapi": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/graphql-config-extension-openapi/-/graphql-config-extension-openapi-1.0.6.tgz", - "integrity": "sha512-Do6tHyQyxaPhaZdJ+ZCpYbVhczlqNqMVuO46aG/YkMuRQPoj/FRmeH9BFXniFkz60TZyRpLTQNel2sllMekRLQ==", - "dev": true, - "requires": { - "@kbrandwijk/swagger-to-graphql": "2.4.3", - "graphql-config": "2.0.1" - }, - "dependencies": { - "graphql-config": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.0.1.tgz", - "integrity": "sha512-eb4FzlODifHE/Q+91QptAmkGw39wL5ToinJ2556UUsGt2drPc4tzifL+HSnHSaxiIbH8EUhc/Fa6+neinF04qA==", - "dev": true, - "requires": { - "graphql-import": "^0.4.4", - "graphql-request": "^1.5.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" - } - }, - "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.4" - } - } + "graphql-config": "2.2.1" } }, "graphql-config-extension-prisma": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/graphql-config-extension-prisma/-/graphql-config-extension-prisma-0.2.1.tgz", - "integrity": "sha512-OIqa5hjX3bqHR5x2uPE5ssdaI6DEr/P/+utAaqdM6ZEAi8vgupye4AT5AOyDzwK5iDmbJAkShgwQlHiAm4Srvg==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/graphql-config-extension-prisma/-/graphql-config-extension-prisma-0.2.5.tgz", + "integrity": "sha512-7Qh3TzZS3hwZpJbTNfTHXBM6UbzV7DMik9Mc95Rz76yTAs7Wr83xBFsH4Ap1NWlqBgANfO3cLLI4YomDJmO5SA==", "dev": true, "requires": { - "graphql-config": "^2.0.1", - "prisma-yml": "1.0.93" - }, - "dependencies": { - "graphql-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.1.0.tgz", - "integrity": "sha512-LWpkME3x+KSFMVuMpRmDHTIZLyQQsBoKtMXJrT4RgXk6y0GRf0lsJ81R3S2FmT1CKZQOJfFsOpUfPpAcfmoN/A==", - "dev": true, - "requires": { - "graphql-import": "^0.4.4", - "graphql-request": "^1.5.0", - "js-yaml": "^3.10.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.4" - } - }, - "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.4" - } - } + "graphql-config": "2.2.1", + "prisma-yml": "1.20.0-beta.18" + } + }, + "graphql-extensions": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.3.2.tgz", + "integrity": "sha512-eIAWwtZNlUAHtHF6uNP6+4M+GCksqUYfNBxW5rTAlCB4/ZcuIvchVtN1CgVM7MooW3akPM1Eci11WyeXvgOugQ==", + "requires": { + "@apollographql/apollo-tools": "^0.2.6" } }, "graphql-import": { @@ -5326,11 +5002,11 @@ } }, "graphql-middleware": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/graphql-middleware/-/graphql-middleware-1.7.7.tgz", - "integrity": "sha512-Y4aXFMVLaGiZ19ukibZ4x/RejuUPhsJteijQFRlvmkGpF+XBHG/xozeDTWt0M1aJRjJWmwjna0nko6/o/DJQRQ==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/graphql-middleware/-/graphql-middleware-1.7.8.tgz", + "integrity": "sha512-FNl427I9fCZ9ZwuywPHPbpVJCgDiMS+7dbtaEZu7zJiMP8il2+2T0KRKCiXkfLDKefiGkZnl4qVIFbncCDaduA==", "requires": { - "graphql-tools": "^4.0.1" + "graphql-tools": "^4.0.2" } }, "graphql-playground-html": { @@ -5399,9 +5075,9 @@ "integrity": "sha512-9FD6cw976TLLf9WYIUPCaaTpniawIjHWZSwIRZSjrfufJamcXbVVYfN2TWvJYbw0Xf2JjYbl1/f2+wDnBVw3/w==" }, "graphql-tools": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.1.tgz", - "integrity": "sha512-yyUTS875FLt9RgTFZ8XbOvJE7iFkNdmUDhHNgAcJnCrS9dwmbfVYGEQ00u0UGyQF0zvuI7QzRh5TqbnO7ueLxw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-4.0.3.tgz", + "integrity": "sha512-NNZM0WSnVLX1zIMUxu7SjzLZ4prCp15N5L2T2ro02OVyydZ0fuCnZYRnx/yK9xjGWbZA0Q58yEO//Bv/psJWrg==", "requires": { "apollo-link": "^1.2.3", "apollo-utilities": "^1.0.1", @@ -5451,23 +5127,6 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -5517,15 +5176,6 @@ } } }, - "hash.js": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", - "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, "header-case": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", @@ -5624,19 +5274,13 @@ }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, @@ -5649,9 +5293,15 @@ } }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, "ignore-by-default": { @@ -5791,11 +5441,11 @@ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-ci": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.0.tgz", - "integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", "requires": { - "ci-info": "^1.3.0" + "ci-info": "^1.5.0" } }, "is-data-descriptor": { @@ -5844,21 +5494,6 @@ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", "dev": true }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -5961,18 +5596,6 @@ "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -6042,9 +5665,9 @@ "dev": true }, "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -6160,19 +5783,13 @@ }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true } } }, @@ -6185,7 +5802,6 @@ "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=", - "dev": true, "requires": { "jsonify": "~0.0.0" } @@ -6212,8 +5828,7 @@ "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, "jsonwebtoken": { "version": "8.3.0", @@ -6303,9 +5918,9 @@ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, "klaw-sync": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-3.0.2.tgz", - "integrity": "sha512-32bw9y2nKrnpX2LsJnDTBO2TSdOKPbXfQAWl7Lupcc3D0iKkzI/sQDEw1GjkOuTqZEhe+bVxKSlhSRLxyeytcw==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", "dev": true, "requires": { "graceful-fs": "^4.1.11" @@ -6361,6 +5976,15 @@ "strip-bom": "^3.0.0" }, "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", @@ -6643,12 +6267,6 @@ "very-fast-args": "^1.1.0" } }, - "lsmod": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", - "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=", - "dev": true - }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", @@ -6690,71 +6308,61 @@ } }, "marked": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz", - "integrity": "sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.1.tgz", + "integrity": "sha512-iUkBZegCZou4AdwbKTwSW/lNDcz5OuRSl3qdcl31Ia0B2QPG0Jn+tKblh/9/eP9/6+4h27vpoh8wel/vQOV0vw==", "dev": true }, "marked-terminal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-2.0.0.tgz", - "integrity": "sha1-Xq9Wi+ZvaGVBr6UqVYKAMQox3i0=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.1.1.tgz", + "integrity": "sha512-7UBFww1rdx0w9HehLMCVYa8/AxXaiDigDfMsJcj82/wgLQG9cj+oiMAVlJpeWD57VFJY2OYY+bKeEVIjIlxi+w==", "dev": true, "requires": { - "cardinal": "^1.0.0", - "chalk": "^1.1.3", + "cardinal": "^2.1.1", + "chalk": "^2.4.1", "cli-table": "^0.3.1", "lodash.assign": "^4.2.0", "node-emoji": "^1.4.1" }, "dependencies": { - "ansi-regex": { + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "dev": true + }, + "cardinal": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "esprima": "~4.0.0" } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true } } }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "dev": true, + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } }, "media-typer": { "version": "0.3.0", @@ -6770,9 +6378,9 @@ } }, "memfs": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-2.10.1.tgz", - "integrity": "sha512-CXfNuf6TeF4ByYJ/cAxVcR2y58Q511soYd6JhXAJVPYp+9kIbkJZ+FZUw8fQCcNn5+XUNJ38CdjX0gpeUt5ITA==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-2.14.0.tgz", + "integrity": "sha512-L82/SaR9ITST9N6LnU0z69M/hZiypGFS162p/SxoDCh25EYg5wRi9qoxrh/8aaJ5HmfkxjtraL2Zx1St/UQL6A==", "dev": true, "requires": { "fast-extend": "0.0.2", @@ -6790,6 +6398,12 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "dev": true + }, "mersenne-twister": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mersenne-twister/-/mersenne-twister-1.1.0.tgz", @@ -6849,11 +6463,6 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -6912,9 +6521,9 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "ms-rest-js": { - "version": "0.21.413", - "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-0.21.413.tgz", - "integrity": "sha512-eX+M98Y9s+zo85Unt83TYkpuJkW4d0wuiHrpWjAxx/7YzZd3uVq8HRhJHXGDqCd22nlEvtwlchfgwILmBcWnOg==", + "version": "0.22.425", + "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-0.22.425.tgz", + "integrity": "sha512-PM9l0Si+T3kFxce8hwB/LlCxPJSHwSlFUSpjdJHzPvF+2w8lw7huE/FCPnRfdaUm7IikQESkJhydnbqX6g2OuQ==", "requires": { "@types/express": "^4.11.1", "@types/form-data": "^2.2.1", @@ -6929,9 +6538,9 @@ }, "dependencies": { "@types/node": { - "version": "9.6.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.31.tgz", - "integrity": "sha512-kIVlvUBizL51ALNMPbmcZoM7quHyB7J6fLRwQe22JsMp39nrVSHdBeVVS3fnQCK1orxI3O8LScmb8cuiihkAfA==" + "version": "9.6.37", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.37.tgz", + "integrity": "sha512-OaS6cqsBTqwvixmfJ9ju9ZxUK8s+3PVakNbCs4huxF17PCps/TdgG0fjv36MgVLfAzGCecDgtZdgS3FiuAU15w==" } } }, @@ -6954,9 +6563,9 @@ "dev": true }, "nan": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", - "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz", + "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", "optional": true }, "nanomatch": { @@ -7042,25 +6651,25 @@ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" }, "node-releases": { - "version": "1.0.0-alpha.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.14.tgz", - "integrity": "sha512-G8nnF9cP9QPP/jUmYWw/uUUhumHmkm+X/EarCugYFjYm2uXRMFeOD6CVT3RLdoyCvDUNy51nirGfUItKWs/S1g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.3.tgz", + "integrity": "sha512-ZaZWMsbuDcetpHmYeKWPO6e63pSXLb50M7lJgCbcM2nC/nQC3daNifmtp5a2kp7EWwYfhuvH6zLPWkrF8IiDdw==", "requires": { "semver": "^5.3.0" } }, "node-request-by-swagger": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/node-request-by-swagger/-/node-request-by-swagger-1.1.3.tgz", - "integrity": "sha512-granjsEA0c+1GnJaKnOjJy1E3wWLADUnAg+x1eopWOo+oMDfRYKJjCBaInUgrli/yEnvUAJoymGhExP/6tcOyQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/node-request-by-swagger/-/node-request-by-swagger-1.1.4.tgz", + "integrity": "sha512-hwaTaFPUwNKns5qXwGJpLQM3Z5zRluYeAxpYy1L8fWmWdT/DjLmsnW8/oGlSN8Vo4R28c2znfUoBUiB/RlPptw==", "dev": true }, "nodemon": { - "version": "1.18.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.4.tgz", - "integrity": "sha512-hyK6vl65IPnky/ee+D3IWvVGgJa/m3No2/Xc/3wanS6Ce1MWjCzH6NnhPJ/vZM+6JFym16jtHx51lmCMB9HDtg==", + "version": "1.18.6", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.6.tgz", + "integrity": "sha512-4pHQNYEZun+IkIC2jCaXEhkZnfA7rQe73i8RkdRyDJls/K+WxR7IpI5uNUsAvQ0zWvYcCDNGD+XVtw2ZG86/uQ==", "requires": { - "chokidar": "^2.0.2", + "chokidar": "^2.0.4", "debug": "^3.1.0", "ignore-by-default": "^1.0.1", "minimatch": "^3.0.4", @@ -7321,16 +6930,6 @@ "es-abstract": "^1.5.1" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -7370,9 +6969,9 @@ } }, "ono": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.7.tgz", - "integrity": "sha512-FJiGEETwfSVyOwVTwQZD7XN69FRekvgtlobtvPwtilc7PxIHg3gKUykdNP7E9mC/VTF2cxqKZxUZfNKA3MuQLA==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.10.tgz", + "integrity": "sha512-4Xz4hlbq7MzV0I3vKfZwRvyj8tCbXODqBNzFqtkjP+KTV93zzDRju8kw1qnf6P5kcZ2+xlIq6wSCqA+euSKxhA==", "dev": true, "requires": { "format-util": "^1.0.3" @@ -7385,9 +6984,9 @@ "dev": true }, "opn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", "dev": true, "requires": { "is-wsl": "^1.1.0" @@ -7513,42 +7112,13 @@ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", "dev": true }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz", + "integrity": "sha1-+m9HsY4jgm6tMvJj50TQ4ehH+xM=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1" } }, "parse-passwd": { @@ -7663,12 +7233,12 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pg": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-7.5.0.tgz", - "integrity": "sha512-VFyAnp8xsMZp8nwZnMp7lmU5QcWDOZSI3IDNcWv6pblsiOXis5o7lD7/zzVK1Z1JTBiIDDGQAMbFMkiUzCL59A==", + "version": "7.6.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-7.6.1.tgz", + "integrity": "sha512-rAItIkYrRaNGinZN/Hs8F9R5mQjQSPlnzxPF+eCimSl92qnuNGR42gkpOQKP1bnvTwkSjRTBL+VNC5EcFhtCuQ==", "dev": true, "requires": { - "buffer-writer": "1.0.1", + "buffer-writer": "2.0.0", "packet-reader": "0.3.1", "pg-connection-string": "0.1.3", "pg-pool": "~2.0.3", @@ -7692,9 +7262,9 @@ "dev": true }, "pg-pool": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.3.tgz", - "integrity": "sha1-wCIDLIlJ8xKk+R+2QJzgQHa+Mlc=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.4.tgz", + "integrity": "sha512-Mi2AsmlFkVMpI28NreaDkz5DkfxLOG16C/HNwi091LDlOiDiQACtAroLxSd1vIS2imBqxdjjO9cQZg2CwsOPbw==", "dev": true }, "pg-types": { @@ -7788,9 +7358,9 @@ } }, "portfinder": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.17.tgz", - "integrity": "sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", + "integrity": "sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw==", "dev": true, "requires": { "async": "^1.5.2", @@ -7852,32 +7422,37 @@ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, "prettier": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.3.tgz", - "integrity": "sha512-qZDVnCrnpsRJJq5nSsiHCE3BYMED2OtsI+cmzIzF1QIfqm5ALf8tEJcO27zV1gKNKRPdhjO0dNWnrzssDQ1tFg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.2.tgz", + "integrity": "sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug==", "dev": true }, "prisma": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-1.18.1.tgz", - "integrity": "sha512-B9yeKpKcEc2HLejHEDhk0EGRGrXzhTg8Tk7gx2tCr8ZSxmPdFg4rZHvposkxXS7nni/E7xyGX2dQ5fr4Q3ZM2A==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-1.20.1.tgz", + "integrity": "sha512-NKh98jtIMuujUA9rm76PIzjuxNx5FJhXo/hKlXvmjd84gKAWifxAmF/CX7Dd3SA12LhY8VuLvp65sq0/TeWZzg==", "dev": true, "requires": { - "fs-extra": "^5.0.0", - "prisma-cli-core": "1.18.1", - "prisma-cli-engine": "1.18.1", + "fs-extra": "^7.0.0", + "prisma-cli-core": "1.20.1", + "prisma-cli-engine": "1.20.1", "require-onct": "^0.0.2", "semver": "^5.4.1", "source-map-support": "^0.4.18" }, "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -7992,31 +7567,30 @@ } }, "prisma-cli-core": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-cli-core/-/prisma-cli-core-1.18.1.tgz", - "integrity": "sha512-riU6a5Y9gcfPHqsHUTd1dGm5wOtTjas+q34yWk633Eae7OZ4eUuycv2T2P8caniMWc0OgxTB4HeGZZlhoLSA6A==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-cli-core/-/prisma-cli-core-1.20.1.tgz", + "integrity": "sha512-qGtAMcBO7L89eNxwR7exim8rL1SWLhDLPmxIKm+GxRfzAIVWwgMJCJbL/ooVH8bNRPW1LHjj37xbDPy/DwSiuw==", "dev": true, "requires": { "adm-zip": "^0.4.7", "archiver": "^2.0.3", "callsites": "^2.0.0", "chalk": "^2.3.0", - "chokidar": "^1.7.0", "copy-paste": "^1.3.0", "cross-spawn": "^5.1.0", "download-github-repo": "^0.1.3", "express": "^4.16.3", "express-request-proxy": "^2.0.0", "figures": "^2.0.0", - "find-up": "^2.1.0", - "fs-extra": "^5.0.0", - "globby": "^6.1.0", + "find-up": "^3.0.0", + "fs-extra": "^7.0.0", + "globby": "^8.0.1", "graphcool-inquirer": "^1.0.3", - "graphql": "0.13", + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0", "graphql-config": "^2.2.0", "graphql-config-extension-prisma": "^0.2.3", "graphql-playground-middleware-express": "^1.6.2", - "inquirer": "^5.2.0", + "inquirer": "^6.2.0", "isomorphic-fetch": "^2.2.1", "js-yaml": "^3.9.1", "jwt-decode": "^2.2.0", @@ -8024,15 +7598,15 @@ "lodash.differenceby": "^4.8.0", "multimatch": "^2.1.0", "node-forge": "^0.7.1", - "npm-run": "4.1.2", + "npm-run": "5.0.1", "opn": "^5.1.0", "pause": "^0.1.0", "portfinder": "^1.0.13", - "prisma-client-lib": "1.18.1", - "prisma-db-introspection": "1.18.1", - "prisma-generate-schema": "1.18.1", - "prisma-json-schema": "0.1.2", - "prisma-yml": "1.18.1", + "prisma-client-lib": "1.20.1", + "prisma-db-introspection": "1.20.1", + "prisma-generate-schema": "1.20.1", + "prisma-json-schema": "0.1.3", + "prisma-yml": "1.20.1", "scuid": "^1.0.2", "semver": "^5.4.1", "sillyname": "^0.1.0", @@ -8042,59 +7616,12 @@ "validator": "^8.2.0" }, "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -8110,153 +7637,117 @@ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", "dev": true }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" } }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "locate-path": "^3.0.0" } }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "requires": { - "is-glob": "^2.0.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, - "graphql-config-extension-prisma": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/graphql-config-extension-prisma/-/graphql-config-extension-prisma-0.2.4.tgz", - "integrity": "sha512-mOpzL0zWfjsHxCj2AQqL+Id0L4FDwt0fs0xEaKK6H64n6KT4J/lVutPmf/hmPRTLuJP1y9AJPCkXNWWygUU2nw==", + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "requires": { - "graphql-config": "2.2.1", - "prisma-yml": "1.0.97" - }, - "dependencies": { - "prisma-json-schema": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.0.4.tgz", - "integrity": "sha512-NTbourUhkmhM18rrcnp+IdxTdWftUsepZcNX2QntOqkOOwccYADmmZJpTr9tuvCYsW3i48B8LVEwvm0v1pAhxQ==", - "dev": true - }, - "prisma-yml": { - "version": "1.0.97", - "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.0.97.tgz", - "integrity": "sha512-0s9azAxrr6oeELUAoGvhyvv9+dWEmNJttKHPa4n7Z3EohhFnbgT2tpT338ez+hygevYl9E9FF8qwhdKwUrLi4w==", - "dev": true, - "requires": { - "ajv": "5", - "bluebird": "^3.5.1", - "chalk": "^2.3.0", - "debug": "^3.1.0", - "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", - "graphql-request": "^1.5.0", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1", - "isomorphic-fetch": "^2.2.1", - "js-yaml": "^3.10.0", - "json-stable-stringify": "^1.0.1", - "jsonwebtoken": "^8.1.0", - "lodash": "^4.17.4", - "prisma-json-schema": "0.0.4", - "replaceall": "^0.1.6", - "scuid": "^1.0.2", - "yaml-ast-parser": "^0.0.40" - } - } + "safer-buffer": ">= 2.1.2 < 3" } }, "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", - "external-editor": "^2.1.0", + "external-editor": "^3.0.0", "figures": "^2.0.0", - "lodash": "^4.3.0", + "lodash": "^4.17.10", "mute-stream": "0.0.7", "run-async": "^2.2.0", - "rxjs": "^5.5.2", + "rxjs": "^6.1.0", "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" } }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "npm-run": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npm-run/-/npm-run-5.0.1.tgz", + "integrity": "sha512-s7FyRpHUgaJfzkRgOnevX8rAWWsv1dofY1XS7hliWCF6LSQh+HtDfBvpigPS1krLvXw+Fi17CYMY8mUtblnyWw==", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "minimist": "^1.2.0", + "npm-path": "^2.0.4", + "npm-which": "^3.0.1", + "serializerr": "^1.0.3" } }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "p-try": "^2.0.0" } }, - "prisma-json-schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.2.tgz", - "integrity": "sha512-wC93q981V9anzXffPEhquqPoQcgkvFm9Q1NgsGddQ3L+V5YU6K3G0ZWevgcRVCXbRCle6HRODptuEjR14z4fTw==", + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true }, "prisma-yml": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.18.1.tgz", - "integrity": "sha512-kJZE0nAEYUHzd0TTFHgnybCm07ckXHjP+9Wk66koTkx4NFvv7xqPc1ACvkYI9Zd9ZHb1OdmYXFAUNws1b0xU2w==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.20.1.tgz", + "integrity": "sha512-D0UGIKb8G6/DeD75x7SDpqISKDsoTmddzVKRNNTo5gvR0NIrMHmoMI8/c8VTp+4/WCg8+uO8gaQRLUhrUT7ymw==", "dev": true, "requires": { "ajv": "5", @@ -8264,7 +7755,7 @@ "chalk": "^2.3.0", "debug": "^3.1.0", "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", @@ -8273,12 +7764,21 @@ "json-stable-stringify": "^1.0.1", "jsonwebtoken": "^8.1.0", "lodash": "^4.17.4", - "prisma-json-schema": "0.1.2", + "prisma-json-schema": "0.1.3", "replaceall": "^0.1.6", "scuid": "^1.0.2", "yaml-ast-parser": "^0.0.40" } }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -8303,9 +7803,9 @@ } }, "prisma-cli-engine": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-cli-engine/-/prisma-cli-engine-1.18.1.tgz", - "integrity": "sha512-JM7HDCZkMvfc7ZxMdYJ2N9llu54uu7Wz0YCLVbkWZ9eJzq+VOg4/xF5Z/6EMPgADzXCGdXS6n/2/1y718nNDiQ==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-cli-engine/-/prisma-cli-engine-1.20.1.tgz", + "integrity": "sha512-SI7d3pNZ/oli+wYyJp+6D+Wq774b7lnqSvm3FVyy8lQYSRC0jsqNPhQKcPo/LYkGzb14LUK/HuHzLcbwgEQ5vA==", "dev": true, "requires": { "@heroku/linewrap": "^1.0.0", @@ -8322,13 +7822,13 @@ "directory-tree": "^2.0.0", "dotenv": "^4.0.0", "figures": "^2.0.0", - "find-up": "^2.1.0", - "fs-extra": "^5.0.0", + "find-up": "^3.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", - "inquirer": "^5.2.0", + "inquirer": "^6.2.0", "isomorphic-fetch": "^2.2.1", "jsonwebtoken": "^8.1.0", - "klaw-sync": "^3.0.0", + "klaw-sync": "^6.0.0", "lodash": "^4.17.4", "lodash.ary": "^4.1.1", "lodash.defaults": "^4.2.0", @@ -8343,17 +7843,17 @@ "lodash.property": "^4.4.2", "lodash.result": "^4.5.2", "lodash.uniqby": "^4.7.0", - "marked": "^0.3.6", - "marked-terminal": "^2.0.0", + "marked": "^0.5.1", + "marked-terminal": "^3.1.1", "memfs": "^2.5.3", "opn": "^5.1.0", - "prisma-json-schema": "0.1.2", - "prisma-yml": "1.18.1", - "raven": "2.3.0", + "prisma-json-schema": "0.1.3", + "prisma-yml": "1.20.1", + "raven": "2.6.4", "replaceall": "^0.1.6", "rwlockfile": "^1.4.8", "scuid": "^1.0.2", - "serialize-error": "^2.1.0", + "serialize-error": "^3.0.0", "source-map-support": "^0.4.18", "string": "3.x", "string-similarity": "^1.2.0", @@ -8364,6 +7864,12 @@ "validator": "^8.2.0" }, "dependencies": { + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, "debug": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", @@ -8379,43 +7885,111 @@ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", "dev": true }, + "external-editor": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", + "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, "inquirer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", - "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", + "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", "chalk": "^2.0.0", "cli-cursor": "^2.1.0", "cli-width": "^2.0.0", - "external-editor": "^2.1.0", + "external-editor": "^3.0.0", "figures": "^2.0.0", - "lodash": "^4.3.0", + "lodash": "^4.17.10", "mute-stream": "0.0.7", "run-async": "^2.2.0", - "rxjs": "^5.5.2", + "rxjs": "^6.1.0", "string-width": "^2.1.0", "strip-ansi": "^4.0.0", "through": "^2.3.6" } }, - "prisma-json-schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.2.tgz", - "integrity": "sha512-wC93q981V9anzXffPEhquqPoQcgkvFm9Q1NgsGddQ3L+V5YU6K3G0ZWevgcRVCXbRCle6HRODptuEjR14z4fTw==", + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", "dev": true }, "prisma-yml": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.18.1.tgz", - "integrity": "sha512-kJZE0nAEYUHzd0TTFHgnybCm07ckXHjP+9Wk66koTkx4NFvv7xqPc1ACvkYI9Zd9ZHb1OdmYXFAUNws1b0xU2w==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.20.1.tgz", + "integrity": "sha512-D0UGIKb8G6/DeD75x7SDpqISKDsoTmddzVKRNNTo5gvR0NIrMHmoMI8/c8VTp+4/WCg8+uO8gaQRLUhrUT7ymw==", "dev": true, "requires": { "ajv": "5", @@ -8423,7 +7997,7 @@ "chalk": "^2.3.0", "debug": "^3.1.0", "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", @@ -8432,12 +8006,21 @@ "json-stable-stringify": "^1.0.1", "jsonwebtoken": "^8.1.0", "lodash": "^4.17.4", - "prisma-json-schema": "0.1.2", + "prisma-json-schema": "0.1.3", "replaceall": "^0.1.6", "scuid": "^1.0.2", "yaml-ast-parser": "^0.0.40" } }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -8471,39 +8054,73 @@ } }, "prisma-client-lib": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-client-lib/-/prisma-client-lib-1.18.1.tgz", - "integrity": "sha512-eSPMk17p0zvG13aIOarcmE8YwWLIlygjDdperwSBOH8H1gh2sgBfLHGOM3r7H+lIvpqbN4ipHriA2n+sT6sL5w==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-client-lib/-/prisma-client-lib-1.20.1.tgz", + "integrity": "sha512-ZLkQUasaL1Y7s5wUcs0a8rpyGgV/oHoxmz9H05R38I7vBVGAGqAxWIfX0Hb/OhRUOn6orZ9bCdZnHeiryPhrGg==", "dev": true, "requires": { - "@types/node": "^10.9.4", - "debug": "^4.0.1", - "graphql-tag": "^2.9.2", - "http-link-dataloader": "^0.1.4", + "@types/node": "^10.12.0", + "@types/prettier": "^1.13.2", + "debug": "^4.1.0", + "graphql-tag": "^2.10.0", + "http-link-dataloader": "^0.1.6", "jsonwebtoken": "^8.3.0", "lodash.flatten": "^4.4.0", - "prettier": "^1.14.2", - "subscriptions-transport-ws": "^0.9.14", + "prettier": "^1.14.3", + "subscriptions-transport-ws": "^0.9.15", "uppercamelcase": "^3.0.0", - "ws": "^6.0.0", - "zen-observable": "^0.8.9" + "ws": "^6.1.0", + "zen-observable": "^0.8.10" }, "dependencies": { - "ws": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", - "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", + "@types/node": { + "version": "10.12.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.6.tgz", + "integrity": "sha512-+ZWB5Ec1iki99xQFzBlivlKxSZQ+fuUKBott8StBOnLN4dWbRHlgdg1XknpW6g0tweniN5DcOqA64CJyOUPSAw==", + "dev": true + }, + "apollo-link": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.3.tgz", + "integrity": "sha512-iL9yS2OfxYhigme5bpTbmRyC+Htt6tyo2fRMHT3K1XRL/C5IQDDz37OjpPy4ndx7WInSvfSZaaOTKFja9VWqSw==", "dev": true, "requires": { - "async-limiter": "~1.0.0" + "apollo-utilities": "^1.0.0", + "zen-observable-ts": "^0.8.10" + } + }, + "http-link-dataloader": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/http-link-dataloader/-/http-link-dataloader-0.1.6.tgz", + "integrity": "sha512-r9B/n+SR32k++Z3MIAumI+Kv6ucL3+3ZfqcvGECWVkUc2BmfUWKu6gkPH7+uR1UKyUUJyuZENOLS/RDXVyXVTA==", + "dev": true, + "requires": { + "apollo-link": "^1.2.3", + "cross-fetch": "2.2.2", + "dataloader": "^1.4.0" + } + }, + "zen-observable": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.11.tgz", + "integrity": "sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ==", + "dev": true + }, + "zen-observable-ts": { + "version": "0.8.10", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.10.tgz", + "integrity": "sha512-5vqMtRggU/2GhePC9OU4sYEWOdvmayp2k3gjPf4F0mXwB3CSbbNznfDUvDJx9O2ZTa1EIXdJhPchQveFKwNXPQ==", + "dev": true, + "requires": { + "zen-observable": "^0.8.0" } } } }, "prisma-db-introspection": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-db-introspection/-/prisma-db-introspection-1.18.1.tgz", - "integrity": "sha512-4ZvhhXy9rGRtJfbtNupBR/z50WiZ2PYgYWV/p1Dlist4LbzhmQDE4CKYVGDBOt/AxgNC/3jGOKpacnZmtIS8Cw==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-db-introspection/-/prisma-db-introspection-1.20.1.tgz", + "integrity": "sha512-q2Tzw69IxZxbrW+TfW4BAZBGQKKr0PRoT4dxyL69lz6FJfPEMZFUpYIkbU0P4afXa0yGUSFKIR/j182LR+yGgg==", "dev": true, "requires": { "ajv": "5", @@ -8511,7 +8128,7 @@ "chalk": "^2.3.0", "debug": "^3.1.0", "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", "isomorphic-fetch": "^2.2.1", "js-yaml": "^3.10.0", @@ -8520,8 +8137,8 @@ "lodash": "^4.17.4", "pg": "^7.4.1", "pluralize": "^7.0.0", - "prisma-json-schema": "0.1.2", - "prisma-yml": "1.18.1", + "prisma-json-schema": "0.1.3", + "prisma-yml": "1.20.1", "replaceall": "^0.1.6", "scuid": "^1.0.2", "uppercamelcase": "^3.0.0", @@ -8543,16 +8160,21 @@ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", "dev": true }, - "prisma-json-schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.2.tgz", - "integrity": "sha512-wC93q981V9anzXffPEhquqPoQcgkvFm9Q1NgsGddQ3L+V5YU6K3G0ZWevgcRVCXbRCle6HRODptuEjR14z4fTw==", - "dev": true + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } }, "prisma-yml": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.18.1.tgz", - "integrity": "sha512-kJZE0nAEYUHzd0TTFHgnybCm07ckXHjP+9Wk66koTkx4NFvv7xqPc1ACvkYI9Zd9ZHb1OdmYXFAUNws1b0xU2w==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.20.1.tgz", + "integrity": "sha512-D0UGIKb8G6/DeD75x7SDpqISKDsoTmddzVKRNNTo5gvR0NIrMHmoMI8/c8VTp+4/WCg8+uO8gaQRLUhrUT7ymw==", "dev": true, "requires": { "ajv": "5", @@ -8560,7 +8182,7 @@ "chalk": "^2.3.0", "debug": "^3.1.0", "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", @@ -8569,7 +8191,7 @@ "json-stable-stringify": "^1.0.1", "jsonwebtoken": "^8.1.0", "lodash": "^4.17.4", - "prisma-json-schema": "0.1.2", + "prisma-json-schema": "0.1.3", "replaceall": "^0.1.6", "scuid": "^1.0.2", "yaml-ast-parser": "^0.0.40" @@ -8578,15 +8200,14 @@ } }, "prisma-generate-schema": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/prisma-generate-schema/-/prisma-generate-schema-1.18.1.tgz", - "integrity": "sha512-vRwzgAeh10PP64Em0FJowa0yROma/10kNvHN+X/wk3gGz1mTGWWLbkQI/jQxKfgVtG1hcv6W5d2asQsTFYt8xA==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prisma-generate-schema/-/prisma-generate-schema-1.20.1.tgz", + "integrity": "sha512-Q1KPcFN+76imrGapKKsHLZt7wyPL3/VfD6bsTfIbkl43WDmmrDZgMWmoF6VzjLm0GetkrlWhFeuIg2PKv8rHHQ==", "dev": true, "requires": { - "@types/jest": "^23.3.1", "graphql": "^14.0.2", "pluralize": "^7.0.0", - "popsicle": "^10.0.1", + "popsicle": "10", "tslint-config-prettier": "^1.15.0", "tslint-eslint-rules": "^5.4.0" }, @@ -8603,15 +8224,15 @@ } }, "prisma-json-schema": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.1.tgz", - "integrity": "sha512-epi2cDTQu/xk//H79dqRIzqk9ZEEqgcvHR7M/UhG/9UcSYY3OP/tJKDj5AYk86Xt2p5muDp3+y8ZGVNGZVQgNw==", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/prisma-json-schema/-/prisma-json-schema-0.1.3.tgz", + "integrity": "sha512-XZrf2080oR81mY8/OC8al68HiwBm0nXlFE727JIia0ZbNqwuV4MyRYk6E0+OIa6/9KEYxZrcAmoBs3EW1cCvnA==", "dev": true }, "prisma-yml": { - "version": "1.0.93", - "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.0.93.tgz", - "integrity": "sha512-np7VXqA4t+qhmn2GXGIOL19IMWSyrI1T8uJH8Lrla9uslvSxch6bzarYcQgKsc+sTL/g1zbvNgRl19cr/CUuNQ==", + "version": "1.20.0-beta.18", + "resolved": "https://registry.npmjs.org/prisma-yml/-/prisma-yml-1.20.0-beta.18.tgz", + "integrity": "sha512-wI/lOQrD78de2+ZNzJlbEYcYiUANtpdyT0VzAS+YbF5+1/O+shOnpwYsBtjrVL5Er0RwMkwH7j+oZQM61ENBMQ==", "dev": true, "requires": { "ajv": "5", @@ -8619,7 +8240,7 @@ "chalk": "^2.3.0", "debug": "^3.1.0", "dotenv": "^4.0.0", - "fs-extra": "^5.0.0", + "fs-extra": "^7.0.0", "graphql-request": "^1.5.0", "http-proxy-agent": "^2.1.0", "https-proxy-agent": "^2.2.1", @@ -8628,19 +8249,19 @@ "json-stable-stringify": "^1.0.1", "jsonwebtoken": "^8.1.0", "lodash": "^4.17.4", - "prisma-json-schema": "0.1.1", + "prisma-json-schema": "0.1.3", "replaceall": "^0.1.6", "scuid": "^1.0.2", "yaml-ast-parser": "^0.0.40" }, "dependencies": { "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "dev": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "dotenv": { @@ -8649,11 +8270,16 @@ "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", "dev": true }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } } } }, @@ -8740,52 +8366,39 @@ "ps-tree": "^1.1.0" } }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, - "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, "raven": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/raven/-/raven-2.3.0.tgz", - "integrity": "sha1-lvFTRr2qQzs7bUcTCARQYVWDPWk=", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/raven/-/raven-2.6.4.tgz", + "integrity": "sha512-6PQdfC4+DQSFncowthLf+B6Hr0JpPsFBgTVYTAOq7tCmx/kR4SXbeawtPch20+3QfUcQDoJBLjWW1ybvZ4kXTw==", "dev": true, "requires": { "cookie": "0.3.1", - "lsmod": "1.0.0", - "stack-trace": "0.0.9", + "md5": "^2.2.1", + "stack-trace": "0.0.10", "timed-out": "4.0.1", - "uuid": "3.0.0" + "uuid": "3.3.2" }, "dependencies": { - "uuid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", - "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", "dev": true } } @@ -8834,71 +8447,27 @@ } }, "readable-stream": { - "version": "2.0.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", - "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", - "dev": true, + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "inherits": "~2.0.3", "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "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 - } } }, "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" } }, "redeyed": { @@ -8944,15 +8513,6 @@ "private": "^0.1.6" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -9253,9 +8813,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "scuid": { "version": "1.1.0", @@ -9347,9 +8907,9 @@ } }, "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-3.0.0.tgz", + "integrity": "sha512-+y3nkkG/go1Vdw+2f/+XUXM1DXX1XcxTl99FfiD/OEPUNw4uo0i6FKABfTAN5ZcgGtjTRZcEbxcE/jtXbEY19A==", "dev": true }, "serializerr": { @@ -9377,11 +8937,6 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -9813,9 +9368,12 @@ } }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } }, "strip-ansi": { "version": "4.0.0", @@ -9869,6 +9427,16 @@ "iterall": "^1.2.1", "symbol-observable": "^1.0.4", "ws": "^5.2.0" + }, + "dependencies": { + "ws": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "requires": { + "async-limiter": "~1.0.0" + } + } } }, "supports-color": { @@ -9915,9 +9483,9 @@ }, "dependencies": { "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "dev": true, "requires": { "fast-deep-equal": "^2.0.1", @@ -9953,38 +9521,6 @@ "readable-stream": "^2.3.0", "to-buffer": "^1.1.1", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "term-size": { @@ -10006,45 +9542,13 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "requires": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "timed-out": { @@ -10071,6 +9575,16 @@ "os-tmpdir": "~1.0.2" } }, + "tmp-graphql-config-extension-openapi": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tmp-graphql-config-extension-openapi/-/tmp-graphql-config-extension-openapi-1.0.7.tgz", + "integrity": "sha512-NQPUaywaVC2hzWkBBsTX3sV2XfxU0mc409rJyrA7iCu5DSTjMLUqI+U4KJVSy/Ltp0zgbWMWua471R7zMql9Pw==", + "dev": true, + "requires": { + "@kbrandwijk/swagger-to-graphql": "2.4.3", + "graphql-config": "2.2.1" + } + }, "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", @@ -10196,9 +9710,9 @@ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint-config-prettier": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.15.0.tgz", - "integrity": "sha512-06CgrHJxJmNYVgsmeMoa1KXzQRoOdvfkqnJth6XUkNeOz707qxN0WfxfhYwhL5kXHHbYJRby2bqAPKwThlZPhw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.16.0.tgz", + "integrity": "sha512-zu6RAcpBtqdvhT6KpBh9kRPYATjOf9BnRi718kNqVKFjEgSE4rFrPprFju1YJrkOa3RbtbWI1ZSuLd2NBX1MDw==", "dev": true }, "tslint-eslint-rules": { @@ -10221,9 +9735,9 @@ } }, "tsutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.1.0.tgz", - "integrity": "sha512-rmGhespW+nZMtdkc4JJefYSjux2uCDZxCTLU+nu8gvm+gM+YT0W5XAygHxaeOwRAHZ+SoPdrovZmAlZ2a0KSlw==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.5.0.tgz", + "integrity": "sha512-/FZ+pEJQixWruFejFxNPRSwg+iF6aw7PYZVRqUscJ7EnzV3zieI8byfZziUR7QjCuJFulq8SEe9JcGflO4ze4Q==", "dev": true, "requires": { "tslib": "^1.8.1" @@ -10288,12 +9802,6 @@ "ieee754": "^1.1.4", "isarray": "^1.0.0" } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true } } }, @@ -10428,11 +9936,6 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, @@ -10494,14 +9997,6 @@ "dev": true, "requires": { "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - } } }, "urix": { @@ -10601,9 +10096,9 @@ } }, "validator": { - "version": "10.7.1", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.7.1.tgz", - "integrity": "sha512-tbB5JrTczfeHKLw3PnFRzGFlF1xUAwSgXEDb66EuX1ffCirspYpDEZo3Vc9j38gPdL4JKrDc5UPFfgYiw1IWRQ==", + "version": "10.9.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.9.0.tgz", + "integrity": "sha512-hZJcZSWz9poXBlAkjjcsNAdrZ6JbjD3kWlNjq/+vE7RLLS/+8PAj3qVVwrwsOz/WL8jPmZ1hYkRvtlUeZAm4ug==", "dev": true }, "vary": { @@ -10654,9 +10149,9 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "widest-line": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", - "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", "requires": { "string-width": "^2.1.1" } @@ -10810,9 +10305,9 @@ } }, "ws": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", - "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.0.tgz", + "integrity": "sha512-H3dGVdGvW2H8bnYpIDc3u3LH8Wue3Qh+Zto6aXXFzvESkTVT6rAfKR6tR/+coaUvxs8yHtmNV0uioBF62ZGSTg==", "requires": { "async-limiter": "~1.0.0" } @@ -10833,7 +10328,7 @@ }, "xmlbuilder": { "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, "xregexp": { @@ -10961,12 +10456,13 @@ "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" }, "z-schema": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.23.0.tgz", - "integrity": "sha512-D8XV0BiHuQbWNEgu68RpjFZJ0C7jt+WYoszXKOohe54TdoTTauUvBQx+lsYCdalGIjGTFdQs5dxKvCUonUERzQ==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.24.1.tgz", + "integrity": "sha512-2eR8eq/v1coNqyBc5HzswEcoLbw+S33RMnR326uiuOIr97ve5vwPNMDrKS1IRCB12bZ3a8BrfGxrRwuSXUyPvw==", "dev": true, "requires": { "commander": "^2.7.1", + "core-js": "^2.5.7", "lodash.get": "^4.0.0", "lodash.isequal": "^4.0.0", "validator": "^10.0.0" diff --git a/api/package.json b/api/package.json index a4930bc5d..1883def6e 100644 --- a/api/package.json +++ b/api/package.json @@ -7,31 +7,31 @@ "dev": "npm-run-all --parallel debug playground" }, "dependencies": { - "@azure/storage-blob": "^10.0.0-preview", - "@babel/cli": "^7.1.2", - "@babel/core": "^7.1.2", + "@azure/storage-blob": "^10.1.0-preview", + "@babel/cli": "^7.1.5", + "@babel/core": "^7.1.5", "@babel/node": "^7.0.0", "@babel/polyfill": "^7.0.0", - "@babel/preset-env": "^7.1.0", + "@babel/preset-env": "^7.1.5", "@babel/register": "^7.0.0", "apollo-errors": "^1.9.0", - "apollo-server-express": "^2.1.0", + "apollo-server-express": "^2.2.2", "axios": "^0.18.0", - "cors": "^2.8.4", + "cors": "^2.8.5", "debug": "^4.1.0", "dotenv": "^6.1.0", "express": "^4.16.4", "express-jwt": "^5.3.1", - "fast-xml-parser": "^3.12.5", + "fast-xml-parser": "^3.12.7", "graphql-import": "^0.7.1", - "graphql-middleware": "^1.7.7", + "graphql-middleware": "^1.7.8", "graphql-subscriptions": "^1.0.0", "graphql-tag": "^2.10.0", - "graphql-tools": "^4.0.1", + "graphql-tools": "^4.0.3", "jsonwebtoken": "^8.3.0", "jwks-rsa": "^1.3.0", "lodash.get": "^4.4.2", - "nodemon": "^1.18.4", + "nodemon": "^1.18.6", "prisma-binding": "^2.1.6", "request": "^2.88.0", "request-promise-native": "^1.0.5", @@ -40,9 +40,9 @@ "devDependencies": { "@babel/plugin-proposal-class-properties": "^7.1.0", "@babel/plugin-proposal-throw-expressions": "^7.0.0", - "graphql-cli": "^2.16.5", + "graphql-cli": "^2.17.0", "lodash.merge": "^4.6.1", "npm-run-all": "4.1.3", - "prisma": "^1.18.1" + "prisma": "^1.20.1" } } diff --git a/api/src/generated/prisma.graphql b/api/src/generated/prisma.graphql index 23fbd434a..2bf763ddc 100644 --- a/api/src/generated/prisma.graphql +++ b/api/src/generated/prisma.graphql @@ -1,5 +1,5 @@ # source: http://localhost:4466 -# timestamp: Fri Oct 05 2018 13:16:40 GMT-0700 (Pacific Daylight Time) +# timestamp: Tue Nov 13 2018 13:35:00 GMT-0800 (PST) type AggregateFBStatus { count: Int! @@ -147,15 +147,15 @@ input FBStatusSubscriptionWhereInput { node: FBStatusWhereInput } -input FBStatusUpdateInput { - status: Status - reason: String -} - input FBStatusUpdateManyInput { create: [FBStatusCreateInput!] } +input FBStatusUpdateManyMutationInput { + status: Status + reason: String +} + input FBStatusWhereInput { """Logical AND on all given filters.""" AND: [FBStatusWhereInput!] @@ -252,7 +252,7 @@ type FinancialBeings implements Node { name: String! slug: String! avatar: String - team(where: TeamWhereInput): Team + team: Team status(where: FBStatusWhereInput, orderBy: FBStatusOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [FBStatus!] updatedAt: DateTime! createdAt: DateTime! @@ -380,6 +380,14 @@ input FinancialBeingsUpdateInput { status: FBStatusUpdateManyInput } +input FinancialBeingsUpdateManyMutationInput { + type: FBType + kind: FBKind + name: String + slug: String + avatar: String +} + input FinancialBeingsUpdateManyWithoutTeamInput { create: [FinancialBeingsCreateWithoutTeamInput!] connect: [FinancialBeingsWhereUniqueInput!] @@ -822,15 +830,15 @@ input MemberStatusSubscriptionWhereInput { node: MemberStatusWhereInput } -input MemberStatusUpdateInput { - status: Status - reason: String -} - input MemberStatusUpdateManyInput { create: [MemberStatusCreateInput!] } +input MemberStatusUpdateManyMutationInput { + status: Status + reason: String +} + input MemberStatusWhereInput { """Logical AND on all given filters.""" AND: [MemberStatusWhereInput!] @@ -961,6 +969,12 @@ input MemberUpdateInput { status: MemberStatusUpdateManyInput } +input MemberUpdateManyMutationInput { + alias: String + authId: String + visible: Boolean +} + input MemberUpdateOneWithoutTeamsInput { create: MemberCreateWithoutTeamsInput connect: MemberWhereUniqueInput @@ -1176,16 +1190,16 @@ type Mutation { upsertMember(where: MemberWhereUniqueInput!, create: MemberCreateInput!, update: MemberUpdateInput!): Member! upsertFinancialBeings(where: FinancialBeingsWhereUniqueInput!, create: FinancialBeingsCreateInput!, update: FinancialBeingsUpdateInput!): FinancialBeings! upsertTeamMemberStatus(where: TeamMemberStatusWhereUniqueInput!, create: TeamMemberStatusCreateInput!, update: TeamMemberStatusUpdateInput!): TeamMemberStatus! - updateManyTeams(data: TeamUpdateInput!, where: TeamWhereInput): BatchPayload! - updateManyTeamMemberses(data: TeamMembersUpdateInput!, where: TeamMembersWhereInput): BatchPayload! - updateManyMembers(data: MemberUpdateInput!, where: MemberWhereInput): BatchPayload! - updateManyFinancialBeingses(data: FinancialBeingsUpdateInput!, where: FinancialBeingsWhereInput): BatchPayload! - updateManyTeamProfiles(data: TeamProfileUpdateInput!, where: TeamProfileWhereInput): BatchPayload! - updateManyWallets(data: WalletUpdateInput!, where: WalletWhereInput): BatchPayload! - updateManyMemberStatuses(data: MemberStatusUpdateInput!, where: MemberStatusWhereInput): BatchPayload! - updateManyFBStatuses(data: FBStatusUpdateInput!, where: FBStatusWhereInput): BatchPayload! - updateManyTeamMemberStatuses(data: TeamMemberStatusUpdateInput!, where: TeamMemberStatusWhereInput): BatchPayload! - updateManyTeamStatuses(data: TeamStatusUpdateInput!, where: TeamStatusWhereInput): BatchPayload! + updateManyTeams(data: TeamUpdateManyMutationInput!, where: TeamWhereInput): BatchPayload! + updateManyTeamMemberses(data: TeamMembersUpdateManyMutationInput!, where: TeamMembersWhereInput): BatchPayload! + updateManyMembers(data: MemberUpdateManyMutationInput!, where: MemberWhereInput): BatchPayload! + updateManyFinancialBeingses(data: FinancialBeingsUpdateManyMutationInput!, where: FinancialBeingsWhereInput): BatchPayload! + updateManyTeamProfiles(data: TeamProfileUpdateManyMutationInput!, where: TeamProfileWhereInput): BatchPayload! + updateManyWallets(data: WalletUpdateManyMutationInput!, where: WalletWhereInput): BatchPayload! + updateManyMemberStatuses(data: MemberStatusUpdateManyMutationInput!, where: MemberStatusWhereInput): BatchPayload! + updateManyFBStatuses(data: FBStatusUpdateManyMutationInput!, where: FBStatusWhereInput): BatchPayload! + updateManyTeamMemberStatuses(data: TeamMemberStatusUpdateManyMutationInput!, where: TeamMemberStatusWhereInput): BatchPayload! + updateManyTeamStatuses(data: TeamStatusUpdateManyMutationInput!, where: TeamStatusWhereInput): BatchPayload! deleteManyTeams(where: TeamWhereInput): BatchPayload! deleteManyTeamMemberses(where: TeamMembersWhereInput): BatchPayload! deleteManyMembers(where: MemberWhereInput): BatchPayload! @@ -1290,10 +1304,10 @@ type Team implements Node { id: ID! name: String! slug: String! - profile(where: TeamProfileWhereInput): TeamProfile + profile: TeamProfile members(where: TeamMembersWhereInput, orderBy: TeamMembersOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [TeamMembers!] owner: String! - wallet(where: WalletWhereInput): Wallet + wallet: Wallet fb(where: FinancialBeingsWhereInput, orderBy: FinancialBeingsOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [FinancialBeings!] status(where: TeamStatusWhereInput, orderBy: TeamStatusOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [TeamStatus!] createdAt: DateTime! @@ -1361,8 +1375,8 @@ type TeamEdge { type TeamMembers implements Node { id: ID! - member(where: MemberWhereInput): Member - team(where: TeamWhereInput): Team + member: Member + team: Team role: Role status(where: TeamMemberStatusWhereInput, orderBy: TeamMemberStatusOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [TeamMemberStatus!] email: String @@ -1595,6 +1609,11 @@ input TeamMemberStatusUpdateManyInput { upsert: [TeamMemberStatusUpsertWithWhereUniqueNestedInput!] } +input TeamMemberStatusUpdateManyMutationInput { + status: Status + reason: String +} + input TeamMemberStatusUpdateWithWhereUniqueNestedInput { where: TeamMemberStatusWhereUniqueInput! data: TeamMemberStatusUpdateDataInput! @@ -1741,6 +1760,11 @@ input TeamMembersUpdateInput { status: TeamMemberStatusUpdateManyInput } +input TeamMembersUpdateManyMutationInput { + role: Role + email: String +} + input TeamMembersUpdateManyWithoutMemberInput { create: [TeamMembersCreateWithoutMemberInput!] connect: [TeamMembersWhereUniqueInput!] @@ -2084,7 +2108,7 @@ input TeamProfileUpdateDataInput { banner: String } -input TeamProfileUpdateInput { +input TeamProfileUpdateManyMutationInput { description: String motto: String avatar: String @@ -2411,15 +2435,15 @@ input TeamStatusSubscriptionWhereInput { node: TeamStatusWhereInput } -input TeamStatusUpdateInput { - status: Status - reason: String -} - input TeamStatusUpdateManyInput { create: [TeamStatusCreateInput!] } +input TeamStatusUpdateManyMutationInput { + status: Status + reason: String +} + input TeamStatusWhereInput { """Logical AND on all given filters.""" AND: [TeamStatusWhereInput!] @@ -2553,6 +2577,12 @@ input TeamUpdateInput { status: TeamStatusUpdateManyInput } +input TeamUpdateManyMutationInput { + name: String + slug: String + owner: String +} + input TeamUpdateOneWithoutFbInput { create: TeamCreateWithoutFbInput connect: TeamWhereUniqueInput @@ -2902,7 +2932,7 @@ input WalletUpdateDataInput { balance: Float } -input WalletUpdateInput { +input WalletUpdateManyMutationInput { balance: Float } diff --git a/api/src/graphql/resolvers/Mutation/index.js b/api/src/graphql/resolvers/Mutation/index.js index ce02192d1..694711464 100644 --- a/api/src/graphql/resolvers/Mutation/index.js +++ b/api/src/graphql/resolvers/Mutation/index.js @@ -60,7 +60,7 @@ export const resolvers = { logger.info('createTeamUrl:') logger.info(JSON.stringify(await createTeamUrl)) - const platformUrl = 'https://develop.advancedalgos.net/AABrowserAPI/newTeam/' + const platformUrl = 'https://charts-dev.advancedalgos.net/AABrowserAPI/newTeam/' // const platformUrl = 'http://localhost:1337/AABrowserAPI/teamSetup/' logger.info(`${platformUrl}${createTeamUrl}/${authId}`) @@ -152,7 +152,7 @@ export const resolvers = { logger.info('deleteTeamUrl:') logger.info(JSON.stringify(await deleteTeamUrl)) - const platformUrl = 'https://develop.advancedalgos.net/AABrowserAPI/deleteTeam/' + const platformUrl = 'https://charts-dev.advancedalgos.net/AABrowserAPI/deleteTeam/' // const platformUrl = 'http://localhost:1337/AABrowserAPI/teamSetup/' logger.info(`${platformUrl}${deleteTeamUrl}/${authId}`) diff --git a/api/src/index.js b/api/src/index.js index bdac90407..a2e3e32e8 100644 --- a/api/src/index.js +++ b/api/src/index.js @@ -32,7 +32,7 @@ const db = new Prisma({ typeDefs: 'src/generated/prisma.graphql', endpoint: process.env.PRISMA_ENDPOINT, secret: process.env.PRISMA_SECRET, - debug: true + debug: false }) const app = express() diff --git a/client/package-lock.json b/client/package-lock.json index c95653147..20902b318 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -1,26 +1,27 @@ { "name": "@advancedalgos/teams-client", - "version": "0.0.26", + "version": "0.0.27", "lockfileVersion": 1, "requires": true, "dependencies": { "@advancedalgos/web-components": { - "version": "0.0.13", - "resolved": "https://registry.npmjs.org/@advancedalgos/web-components/-/web-components-0.0.13.tgz", - "integrity": "sha512-jXz2w/r08GX8uqB4UTDaow27T3juvR7Bk/80TWmDORVPNCPK152MEUBgxF161hAyOj1jdB+K4M1Fy5GkEpDhmw==", + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/@advancedalgos/web-components/-/web-components-0.0.15.tgz", + "integrity": "sha512-Z9QyMqgpR/Al+0EYuLtSK3/9BJ/anB0zulBG7QMac9xCgNGSSbon9GndtSIFN3HwyirDCsIH3CZdPi6tJL3KnA==", "requires": { "@azure/storage-blob": "^10.1.0-preview", "@material-ui/core": "^3.2.2", "@material-ui/icons": "^3.0.1", - "apollo-client": "^2.4.2", + "apollo-client": "^2.4.5", "blob-util": "^2.0.2", "browser-image-resizer": "^1.2.0", "graphql": "^14.0.2", - "graphql-tag": "^2.9.2", + "graphql-tag": "^2.10.0", "prop-types": "^15.6.2", - "react-apollo": "^2.1.11", + "react": "^16.6.1", + "react-apollo": "^2.3.1", + "react-dom": "^16.6.1", "react-dropzone": "^5.1.0", - "react-image-crop": "^5.0.0", "react-image-cropper": "^1.3.0" }, "dependencies": { @@ -34,16 +35,76 @@ "tslib": "^1.9.3" } }, + "@types/async": { + "version": "2.0.50", + "resolved": "https://registry.npmjs.org/@types/async/-/async-2.0.50.tgz", + "integrity": "sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q==", + "optional": true + }, "@types/node": { - "version": "9.6.35", - "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.35.tgz", - "integrity": "sha512-h5zvHS8wXHGa+Gcqs9K8vqCgOtqjr0+NqG/DDJmQIX1wpR9HivAfgV8bjcD3mGM4bPfQw5Aneb2Pn8355L83jA==" + "version": "9.6.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.39.tgz", + "integrity": "sha512-c3OkjgNpSMdHan56WhklP0FMOk5ocilKz2Mpa0NOGzu8jw5YERjCf9FG0epYB1+TxScv/oI4uJ204u2mUg7Hcw==" + }, + "apollo-cache": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/apollo-cache/-/apollo-cache-1.1.20.tgz", + "integrity": "sha512-+Du0/4kUSuf5PjPx0+pvgMGV12ezbHA8/hubYuqRQoy/4AWb4faa61CgJNI6cKz2mhDd9m94VTNKTX11NntwkQ==", + "requires": { + "apollo-utilities": "^1.0.25" + } + }, + "apollo-client": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-2.4.5.tgz", + "integrity": "sha512-nUm06EGa4TP/IY68OzmC3lTD32TqkjLOQdb69uYo+lHl8NnwebtrAw3qFtsQtTEz6ueBp/Z/HasNZng4jwafVQ==", + "requires": { + "@types/async": "2.0.50", + "@types/zen-observable": "^0.8.0", + "apollo-cache": "1.1.20", + "apollo-link": "^1.0.0", + "apollo-link-dedup": "^1.0.0", + "apollo-utilities": "1.0.25", + "symbol-observable": "^1.0.2", + "zen-observable": "^0.8.0" + } + }, + "apollo-utilities": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.0.25.tgz", + "integrity": "sha512-AXvqkhni3Ir1ffm4SA1QzXn8k8I5BBl4PVKEyak734i4jFdp+xgfUyi2VCqF64TJlFTA/B73TRDUvO2D+tKtZg==", + "requires": { + "fast-json-stable-stringify": "^2.0.0" + } }, "events": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "hoist-non-react-statics": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz", + "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==", + "requires": { + "react-is": "^16.3.2" + } + }, "ms-rest-js": { "version": "0.22.425", "resolved": "https://registry.npmjs.org/ms-rest-js/-/ms-rest-js-0.22.425.tgz", @@ -61,6 +122,24 @@ "xml2js": "^0.4.19" } }, + "react-apollo": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-apollo/-/react-apollo-2.3.1.tgz", + "integrity": "sha512-xPteQmCzMJT8wE4v0zq38E6JWLhrNcJENl66fP117lwzU2lZA+qoUDcizqKl0z2OY5b+KklmqnPPD+wcWAdy7w==", + "requires": { + "fbjs": "^1.0.0", + "hoist-non-react-statics": "^3.0.0", + "invariant": "^2.2.2", + "lodash.flowright": "^3.5.0", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.6.0" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, "tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", @@ -1993,11 +2072,12 @@ } }, "@material-ui/core": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.2.2.tgz", - "integrity": "sha512-wDTJyR76+OBdlltiPs3lc1gD6zR+dSA6nITtgkBeLf1NvWfNotMWdvldIDnF3bu24ySAX9imfzDfkBu4Edtqww==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-3.5.1.tgz", + "integrity": "sha512-yMBwYV5HQ/kZjncSmzHSx4uxJCePdbq9N58Jl0tq9D1gD5fKVJY/lItnQLRlcpCzZUkGxfDhpDutvLDq58ZAkg==", "requires": { "@babel/runtime": "7.1.2", + "@material-ui/utils": "^3.0.0-alpha.0", "@types/jss": "^9.5.6", "@types/react-transition-group": "^2.0.8", "brcast": "^3.0.1", @@ -2006,7 +2086,7 @@ "debounce": "^1.1.0", "deepmerge": "^2.0.1", "dom-helpers": "^3.2.1", - "hoist-non-react-statics": "^2.5.0", + "hoist-non-react-statics": "^3.0.0", "is-plain-object": "^2.0.4", "jss": "^9.3.3", "jss-camel-case": "^6.0.0", @@ -2032,6 +2112,14 @@ "requires": { "regenerator-runtime": "^0.12.0" } + }, + "hoist-non-react-statics": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz", + "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==", + "requires": { + "react-is": "^16.3.2" + } } } }, @@ -2083,6 +2171,24 @@ } } }, + "@material-ui/utils": { + "version": "3.0.0-alpha.0", + "resolved": "https://registry.npmjs.org/@material-ui/utils/-/utils-3.0.0-alpha.0.tgz", + "integrity": "sha512-HwC/pBcPG81UP4Jh0BaH2i4wAY9aDOrvL5+B/7J6cyFlG/Wip5Li+qI+GDlk9MR3kpG8v0sxfpWA0IlQYcHK6g==", + "requires": { + "@babel/runtime": "7.1.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz", + "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==", + "requires": { + "regenerator-runtime": "^0.12.0" + } + } + } + }, "@sheerun/eslint-config-standard": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/@sheerun/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz", @@ -2219,9 +2325,9 @@ "integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==" }, "@types/react": { - "version": "16.4.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.18.tgz", - "integrity": "sha512-eFzJKEg6pdeaukVLVZ8Xb79CTl/ysX+ExmOfAAqcFlCCK5TgFDD9kWR0S18sglQ3EmM8U+80enjUqbfnUyqpdA==", + "version": "16.7.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.6.tgz", + "integrity": "sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA==", "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" @@ -6815,9 +6921,9 @@ } }, "flatmap-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.1.tgz", - "integrity": "sha512-lAq4tLbm3sidmdCN8G3ExaxH7cUCtP5mgDvrYowsx84dcYkJJ4I28N7gkxA6+YlSXzaGLJYIDEi9WGfXzMiXdw==" + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/flatmap-stream/-/flatmap-stream-0.1.2.tgz", + "integrity": "sha512-ucyr6WkLXjyMuHPtOUq4l+nSAxgWi7v4QO508eQ9resnGj+lSup26oIsUI5aH8k4Qfpjsxa8dDf9UCKkS2KHzQ==" }, "flatten": { "version": "1.0.2", @@ -10920,9 +11026,9 @@ "dev": true }, "popper.js": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", - "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.5.tgz", + "integrity": "sha512-fs4Sd8bZLgEzrk8aS7Em1qh+wcawtE87kRUJQhK6+LndyV1HerX7+LURzAylVaTyWIn5NTB/lyjnWqw/AZ6Yrw==" }, "posix-character-classes": { "version": "0.1.1", @@ -12132,11 +12238,6 @@ "shallowequal": "^1.0.2" } }, - "react-image-crop": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-image-crop/-/react-image-crop-5.0.0.tgz", - "integrity": "sha512-MBT18tcHeEpmrhbSS6hx00MmfNgrnlhZuwY96cGRPhUmNeabxM7UBCcoU+oJCZXB0iGZk38zy/YGoZ4ELVp/LQ==" - }, "react-image-cropper": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/react-image-cropper/-/react-image-cropper-1.3.0.tgz", diff --git a/client/package.json b/client/package.json index 6ddf5d50f..573885633 100644 --- a/client/package.json +++ b/client/package.json @@ -69,7 +69,7 @@ "workbox-cli": "^3.6.2" }, "dependencies": { - "@advancedalgos/web-components": "0.0.13", + "@advancedalgos/web-components": "0.0.15", "@azure/storage-blob": "^10.0.0-preview", "apollo-cache-inmemory": "^1.3.5", "apollo-client": "^2.4.2", diff --git a/client/src/index.js b/client/src/index.js index 366f95c98..8a49f1b22 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -8,7 +8,6 @@ import { AcceptTeamInvite, ManageTeams, TeamMembers, - FinancialBeings, Settings, Teams, Landing, @@ -45,6 +44,11 @@ class App extends Component { path={`/teams/manage-teams`} render={props => } /> + } + /> } - /> - } /> } /> - + ) diff --git a/client/src/views/dashboard/components/ManageFBEdit.js b/client/src/views/dashboard/components/ManageFBEdit.js index ce9df91d4..840161604 100644 --- a/client/src/views/dashboard/components/ManageFBEdit.js +++ b/client/src/views/dashboard/components/ManageFBEdit.js @@ -120,7 +120,7 @@ export class ManageFBEdit extends Component { let avatar = null if (fb.avatar !== undefined && fb.avatar !== null) avatar = fb.avatar if (this.state.avatar !== null) avatar = this.state.avatar - if (this.state.avatar === null && fb.avatar === undefined) avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + if (this.state.avatar === null && fb.avatar === undefined) avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' if (loading || data === undefined) { return () diff --git a/client/src/views/dashboard/components/ManageFBItem.js b/client/src/views/dashboard/components/ManageFBItem.js index d3de0e809..0b3b038f2 100644 --- a/client/src/views/dashboard/components/ManageFBItem.js +++ b/client/src/views/dashboard/components/ManageFBItem.js @@ -18,7 +18,7 @@ export const ManageFBItem = ({ classes, team, authId }) => { if (team.fb[0].avatar !== undefined && team.fb[0].avatar !== 'a') { avatar = team.fb[0].avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } return ( diff --git a/client/src/views/dashboard/components/ManageMembersItem.js b/client/src/views/dashboard/components/ManageMembersItem.js index 3dd2be7fb..a3116f048 100644 --- a/client/src/views/dashboard/components/ManageMembersItem.js +++ b/client/src/views/dashboard/components/ManageMembersItem.js @@ -32,7 +32,7 @@ export const ManageMembersItem = ({ classes, member, teamId, authId }) => { - + {email !== null ? `${memberStatus[memberStatus.length - 1].status} | Sent: ${memberStatus[memberStatus.length - 1].createdAt}` : `${member.role} | Member since: `} diff --git a/client/src/views/dashboard/components/ManageMembersTeamItem.js b/client/src/views/dashboard/components/ManageMembersTeamItem.js index 186576377..e2b439727 100644 --- a/client/src/views/dashboard/components/ManageMembersTeamItem.js +++ b/client/src/views/dashboard/components/ManageMembersTeamItem.js @@ -63,7 +63,7 @@ export const ManageMembersTeamItem = ({ classes, team, authId }) => { if (team.profile.avatar !== undefined && team.profile.avatar !== 'a') { avatar = team.profile.avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } if (team.members.length > 0) { return ( diff --git a/client/src/views/dashboard/components/ManageTeamDetails.js b/client/src/views/dashboard/components/ManageTeamDetails.js index 2a2f0a63d..cc5aa8367 100644 --- a/client/src/views/dashboard/components/ManageTeamDetails.js +++ b/client/src/views/dashboard/components/ManageTeamDetails.js @@ -72,12 +72,12 @@ export class ManageTeamDetails extends Component { if (profile.avatar !== undefined && profile.avatar !== null) { avatar = profile.avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } if (profile.banner !== undefined && profile.banner !== null) { banner = profile.banner } else { - banner = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-banner-default.png' + banner = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' } return (
diff --git a/client/src/views/dashboard/components/ManageTeamEdit.js b/client/src/views/dashboard/components/ManageTeamEdit.js index d10302c66..d51e31b3c 100644 --- a/client/src/views/dashboard/components/ManageTeamEdit.js +++ b/client/src/views/dashboard/components/ManageTeamEdit.js @@ -129,11 +129,11 @@ export class ManageTeamEdit extends Component { let avatar = null if (team.profile !== null && team.profile.avatar !== undefined && team.profile.avatar !== null) avatar = team.profile.avatar if (this.state.avatar !== null) avatar = this.state.avatar - if (this.state.avatar === null && team.profile !== null && team.profile.avatar === undefined) avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + if (this.state.avatar === null && team.profile !== null && team.profile.avatar === undefined) avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' let banner = null if (team.profile !== null && team.profile.banner !== undefined && team.profile.banner !== null) banner = team.profile.banner if (this.state.banner !== null) banner = this.state.banner - if (this.state.banner === null && team.profile !== null && team.profile.banner === undefined) banner = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-banner-default.png' + if (this.state.banner === null && team.profile !== null && team.profile.banner === undefined) banner = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' log.debug('team images: ', avatar, banner) if (loading || data === undefined) { diff --git a/client/src/views/dashboard/components/ManageTeamsItem.js b/client/src/views/dashboard/components/ManageTeamsItem.js index 51e0ee937..cedb75aa9 100644 --- a/client/src/views/dashboard/components/ManageTeamsItem.js +++ b/client/src/views/dashboard/components/ManageTeamsItem.js @@ -20,7 +20,7 @@ export const ManageTeamsItem = ({ classes, team, authId }) => { if (team.profile.avatar !== undefined && team.profile.avatar !== 'a') { avatar = team.profile.avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } return ( diff --git a/client/src/views/financial-beings/components/ManageFBItem.js b/client/src/views/financial-beings/components/ManageFBItem.js index 2316742c8..743d253ea 100644 --- a/client/src/views/financial-beings/components/ManageFBItem.js +++ b/client/src/views/financial-beings/components/ManageFBItem.js @@ -18,7 +18,7 @@ export const ManageFBItem = ({ classes, team }) => { if (team.fb[0].avatar !== undefined && team.fb[0].avatar !== 'a') { avatar = team.fb[0].avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } return ( diff --git a/client/src/views/financial-beings/components/ManageFBList.js b/client/src/views/financial-beings/components/ManageFBList.js index 9893f4812..69ca35323 100644 --- a/client/src/views/financial-beings/components/ManageFBList.js +++ b/client/src/views/financial-beings/components/ManageFBList.js @@ -15,10 +15,13 @@ import log from '../../../utils/log' import ManageFBItem from './ManageFBItem' const styles = theme => ({ + root: { + flexGrow: 1 + }, heroContent: { - maxWidth: 600, - margin: '0 auto', - padding: `${theme.spacing.unit * 8}px 0 ${theme.spacing.unit * 6}px` + maxWidth: 800, + margin: `${theme.spacing.unit * 4}px auto`, + padding: 0 }, cardGrid: { padding: `${theme.spacing.unit * 8}px 0` @@ -63,17 +66,21 @@ export const ManageFBList = ({ classes }) => ( if (!loading && !error) { if (data.teams_TeamsByOwner.length > 0) { return ( - - {!loading && - data.teams_TeamsByOwner.map(team => ( - - ))} - {errors} - +
+
+ + {!loading && + data.teams_TeamsByOwner.map(team => ( + + ))} + {errors} + +
+
) } else { return ( @@ -83,7 +90,7 @@ export const ManageFBList = ({ classes }) => ( You don’t have any financial being. To create one, create a team first! - + After you create a team, a default trading algobot will be cloned and added to your team so that you can begin experimenting right away. diff --git a/client/src/views/landing/index.js b/client/src/views/landing/index.js index d38cf2501..de88b4997 100644 --- a/client/src/views/landing/index.js +++ b/client/src/views/landing/index.js @@ -1,6 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' +import Typography from '@material-ui/core/Typography' import { withStyles } from '@material-ui/core/styles' import { BannerTopBar } from '../common' @@ -21,9 +22,33 @@ const styles = theme => ({ }) const Landing = ({ classes, ...props }) => ( -
+ -
+
+ + Welcome to the Teams Module! + + + Multidisciplinary groups of humans joining forces to breed financial beings and compete. + +
+ + One of the core propositions of Advanced Algos revolves around people teaming up to breed financial beings and compete in algorithmic trading competitions. Both developing and competing are team activities. + + + If you are a user of the system but still haven’t joined any teams, the Teams Module is the right place to find one or even create your own. + +
+
+ + You may join and participate in as many teams as you wish. + + + When you create your own team, you become the team’s owner and may allow more people in the team at your sole discretion. It has been shown that larger teams tend to become more intelligent. + +
+
+ ) Landing.propTypes = { diff --git a/client/src/views/manage-teams/components/CreateTeamDialog.js b/client/src/views/manage-teams/components/CreateTeamDialog.js index a46652833..d99eaa966 100644 --- a/client/src/views/manage-teams/components/CreateTeamDialog.js +++ b/client/src/views/manage-teams/components/CreateTeamDialog.js @@ -3,6 +3,7 @@ import PropTypes from 'prop-types' import { Mutation } from 'react-apollo' import { withStyles } from '@material-ui/core/styles' +import Grid from '@material-ui/core/Grid' import Button from '@material-ui/core/Button' import AddIcon from '@material-ui/icons/Add' import TextField from '@material-ui/core/TextField' @@ -34,14 +35,8 @@ const styles = theme => ({ marginLeft: '20%', marginBottom: 10 }, - buttonRight: { - // position: 'absolute', - // right: '3em' - marginTop: '1em', - marginRight: 'auto', - marginLeft: 'auto', - display: 'block', - lineHeight: '1em' + buttonFab: { + backgroundColor: '#CCCCCC' } }) @@ -93,12 +88,12 @@ export class CreateTeamDialog extends Component { }) } return ( -
+
-
+ ) }} diff --git a/client/src/views/manage-teams/components/ManageTeamProfile.js b/client/src/views/manage-teams/components/ManageTeamProfile.js new file mode 100644 index 000000000..51297cbc9 --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamProfile.js @@ -0,0 +1,180 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' + +import Paper from '@material-ui/core/Paper' +import Grid from '@material-ui/core/Grid' +import Button from '@material-ui/core/Button' +import { withStyles } from '@material-ui/core/styles' + +import { Link } from 'react-router-dom' + +import ManageTeamProfileView from './ManageTeamProfileView' +import ManageTeamProfileEdit from './ManageTeamProfileEdit' + +import log from '../../../utils/log' + +const styles = theme => ({ + root: { + flexGrow: 1 + }, + '@global': { + body: { + backgroundColor: theme.palette.common.white + } + }, + layout: { + width: 'auto', + marginLeft: theme.spacing.unit * 3, + marginRight: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 6, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + width: 800, + marginLeft: 'auto', + marginRight: 'auto' + } + }, + paper: { + marginTop: 0, + marginBottom: theme.spacing.unit * 1, + padding: 0, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + marginTop: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 2, + padding: `0 0 ${theme.spacing.unit * 2}px` + } + }, + heroContent: { + maxWidth: 800, + margin: '0 auto', + padding: 0 + }, + teamContent: { + margin: `${theme.spacing.unit * 1}px ${theme.spacing.unit * 3}px 0 0` + }, + banner: { + maxWidth: '100%', + height: 'auto' + }, + avatar: { + maxWidth: 100, + height: 100, + margin: `${theme.spacing.unit * 1}px 0 0 ${theme.spacing.unit * 3}px ` + }, + profileButtons: { + width: '90%', + margin: `${theme.spacing.unit * 3}px auto 0`, + padding: `${theme.spacing.unit * 2}px ${theme.spacing.unit * 2}px 0`, + borderTop: '1px solid #CCCCCC' + } +}) + +export class ManageTeamProfile extends Component { + constructor (props) { + super(props) + + this.toggleEdit = this.toggleEdit.bind(this) + this.handleSave = this.handleSave.bind(this) + this.handleUpdate = this.handleUpdate.bind(this) + + this.state = { + edit: false, + save: false + } + } + + render () { + const { classes, team, slug, match } = this.props + log.debug('ManageTeamProfile render', this.state) + return ( +
+
+ +
+ {!this.state.edit && } + {this.state.edit && + + } + + {!this.state.edit && + + + + + + + + + } + {this.state.edit && + + + + + + + + + } + +
+
+
+
+ ) + } + + toggleEdit () { + this.setState({ edit: !this.state.edit }) + } + + handleSave (e) { + e.preventDefault() + log.debug('handleSave') + this.setState({ save: true }) + } + + handleUpdate () { + log.debug('handleUpdate') + this.setState({ edit: false, save: false }) + } +} + +ManageTeamProfile.propTypes = { + classes: PropTypes.object.isRequired, + team: PropTypes.object.isRequired, + match: PropTypes.object.isRequired, + slug: PropTypes.string.isRequired +} + +export default withStyles(styles)(ManageTeamProfile) diff --git a/client/src/views/manage-teams/components/ManageTeamProfileEdit.js b/client/src/views/manage-teams/components/ManageTeamProfileEdit.js new file mode 100644 index 000000000..f66d481f9 --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamProfileEdit.js @@ -0,0 +1,376 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import { Mutation } from 'react-apollo' +import { withStyles } from '@material-ui/core/styles' + +import Grid from '@material-ui/core/Grid' +import TextField from '@material-ui/core/TextField' +import Typography from '@material-ui/core/Typography' + +import { ImageUpload } from '@advancedalgos/web-components' + +import UPDATE_TEAM_PROFILE from '../../../graphql/teams/UpdateTeamProfileMutation' +import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' + +import { checkGraphQLError } from '../../../utils/graphql-errors' +import log from '../../../utils/log' + +const styles = theme => ({ + root: { + flexGrow: 1 + }, + '@global': { + body: { + backgroundColor: theme.palette.common.white + } + }, + layout: { + width: '100%', + marginBottom: theme.spacing.unit * 6, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + width: 800, + marginLeft: 'auto', + marginRight: 'auto' + } + }, + paper: { + marginTop: 0, + marginBottom: theme.spacing.unit * 3, + padding: 0, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + marginTop: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 6, + padding: `0 0 ${theme.spacing.unit * 2}px` + } + }, + heroContent: { + maxWidth: 800, + margin: '0 auto', + padding: `0 0 ${theme.spacing.unit * 2}px` + }, + editContentContainer: { + marginBottom: `${theme.spacing.unit * 3}px` + }, + metaContainer: { + marginTop: `${theme.spacing.unit * 1}px`, + alignSelf: 'stretch', + borderRight: '1px solid #CCCCCC' + }, + teamMeta: { + margin: `${theme.spacing.unit * 3}px 0 0`, + paddingLeft: `${theme.spacing.unit * 2}px`, + textAlign: 'center', + height: '100%' + }, + teamContent: { + '& h2': { + padding: `${theme.spacing.unit * 4}px ${theme.spacing.unit * 3}px 0` + }, + '& h4': { + padding: `0 ${theme.spacing.unit * 3}px 0` + }, + '& h6': { + padding: `0 ${theme.spacing.unit * 3}px 0` + } + }, + editInput: { + padding: `0 ${theme.spacing.unit * 3}px ${theme.spacing.unit * 2}px`, + '& label': { + display: 'none', + padding: `0 ${theme.spacing.unit * 4}px 0` + } + }, + banner: { + maxWidth: '100%', + height: 'auto', + width: '100%' + }, + avatar: { + maxWidth: 125, + height: 125, + margin: `0 auto ${theme.spacing.unit * 2}px`, + verticalAlign: 'middle', + borderRadius: '50%' + } +}) + +export class ManageTeamProfileEdit extends Component { + constructor (props) { + super(props) + + this.handleClickOpen = this.handleClickOpen.bind(this) + this.handleClose = this.handleClose.bind(this) + this.handleChange = this.handleChange.bind(this) + this.handleSubmit = this.handleSubmit.bind(this) + this.handleAvatar = this.handleAvatar.bind(this) + this.handleBanner = this.handleBanner.bind(this) + this.startSave = this.startSave.bind(this) + + log.debug('ManageTeamProfileEdit constructor', props.team) + const motto = props.team.profile.motto || '' + const description = props.team.profile.description || '' + const avatar = props.team.profile.avatar || null + const banner = props.team.profile.banner || null + + this.state = { + open: false, + motto: motto, + description: description, + avatar: avatar, + banner: banner, + save: false + } + } + + render () { + const { classes, team, match, save, handleUpdate } = this.props + log.debug('ManageTeamProfileEdit render', this.props, this.props.slug, this.props.team, match) + + const created = new Date(team.createdAt) + + return ( + + {(updateTeamProfile, { loading, error, data }) => { + const AzureStorageUrl = process.env.AZURE_STORAGE_URL_TEAMS + const AzureStorageSAS = process.env.AZURE_STORAGE_SAS_TEAMS + const containerName = team.slug + let avatar = null + if (this.state.avatar === null && team.profile !== null && (team.profile.avatar === undefined || team.profile.avatar === null)) avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' + if (team.profile !== null && team.profile.avatar !== undefined && team.profile.avatar !== null) avatar = team.profile.avatar + if (this.state.avatar !== null) avatar = this.state.avatar + + let banner = null + if (this.state.banner === null && team.profile !== null && (team.profile.banner === undefined || team.profile.banner === null)) banner = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' + if (team.profile !== null && team.profile.banner !== undefined && team.profile.banner !== null) banner = team.profile.banner + if (this.state.banner !== null) banner = this.state.banner + log.debug('team images: ', avatar, banner) + log.debug('saving profile status: ', save) + if (save && !this.state.save) { + log.debug('saving profile: ', save) + this.startSave(updateTeamProfile, team.slug, handleUpdate) + } + + let errors + let loader + if (loading) { + loader = ( + Updating profile... + ) + } + if (error) { + errors = error.graphQLErrors.map(({ message }, i) => { + const displayMessage = checkGraphQLError(message) + log.debug('updateTeamProfile error:', displayMessage) + return ( + + {message} + + ) + }) + } + return ( + + + + + + + + + + Members: {team.members.length} + + + Financial Beings: 1 + + + Created: {created.toLocaleDateString()} + + + + + + + {team.name} + + + Motto: + + + + Description: + + + + {loader} + {errors} + + + + + + ) + }} + + ) + } + + handleClickOpen () { + this.setState({ open: true }) + } + + handleClose () { + this.setState({ open: false }) + } + + handleChange (e) { + log.debug('handleChange: ', e.target.id, e.target.value) + switch (e.target.id) { + case 'motto': + this.setState({ motto: e.target.value }) + break + case 'description': + this.setState({ description: e.target.value }) + break + default: + } + } + + handleAvatar (avatarUrl) { + log.debug('handleAvatar: ', avatarUrl) + this.setState({ avatar: `${avatarUrl}?${Math.random()}` }) + } + + handleBanner (bannerUrl) { + log.debug('handleBanner: ', bannerUrl) + this.setState({ banner: `${bannerUrl}?${Math.random()}` }) + } + + startSave (updateTeamProfile, slug, handleUpdate) { + this.setState({ save: 'done' }) + this.handleSubmit(updateTeamProfile, slug, handleUpdate) + } + + async handleSubmit (updateTeamProfile, slug, handleUpdate) { + log.debug('updateTeamProfile, handleSubmit: ', this.state) + await updateTeamProfile({ + variables: { + slug, + owner: this.authId, + description: this.state.description, + motto: this.state.motto, + avatar: this.state.avatar, + banner: this.state.banner + } + }) + window.canvasApp.eventHandler.raiseEvent('User Profile Changed') + handleUpdate() + } +} + +ManageTeamProfileEdit.propTypes = { + classes: PropTypes.object.isRequired, + slug: PropTypes.string.isRequired, + team: PropTypes.object, + match: PropTypes.object, + save: PropTypes.bool, + handleUpdate: PropTypes.func +} + +export default withStyles(styles)(ManageTeamProfileEdit) diff --git a/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js b/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js new file mode 100644 index 000000000..52bba10c5 --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamProfileFBEdit.js @@ -0,0 +1,207 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import { Mutation } from 'react-apollo' +import { withStyles } from '@material-ui/core/styles' + +import Grid from '@material-ui/core/Grid' +import Button from '@material-ui/core/Button' +import EditIcon from '@material-ui/icons/Edit' +import Dialog from '@material-ui/core/Dialog' +import DialogContent from '@material-ui/core/DialogContent' +import Typography from '@material-ui/core/Typography' + +import { ImageUpload } from '@advancedalgos/web-components' + +import UPDATE_FB from '../../../graphql/teams/UpdateFBMutation' +import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' + +import { checkGraphQLError } from '../../../utils/graphql-errors' + +import log from '../../../utils/log' + +const styles = theme => ({ + dialogTitle: { + textAlign: 'center', + paddingBottom: `${theme.spacing.unit * 2}px` + }, + buttonRight: { + justifyContent: 'flex-end' + } +}) + +export class ManageTeamProfileFBEdit extends Component { + constructor (props) { + super(props) + + this.handleClickOpen = this.handleClickOpen.bind(this) + this.handleClose = this.handleClose.bind(this) + this.handleSubmit = this.handleSubmit.bind(this) + this.handleAvatar = this.handleAvatar.bind(this) + + const avatar = props.fb.avatar || '' + + this.state = { + open: false, + avatar: avatar + } + } + + render () { + log.debug('ManageTeamProfileFBEdit ', this.props, this.props.slug, this.props.fb) + const { classes, fb, slug } = this.props + return ( + + {(updateFB, { loading, error, data }) => { + const AzureStorageUrl = process.env.AZURE_STORAGE_URL_TEAMS + const AzureStorageSAS = process.env.AZURE_STORAGE_SAS_TEAMS + const containerName = slug + + let avatar = null + if (this.state.avatar === null && fb.avatar === undefined) avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' + if (fb.avatar !== undefined && fb.avatar !== null) avatar = fb.avatar + if (this.state.avatar !== null) avatar = this.state.avatar + + let errors + let loader + if (loading) { + loader = ( + Updating avatar... + ) + } + if (error) { + errors = error.graphQLErrors.map(({ message }, i) => { + const displayMessage = checkGraphQLError(message) + log.debug('updateTeamProfile error:', displayMessage) + return ( + + {message} + + ) + }) + } + log.debug('ManageTeamProfileFBEdit mutation:', classes) + return ( +
+ + + + + + + Edit Financial Being + + + + {loader} + {errors} + + + + + + + +
+ ) + }} +
+ ) + } + + handleClickOpen () { + this.setState({ open: true }) + } + + handleClose () { + this.setState({ open: false }) + } + + handleAvatar (avatarUrl) { + log.debug('handleAvatar: ', avatarUrl) + this.setState({ avatar: `${avatarUrl}?${Math.random()}` }) + } + + async handleSubmit (e, updateFB, fbId, slug) { + log.debug('handleSubmit: ', this.state) + e.preventDefault() + + await updateFB({ + variables: { + fbId, + avatar: this.state.avatar + } + }) + window.canvasApp.eventHandler.raiseEvent('User Profile Changed') + this.setState({ open: false }) + } +} + +ManageTeamProfileFBEdit.propTypes = { + classes: PropTypes.object.isRequired, + slug: PropTypes.string.isRequired, + fb: PropTypes.object +} + +export default withStyles(styles)(ManageTeamProfileFBEdit) diff --git a/client/src/views/manage-teams/components/ManageTeamProfileFBView.js b/client/src/views/manage-teams/components/ManageTeamProfileFBView.js new file mode 100644 index 000000000..0ec02f9f2 --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamProfileFBView.js @@ -0,0 +1,76 @@ +import React from 'react' +import PropTypes from 'prop-types' + +import Grid from '@material-ui/core/Grid' +import Card from '@material-ui/core/Card' +import CardContent from '@material-ui/core/CardContent' +import CardActions from '@material-ui/core/CardActions' +import CardMedia from '@material-ui/core/CardMedia' +import Typography from '@material-ui/core/Typography' +import { withStyles } from '@material-ui/core/styles' + +import ManageTeamProfileFBEdit from './ManageTeamProfileFBEdit' + +import log from '../../../utils/log' + +const styles = theme => ({ + fbContainer: { + margin: `0 0 ${theme.spacing.unit * 2}px` + }, + card: { + display: 'flex', + width: '100%' + }, + cardDetails: { + display: 'flex', + flex: 1 + }, + cardContent: { + flex: 1 + }, + cardMedia: { + flex: 1, + width: 100, + height: 100, + maxWidth: 100, + justifyContent: 'flex-start' + } +}) + +export const ManageTeamProvileFBView = ({ classes, team }) => { + log.debug('ManageTeamProvileFBView', team, team.fb[0], team.fb[0].avatar) + + let avatar = (team.fb[0].avatar !== undefined && team.fb[0].avatar !== null) ? team.fb[0].avatar : 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' + + return ( + + +
+ + + + {team.fb[0].name} + + + {team.fb[0].kind} + + + + + +
+
+
+ ) +} + +ManageTeamProvileFBView.propTypes = { + classes: PropTypes.object.isRequired, + team: PropTypes.object.isRequired +} + +export default withStyles(styles)(ManageTeamProvileFBView) diff --git a/client/src/views/manage-teams/components/ManageTeamProfileView.js b/client/src/views/manage-teams/components/ManageTeamProfileView.js new file mode 100644 index 000000000..68aa3f189 --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamProfileView.js @@ -0,0 +1,155 @@ +import React from 'react' +import PropTypes from 'prop-types' + +import Typography from '@material-ui/core/Typography' +import Grid from '@material-ui/core/Grid' +import { withStyles } from '@material-ui/core/styles' + +import ManageTeamProfileFBView from './ManageTeamProfileFBView' + +const styles = theme => ({ + root: { + flexGrow: 1 + }, + '@global': { + body: { + backgroundColor: theme.palette.common.white + } + }, + layout: { + width: '100%', + marginBottom: theme.spacing.unit * 6, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + width: 800, + marginLeft: 'auto', + marginRight: 'auto' + } + }, + paper: { + marginTop: 0, + marginBottom: theme.spacing.unit * 3, + padding: 0, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + marginTop: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 6, + padding: `0 0 ${theme.spacing.unit * 2}px` + } + }, + heroContent: { + maxWidth: 800, + margin: '0 auto', + padding: `0 0 ${theme.spacing.unit * 2}px` + }, + metaContainer: { + marginTop: `${theme.spacing.unit * 1}px`, + alignSelf: 'stretch', + borderRight: '1px solid #CCCCCC' + }, + teamMeta: { + margin: `${theme.spacing.unit * 3}px 0 0`, + paddingLeft: `${theme.spacing.unit * 2}px`, + textAlign: 'center' + }, + teamContent: { + '& h2': { + padding: `${theme.spacing.unit * 4}px ${theme.spacing.unit * 3}px 0` + }, + '& h4': { + padding: `0 ${theme.spacing.unit * 3}px ${theme.spacing.unit * 1}px` + }, + '& h6': { + padding: `0 ${theme.spacing.unit * 3}px 0` + } + }, + fbContent: { + borderTop: '1px solid #CCCCCC', + width: '90%', + margin: `${theme.spacing.unit * 3}px auto`, + paddingTop: `${theme.spacing.unit * 3}px` + }, + banner: { + maxWidth: '100%', + height: 'auto', + width: '100%' + }, + avatar: { + maxWidth: 125, + height: 125, + margin: `0 auto ${theme.spacing.unit * 2}px`, + verticalAlign: 'middle', + borderRadius: '50%' + }, + backLink: { + display: 'block', + textDecoration: 'none', + margin: `${theme.spacing.unit * 3}px 0 0`, + color: theme.palette.secondary.main + } +}) + +const ManageTeamProfileView = ({ classes, team }) => { + let avatar = team.profile.avatar || 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' + let banner = team.profile.banner || 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' + + const created = new Date(team.createdAt) + + return ( + + {team.name} + + + + {team.name} + + Members: {team.members.length} + + + Financial Beings: 1 + + + Created: {created.toLocaleDateString()} + + + + + + + {team.name} + + + Motto: {team.profile.motto} + + + Description: {team.profile.description} + + + + + Financial Beings + + + + + + + ) +} + +ManageTeamProfileView.propTypes = { + classes: PropTypes.object.isRequired, + team: PropTypes.object.isRequired +} + +export default withStyles(styles)(ManageTeamProfileView) diff --git a/client/src/views/manage-teams/components/ManageTeamsCreateTeam.js b/client/src/views/manage-teams/components/ManageTeamsCreateTeam.js new file mode 100644 index 000000000..73e9eb68e --- /dev/null +++ b/client/src/views/manage-teams/components/ManageTeamsCreateTeam.js @@ -0,0 +1,121 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' + +import Paper from '@material-ui/core/Paper' +import Grid from '@material-ui/core/Grid' +import Button from '@material-ui/core/Button' +import { withStyles } from '@material-ui/core/styles' + +import { Link } from 'react-router-dom' + +import CreateTeamForm from './CreateTeamForm' + +const styles = theme => ({ + root: { + flexGrow: 1 + }, + '@global': { + body: { + backgroundColor: theme.palette.common.white + } + }, + layout: { + width: 'auto', + marginLeft: theme.spacing.unit * 3, + marginRight: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 6, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + width: 800, + marginLeft: 'auto', + marginRight: 'auto' + } + }, + paper: { + marginTop: 0, + marginBottom: theme.spacing.unit * 3, + padding: 0, + [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { + marginTop: theme.spacing.unit * 3, + marginBottom: theme.spacing.unit * 6, + padding: `0 0 ${theme.spacing.unit * 6}px` + } + }, + heroContent: { + maxWidth: 800, + margin: '0 auto', + padding: 0 + }, + teamContent: { + margin: `${theme.spacing.unit * 1}px ${theme.spacing.unit * 3}px 0 0` + }, + banner: { + maxWidth: '100%', + height: 'auto' + }, + avatar: { + maxWidth: 100, + height: 100, + margin: `${theme.spacing.unit * 1}px 0 0 ${theme.spacing.unit * 3}px ` + }, + backLink: { + display: 'block', + textDecoration: 'none', + margin: `${theme.spacing.unit * 3}px 0 0`, + color: theme.palette.secondary.main + } +}) + +export class ManageTeamProfile extends Component { + constructor (props) { + super(props) + + this.toggleEdit = this.toggleEdit.bind(this) + this.handleSave = this.handleSave.bind(this) + + this.state = { + edit: false, + save: false + } + } + + render () { + const { classes, team, slug, match } = this.props + + return ( +
+ + + + + You don’t have any teams. Create one! + + + To begin developing on the Advanced Algos platform, as well as participate in Algobot competitions, + you'll need to create a team. A default trading algobot will be cloned and added to your team so + that you can begin experimenting right away. + + + + + +
+ ) + } + + toggleEdit () { + this.setState({ edit: !this.state.edit }) + } + + handleSave () { + this.setState({ save: !this.state.edit }) + } +} + +ManageTeamProfile.propTypes = { + classes: PropTypes.object.isRequired, + team: PropTypes.object.isRequired, + match: PropTypes.object.isRequired, + slug: PropTypes.string.isRequired +} + +export default withStyles(styles)(ManageTeamProfile) diff --git a/client/src/views/manage-teams/components/ManageTeamsItem.js b/client/src/views/manage-teams/components/ManageTeamsItem.js index a4522a4d3..7ec8dc9f7 100644 --- a/client/src/views/manage-teams/components/ManageTeamsItem.js +++ b/client/src/views/manage-teams/components/ManageTeamsItem.js @@ -7,14 +7,16 @@ import CardActions from '@material-ui/core/CardActions' import CardContent from '@material-ui/core/CardContent' import CardMedia from '@material-ui/core/CardMedia' import Typography from '@material-ui/core/Typography' +import Button from '@material-ui/core/Button' +import EditIcon from '@material-ui/icons/Edit' + +import { Link } from 'react-router-dom' -import ManageTeamDetails from './ManageTeamDetails' import ManageTeamDelete from './ManageTeamDelete' -import ManageTeamEdit from './ManageTeamEdit' import log from '../../../utils/log' -export const ManageTeamsItem = ({ classes, team, ...props }) => { +export const ManageTeamsItem = ({ classes, team, match, ...props }) => { log.debug('ManageTeamsItem', team, team.profile, team.profile.avatar) let avatar if (team.profile.avatar !== undefined && team.profile.avatar !== 'a') { @@ -36,13 +38,22 @@ export const ManageTeamsItem = ({ classes, team, ...props }) => { {team.name} - {team.createdAt} | Members: {team.members.length} + Members: {team.members.length} | Financial Beings: {1} - - - + + + + @@ -52,7 +63,8 @@ export const ManageTeamsItem = ({ classes, team, ...props }) => { ManageTeamsItem.propTypes = { classes: PropTypes.object.isRequired, - team: PropTypes.object.isRequired + team: PropTypes.object.isRequired, + match: PropTypes.object } export default ManageTeamsItem diff --git a/client/src/views/manage-teams/components/ManageTeamsList.js b/client/src/views/manage-teams/components/ManageTeamsList.js index 0717dda7f..d4671e805 100644 --- a/client/src/views/manage-teams/components/ManageTeamsList.js +++ b/client/src/views/manage-teams/components/ManageTeamsList.js @@ -8,22 +8,24 @@ import Typography from '@material-ui/core/Typography' import { MessageCard } from '@advancedalgos/web-components' import { withStyles } from '@material-ui/core/styles' +import { isEmpty } from '../../../utils/js-helpers' + import GET_TEAMS_BY_OWNER from '../../../graphql/teams/GetTeamsByOwnerQuery' import ManageTeamsItem from './ManageTeamsItem' +import ManageTeamProfile from './ManageTeamProfile' import CreateTeamForm from './CreateTeamForm' import log from '../../../utils/log' const styles = theme => ({ - container: { - padding: `${theme.spacing.unit * 8}px ${theme.spacing.unit * 6}px`, - margin: `${theme.spacing.unit * 1}px 0` + root: { + flexGrow: 1 }, heroContent: { - maxWidth: 600, - margin: '0 auto', - padding: `${theme.spacing.unit * 8}px 0 ${theme.spacing.unit * 6}px` + maxWidth: 800, + margin: `${theme.spacing.unit * 4}px auto`, + padding: 0 }, cardGrid: { padding: `${theme.spacing.unit * 8}px 0` @@ -51,13 +53,15 @@ const styles = theme => ({ } }) -export const ManageTeamsList = ({ classes, user = null, ...props }) => ( +export const ManageTeamsList = ({ classes, match, ...props }) => ( {({ loading, error, data }) => { log.debug('GET_TEAMS_BY_OWNER: ', loading, error, data) + let slug = null + if (!isEmpty(match.params) && match.params.slug) slug = match.params.slug let errors = null if (error) { @@ -68,54 +72,77 @@ export const ManageTeamsList = ({ classes, user = null, ...props }) => ( if (!loading && !error) { if (data.teams_TeamsByOwner.length > 0) { return ( - - {!loading && - data.teams_TeamsByOwner.map(team => ( - - ))} - {errors} - +
+
+ + {!loading && + data.teams_TeamsByOwner.map(team => { + if (slug === team.slug) { + return ( + + ) + } else { + return ( + + ) + } + })} + {errors} + +
+
) } else { return ( - - - - - You don’t have any teams. Create one! - - - To begin developing on the Advanced Algos platform, as well as participate in Algobot competitions, - you'll need to create a team. A default trading algobot will be cloned and added to your team so - that you can begin experimenting right away. - - +
+ + + + + You don’t have any teams. Create one! + + + To begin developing on the Advanced Algos platform, as well as participate in Algobot competitions, + you'll need to create a team. A default trading algobot will be cloned and added to your team so + that you can begin experimenting right away. + + + - - + +
) } } else { return ( - - - {errors === null && - - Loading... - - } - {errors !== null && - - {errors} - - } +
+ + + {errors === null && + + Loading... + + } + {errors !== null && + + {errors} + + } + - +
) } }} @@ -124,7 +151,8 @@ export const ManageTeamsList = ({ classes, user = null, ...props }) => ( ManageTeamsList.propTypes = { user: PropTypes.any, - classes: PropTypes.object.isRequired + classes: PropTypes.object.isRequired, + match: PropTypes.object } export default withStyles(styles)(ManageTeamsList) diff --git a/client/src/views/manage-teams/index.js b/client/src/views/manage-teams/index.js index 1e5a72f92..23a195750 100644 --- a/client/src/views/manage-teams/index.js +++ b/client/src/views/manage-teams/index.js @@ -1,47 +1,25 @@ import React from 'react' import PropTypes from 'prop-types' -import { withStyles } from '@material-ui/core/styles' -import Grid from '@material-ui/core/Grid' - import { BannerTopBar } from '../common' import ManageTeamsList from './components/ManageTeamsList' -const styles = theme => ({ - container: { - width: 'auto', - marginTop: theme.spacing.unit * 3, - marginLeft: theme.spacing.unit * 3, - marginRight: theme.spacing.unit * 3, - marginBottom: theme.spacing.unit * 6, - [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { - width: 800, - marginLeft: 'auto', - marginRight: 'auto' - } - } -}) - -const ManageTeams = ({ classes, ...props }) => ( +const ManageTeams = ({ match, ...props }) => (
- - - - - - + +
+ +
) ManageTeams.propTypes = { - classes: PropTypes.object.isRequired + match: PropTypes.object } -export default withStyles(styles)(ManageTeams) +export default ManageTeams diff --git a/client/src/views/team-members/components/InviteMemberDialog.js b/client/src/views/team-members/components/InviteMemberDialog.js new file mode 100644 index 000000000..422eab16c --- /dev/null +++ b/client/src/views/team-members/components/InviteMemberDialog.js @@ -0,0 +1,207 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import { Mutation } from 'react-apollo' +import { withStyles } from '@material-ui/core/styles' + +import Button from '@material-ui/core/Button' +import AddIcon from '@material-ui/icons/Add' +import TextField from '@material-ui/core/TextField' +import FormControl from '@material-ui/core/FormControl' +import FormHelperText from '@material-ui/core/FormHelperText' +import Dialog from '@material-ui/core/Dialog' +import DialogActions from '@material-ui/core/DialogActions' +import DialogContent from '@material-ui/core/DialogContent' +import DialogTitle from '@material-ui/core/DialogTitle' +import Typography from '@material-ui/core/Typography' +import { isEmpty } from '../../../utils/js-helpers' + +import SEND_MEMBER_INVITE from '../../../graphql/teams/SendMemberInvite' + +// import { checkGraphQLError } from '../../../utils/graphql-errors' + +const styles = theme => ({ + dialogStyle: { + padding: '3em' + }, + buttonRight: { + // position: 'absolute', + // right: '3em' + marginTop: '1em', + marginRight: 'auto', + marginLeft: 'auto', + display: 'block', + lineHeight: '1em' + } +}) + +export class InviteMemberDialog extends Component { + constructor (props) { + super(props) + + this.handleClickOpen = this.handleClickOpen.bind(this) + this.handleClose = this.handleClose.bind(this) + this.handleChange = this.handleChange.bind(this) + this.handleSubmit = this.handleSubmit.bind(this) + this.validate = this.validate.bind(this) + + this.state = { + open: false, + email: '', + errors: { + email: '' + } + } + } + + render () { + const { classes, teamId } = this.props + + if (this.state.open) { + return ( + + {(sendMemberInvite, { loading, error, data }) => { + console.log('sendMemberInvite: ', data) + let errors + let loader = null + if (loading) { + loader = ( + Submitting invitation... + ) + } + if (error) { + errors = error.graphQLErrors.map(({ message }, i) => { + // const displayMessage = checkGraphQLError(message) + return ( + + {message} + + ) + }) + } + return ( +
+ + + Invite a New Team Member + + {(data === undefined || data.sendMemberInviteSG !== 'Success') && ( + + this.handleChange(e)} + error={this.state.errors.email !== ''} + /> + {this.state.errors.email !== '' && ( + {this.state.errors.email} + )} + {error && {errors}} + {loader} + + )} + {data !== undefined && data.sendMemberInviteSG === 'Success' && ( + Invitation successfully sent! + )} + + + {(data === undefined || data.sendMemberInviteSG !== 'Success') && ( + + + + + )} + {data !== undefined && data.sendMemberInviteSG === 'Success' && ( + + )} + + +
+ ) + }} +
+ ) + } else { + return ( + + ) + } + } + + handleClickOpen () { + this.setState({ open: true }) + } + + handleClose () { + this.setState({ open: false }) + } + + handleChange (e) { + const errors = this.validate(e.target.value) + if (isEmpty(errors)) { + this.setState({ errors: { email: '' } }) + this.setState({ email: e.target.value }) + } else { + this.setState({ errors: errors }) + this.setState({ email: e.target.value }) + } + } + + async handleSubmit (e, sendMemberInvite, email, teamId) { + e.preventDefault() + console.log('sendMemberInvite submit: ', email, teamId) + await sendMemberInvite({ variables: { email, teamId } }) + this.setState({ email: '' }) + } + + validate (data) { + const errors = {} + if (data === '') errors.email = 'Please enter an email address' + return errors + } +} + +InviteMemberDialog.propTypes = { + classes: PropTypes.object.isRequired, + teamId: PropTypes.string +} + +export default withStyles(styles)(InviteMemberDialog) diff --git a/client/src/views/team-members/components/ManageMembersItem.js b/client/src/views/team-members/components/ManageMembersItem.js index 3dd2be7fb..a3116f048 100644 --- a/client/src/views/team-members/components/ManageMembersItem.js +++ b/client/src/views/team-members/components/ManageMembersItem.js @@ -32,7 +32,7 @@ export const ManageMembersItem = ({ classes, member, teamId, authId }) => {
- + {email !== null ? `${memberStatus[memberStatus.length - 1].status} | Sent: ${memberStatus[memberStatus.length - 1].createdAt}` : `${member.role} | Member since: `} diff --git a/client/src/views/team-members/components/ManageMembersTeamItem.js b/client/src/views/team-members/components/ManageMembersTeamItem.js index 186576377..e2b439727 100644 --- a/client/src/views/team-members/components/ManageMembersTeamItem.js +++ b/client/src/views/team-members/components/ManageMembersTeamItem.js @@ -63,7 +63,7 @@ export const ManageMembersTeamItem = ({ classes, team, authId }) => { if (team.profile.avatar !== undefined && team.profile.avatar !== 'a') { avatar = team.profile.avatar } else { - avatar = 'https://algobotcommstorage.blob.core.windows.net/aateammodule/aa-avatar-default.png' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } if (team.members.length > 0) { return ( diff --git a/client/src/views/teams/components/TeamsDetails.js b/client/src/views/teams/components/TeamsDetails.js index d7d751d14..b1b1dc6cf 100644 --- a/client/src/views/teams/components/TeamsDetails.js +++ b/client/src/views/teams/components/TeamsDetails.js @@ -1,7 +1,6 @@ import React from 'react' import PropTypes from 'prop-types' -import CssBaseline from '@material-ui/core/CssBaseline' import Typography from '@material-ui/core/Typography' import Paper from '@material-ui/core/Paper' import Grid from '@material-ui/core/Grid' @@ -9,6 +8,8 @@ import { withStyles } from '@material-ui/core/styles' import { Link } from 'react-router-dom' +import TeamsFBView from './TeamsFBView' + const styles = theme => ({ root: { flexGrow: 1 @@ -19,9 +20,7 @@ const styles = theme => ({ } }, layout: { - width: 'auto', - marginLeft: theme.spacing.unit * 3, - marginRight: theme.spacing.unit * 3, + width: '100%', marginBottom: theme.spacing.unit * 6, [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { width: 800, @@ -34,27 +33,60 @@ const styles = theme => ({ marginBottom: theme.spacing.unit * 3, padding: 0, [theme.breakpoints.up(800 + theme.spacing.unit * 3 * 2)]: { - marginTop: theme.spacing.unit * 6, + marginTop: theme.spacing.unit * 3, marginBottom: theme.spacing.unit * 6, - padding: `0 0 ${theme.spacing.unit * 6}px` + padding: `0 0 ${theme.spacing.unit * 2}px` } }, heroContent: { maxWidth: 800, margin: '0 auto', - padding: `0 0 ${theme.spacing.unit * 6}px` + padding: `0 0 ${theme.spacing.unit * 2}px` + }, + metaContainer: { + marginTop: `${theme.spacing.unit * 1}px`, + alignSelf: 'stretch', + borderRight: '1px solid #CCCCCC' + }, + teamMeta: { + margin: `${theme.spacing.unit * 3}px 0 0`, + paddingLeft: `${theme.spacing.unit * 2}px`, + textAlign: 'center' }, teamContent: { - margin: `${theme.spacing.unit * 1}px ${theme.spacing.unit * 3}px 0 0` + '& h2': { + padding: `${theme.spacing.unit * 4}px ${theme.spacing.unit * 3}px ${theme.spacing.unit * 2}px` + }, + '& h4': { + padding: `0 ${theme.spacing.unit * 3}px ${theme.spacing.unit * 2}px` + }, + '& h6': { + padding: `0 ${theme.spacing.unit * 3}px 0` + } + }, + fbContent: { + borderTop: '1px solid #CCCCCC', + width: '90%', + margin: `${theme.spacing.unit * 3}px auto`, + paddingTop: `${theme.spacing.unit * 3}px` }, banner: { maxWidth: '100%', - height: 'auto' + height: 'auto', + width: '100%' }, avatar: { - maxWidth: 100, - height: 100, - margin: `${theme.spacing.unit * 1}px 0 0 ${theme.spacing.unit * 3}px ` + maxWidth: 125, + height: 125, + margin: `0 auto ${theme.spacing.unit * 2}px`, + verticalAlign: 'middle', + borderRadius: '50%' + }, + backLink: { + display: 'block', + textDecoration: 'none', + margin: `${theme.spacing.unit * 3}px 0 0`, + color: theme.palette.secondary.main } }) @@ -63,25 +95,38 @@ const TeamsDetails = ({ classes, team }) => { if (team.profile.avatar !== undefined && team.profile.avatar !== null) { avatar = team.profile.avatar } else { - avatar = 'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22288%22%20height%3D%22225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20288%20225%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_164edaf95ee%20text%20%7B%20fill%3A%23eceeef%3Bfont-weight%3Abold%3Bfont-family%3AArial%2C%20Helvetica%2C%20Open%20Sans%2C%20sans-serif%2C%20monospace%3Bfont-size%3A14pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_164edaf95ee%22%3E%3Crect%20width%3D%22288%22%20height%3D%22225%22%20fill%3D%22%2355595c%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%2296.32500076293945%22%20y%3D%22118.8%22%3EThumbnail%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E' + avatar = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' } let banner if (team.profile.banner !== undefined && team.profile.banner !== null) { banner = team.profile.banner } else { - banner = 'data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%22288%22%20height%3D%22225%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20288%20225%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%23holder_164edaf95ee%20text%20%7B%20fill%3A%23eceeef%3Bfont-weight%3Abold%3Bfont-family%3AArial%2C%20Helvetica%2C%20Open%20Sans%2C%20sans-serif%2C%20monospace%3Bfont-size%3A14pt%20%7D%20%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22holder_164edaf95ee%22%3E%3Crect%20width%3D%22288%22%20height%3D%22225%22%20fill%3D%22%2355595c%22%3E%3C%2Frect%3E%3Cg%3E%3Ctext%20x%3D%2296.32500076293945%22%20y%3D%22118.8%22%3EThumbnail%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E' + banner = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' } + + const created = new Date(team.createdAt) + return ( - - +
- ← Back to all teams + ← Back to all teams
{team.name} - - {team.name} + + + {team.name} + + Members: {team.members.length} + + + Financial Beings: 1 + + + Created: {created.toLocaleDateString()} + + @@ -92,25 +137,33 @@ const TeamsDetails = ({ classes, team }) => { > {team.name} - - {team.createdAt} - - + Motto: {team.profile.motto} - + Description: {team.profile.description} - - Members: {team.members.length} + + + + Financial Beings +
- +
) } TeamsDetails.propTypes = { diff --git a/client/src/views/teams/components/TeamsFBView.js b/client/src/views/teams/components/TeamsFBView.js new file mode 100644 index 000000000..bbdc3d6fc --- /dev/null +++ b/client/src/views/teams/components/TeamsFBView.js @@ -0,0 +1,70 @@ +import React from 'react' +import PropTypes from 'prop-types' + +import Grid from '@material-ui/core/Grid' +import Card from '@material-ui/core/Card' +import CardContent from '@material-ui/core/CardContent' +import CardMedia from '@material-ui/core/CardMedia' +import Typography from '@material-ui/core/Typography' +import { withStyles } from '@material-ui/core/styles' + +import log from '../../../utils/log' + +const styles = theme => ({ + fbContainer: { + margin: `0 0 ${theme.spacing.unit * 2}px` + }, + card: { + display: 'flex', + width: '100%' + }, + cardDetails: { + display: 'flex', + flex: 1 + }, + cardContent: { + flex: 1 + }, + cardMedia: { + flex: 1, + width: 100, + height: 100, + maxWidth: 100, + justifyContent: 'flex-start' + } +}) + +export const TeamsFBView = ({ classes, team }) => { + log.debug('ManageTeamProvileFBView', team, team.fb[0], team.fb[0].avatar) + + let avatar = (team.fb[0].avatar !== undefined && team.fb[0].avatar !== null) ? team.fb[0].avatar : 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-avatar-default.png' + + return ( + + +
+ + + + {team.fb[0].name} + + + {team.fb[0].kind} + + +
+
+
+ ) +} + +TeamsFBView.propTypes = { + classes: PropTypes.object.isRequired, + team: PropTypes.object.isRequired +} + +export default withStyles(styles)(TeamsFBView) diff --git a/client/src/views/teams/components/TeamsItem.js b/client/src/views/teams/components/TeamsItem.js index 543cf810b..c0460e29a 100644 --- a/client/src/views/teams/components/TeamsItem.js +++ b/client/src/views/teams/components/TeamsItem.js @@ -4,14 +4,40 @@ import PropTypes from 'prop-types' import Grid from '@material-ui/core/Grid' import Card from '@material-ui/core/Card' import CardActionArea from '@material-ui/core/CardActionArea' -import CardActions from '@material-ui/core/CardActions' import CardContent from '@material-ui/core/CardContent' import CardMedia from '@material-ui/core/CardMedia' -import Button from '@material-ui/core/Button' import Typography from '@material-ui/core/Typography' +import { withStyles } from '@material-ui/core/styles' import { Link } from 'react-router-dom' // const TeamDetailsLink = ({ teamSlug, ...props }) => + +const styles = theme => ({ + card: { + height: '100%', + display: 'flex', + flexDirection: 'column' + }, + cardMedia: { + paddingTop: '25%', // 16:9 + width: '100%' + }, + cardContent: { + flexGrow: 1 + }, + avatar: { + maxWidth: 65, + height: 65, + margin: '0 0.875em 0 0', + borderRadius: '50%', + verticalAlign: 'middle', + alignSelf: 'flex-start' + }, + buttonRight: { + textDecoration: 'none' + } +}) + export const TeamsItem = ({ classes, team }) => { let avatar if (team.profile.avatar !== undefined && team.profile.avatar !== 'a') { @@ -26,9 +52,9 @@ export const TeamsItem = ({ classes, team }) => { banner = 'https://aadevelop.blob.core.windows.net/module-teams/module-default/aa-banner-default.png' } return ( - + - + { /> - + {team.name} - - {team.name} - - - Members: 1 - - - Now recruiting! - + + + + {team.name} + + + + + + + Members: 1 + + + + + Financial Beings: 1 + + + + + - - - - - ) @@ -70,4 +101,4 @@ TeamsItem.propTypes = { team: PropTypes.object.isRequired } -export default TeamsItem +export default withStyles(styles)(TeamsItem) diff --git a/client/src/views/teams/components/TeamsList.js b/client/src/views/teams/components/TeamsList.js index 0dc6877c9..db813ea27 100644 --- a/client/src/views/teams/components/TeamsList.js +++ b/client/src/views/teams/components/TeamsList.js @@ -16,32 +16,8 @@ import TeamsItem from './TeamsItem' import TeamsDetails from './TeamsDetails' const styles = theme => ({ - heroContent: { - maxWidth: 600, - margin: '0 auto', - padding: `${theme.spacing.unit * 8}px 0 ${theme.spacing.unit * 6}px` - }, - cardGrid: { - padding: `${theme.spacing.unit * 8}px 0` - }, - card: { - height: '100%', - display: 'flex', - flexDirection: 'column' - }, - cardMedia: { - paddingTop: '25%' // 16:9 - }, - cardContent: { - flexGrow: 1 - }, - avatar: { - maxWidth: 50, - height: 50, - margin: '0 1em 1em 0' - }, - buttonRight: { - justifyContent: 'flex-end' + teamListsContainer: { + margin: `${theme.spacing.unit * 3}px 0 ${theme.spacing.unit * 6}px` } }) @@ -67,7 +43,7 @@ export const TeamsList = ({ classes, match }) => ( if (data.teams_Teams.edges.length > 0) { if (slug !== null) { return ( - + {!loading && data.teams_Teams.edges.map(team => { if (team.node.slug === slug) { @@ -82,32 +58,31 @@ export const TeamsList = ({ classes, match }) => ( ) } else { return ( - - +
+ {!loading && data.teams_Teams.edges.map(team => ( ))} {queryLoader} {errors} - +
) } } else { return ( - + ) } } else { return ( - + {queryLoader} {errors} diff --git a/client/src/views/teams/index.js b/client/src/views/teams/index.js index 9d6b4fa9d..d68e5658f 100644 --- a/client/src/views/teams/index.js +++ b/client/src/views/teams/index.js @@ -31,10 +31,10 @@ const styles = theme => ({ const Teams = ({ classes, match }) => ( - -
+ +
-
+
) diff --git a/client/src/views/theme.js b/client/src/views/theme.js index 26043dfc0..81d977e9b 100644 --- a/client/src/views/theme.js +++ b/client/src/views/theme.js @@ -8,7 +8,7 @@ export const theme = createMuiTheme({ secondary: indigo }, typography: { - fontFamily: '"Saira","Saira Condenses", sans-serif' + fontFamily: '"Saira","Saira Condensed", sans-serif' }, overrides: { Paper: {