From a9a3868e371a855a30ab4f227523645c86057895 Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 9 Jan 2020 17:23:09 -0800 Subject: [PATCH 01/12] update deps --- package-lock.json | 76 ++++++++++++++++---------------- package.json | 18 ++++---- web-app/package-lock.json | 93 +++++++++++++++++++++++---------------- web-app/package.json | 23 +++++----- 4 files changed, 114 insertions(+), 96 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b08f2ef..da164da1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -107,9 +107,9 @@ } }, "@types/jest": { - "version": "24.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.24.tgz", - "integrity": "sha512-vgaG968EDPSJPMunEDdZvZgvxYSmeH8wKqBlHSkBt1pV2XlLEVDzsj1ZhLuI4iG4Pv841tES61txSBF0obh4CQ==", + "version": "24.0.25", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.25.tgz", + "integrity": "sha512-hnP1WpjN4KbGEK4dLayul6lgtys6FPz0UfxMeMQCv0M+sTnzN3ConfiO72jHgLxl119guHgI8gLqDOrRLsyp2g==", "dev": true, "requires": { "jest-diff": "^24.3.0" @@ -147,9 +147,9 @@ "dev": true }, "@types/node": { - "version": "12.12.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.17.tgz", - "integrity": "sha512-Is+l3mcHvs47sKy+afn2O1rV4ldZFU7W8101cNlOd+MRbjM4Onida8jSZnJdTe/0Pcf25g9BNIUsuugmE6puHA==", + "version": "13.1.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz", + "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==", "dev": true }, "@types/tough-cookie": { @@ -159,9 +159,9 @@ "dev": true }, "@types/yargs": { - "version": "13.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.3.tgz", - "integrity": "sha512-K8/LfZq2duW33XW/tFwEAfnZlqIfVsoyRB3kfXdPXYhl0nfM8mmh7GS0jg7WrX2Dgq/0Ha/pR1PaR+BvmWwjiQ==", + "version": "13.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.4.tgz", + "integrity": "sha512-Ke1WmBbIkVM8bpvsNEcGgQM70XcEh/nbpxQhW7FhrsbCsXSY9BmLB1+LHtD7r9zrsOcFlLiF+a/UeJsdfw3C5A==", "dev": true, "requires": { "@types/yargs-parser": "*" @@ -174,12 +174,12 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.11.0.tgz", - "integrity": "sha512-G2HHA1vpMN0EEbUuWubiCCfd0R3a30BB+UdvnFkxwZIxYEGOrWEXDv8tBFO9f44CWc47Xv9lLM3VSn4ORLI2bA==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.15.0.tgz", + "integrity": "sha512-XRJFznI5v4K1WvIrWmjFjBAdQWaUTz4xJEdqR7+wAFsv6Q9dP3mOlE6BMNT3pdlp9eF1+bC5m5LZTmLMqffCVw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.11.0", + "@typescript-eslint/experimental-utils": "2.15.0", "eslint-utils": "^1.4.3", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", @@ -187,32 +187,32 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.11.0.tgz", - "integrity": "sha512-YxcA/y0ZJaCc/fB/MClhcDxHI0nOBB7v2/WxBju2cOTanX7jO9ttQq6Fy4yW9UaY5bPd9xL3cun3lDVqk67sPQ==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.11.0", + "@typescript-eslint/typescript-estree": "2.15.0", "eslint-scope": "^5.0.0" } }, "@typescript-eslint/parser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.11.0.tgz", - "integrity": "sha512-DyGXeqhb3moMioEFZIHIp7oXBBh7dEfPTzGrlyP0Mi9ScCra4SWEGs3kPd18mG7Sy9Wy8z88zmrw5tSGL6r/6A==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.15.0.tgz", + "integrity": "sha512-6iSgQsqAYTaHw59t0tdjzZJluRAjswdGltzKEdLtcJOxR2UVTPHYvZRqkAVGCkaMVb6Fpa60NnuozNCvsSpA9g==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.11.0", - "@typescript-eslint/typescript-estree": "2.11.0", + "@typescript-eslint/experimental-utils": "2.15.0", + "@typescript-eslint/typescript-estree": "2.15.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.11.0.tgz", - "integrity": "sha512-HGY4+d4MagO6cKMcKfIKaTMxcAv7dEVnji2Zi+vi5VV8uWAM631KjAB5GxFcexMYrwKT0EekRiiGK1/Sd7VFGA==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -610,9 +610,9 @@ "dev": true }, "concurrently": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.0.1.tgz", - "integrity": "sha512-fPKUlOAXEXpktp3z7RqIvzTSCowfDo8oQbdKoGKGZVm+G2hGFbIIAFm4qwWcGl/sIHmpMSgPqeCbjld3kdPXvA==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-5.0.2.tgz", + "integrity": "sha512-iUNVI6PzKO0RVXV9pHWM0khvEbELxf3XLIoChaV6hHyoIaJuxQWZiOwlNysnJX5khsfvIK66+OJqRdbYrdsR1g==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -622,7 +622,7 @@ "rxjs": "^6.5.2", "spawn-command": "^0.0.2-1", "supports-color": "^6.1.0", - "tree-kill": "^1.2.1", + "tree-kill": "^1.2.2", "yargs": "^13.3.0" }, "dependencies": { @@ -970,9 +970,9 @@ } }, "eslint-config-prettier": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz", - "integrity": "sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz", + "integrity": "sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -2791,9 +2791,9 @@ "dev": true }, "ts-jest": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.2.0.tgz", - "integrity": "sha512-Yc+HLyldlIC9iIK8xEN7tV960Or56N49MDP7hubCZUeI7EbIOTsas6rXCMB4kQjLACJ7eDOF4xWEO5qumpKsag==", + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.3.0.tgz", + "integrity": "sha512-Hb94C/+QRIgjVZlJyiWwouYUF+siNJHJHknyspaOcZ+OQAIdFG/UrdQVXw/0B8Z3No34xkUXZJpOTy9alOWdVQ==", "dev": true, "requires": { "bs-logger": "0.x", @@ -2868,9 +2868,9 @@ "dev": true }, "typescript": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz", - "integrity": "sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz", + "integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==", "dev": true }, "uri-js": { diff --git a/package.json b/package.json index ec51a22a..018a4fb3 100644 --- a/package.json +++ b/package.json @@ -39,23 +39,23 @@ "@types/assert": "^1.4.3", "@types/dotenv": "^8.2.0", "@types/glob": "^7.1.1", - "@types/jest": "^24.0.23", + "@types/jest": "^24.0.25", "@types/jsdom": "^12.2.4", - "@types/node": "^12.12.17", - "@typescript-eslint/eslint-plugin": "^2.11.0", - "@typescript-eslint/parser": "^2.11.0", + "@types/node": "^13.1.6", + "@typescript-eslint/eslint-plugin": "^2.15.0", + "@typescript-eslint/parser": "^2.15.0", "assert": "^2.0.0", "concurrently": "^5.0.1", "dotenv": "^8.2.0", - "eslint": "^6.7.2", - "eslint-config-prettier": "^6.7.0", - "eslint-plugin-prettier": "^3.1.1", + "eslint": "^6.8.0", + "eslint-config-prettier": "^6.9.0", + "eslint-plugin-prettier": "^3.1.2", "glob": "^7.1.6", "graphql": "^14.5.8", "mocha": "^6.2.2", "prettier": "^1.19.1", - "ts-jest": "^24.2.0", - "typescript": "^3.7.3", + "ts-jest": "^24.3.0", + "typescript": "^3.7.4", "vscode": "^1.1.36", "vscode-test": "^1.3.0" }, diff --git a/web-app/package-lock.json b/web-app/package-lock.json index 487f8598..7aef4e8f 100644 --- a/web-app/package-lock.json +++ b/web-app/package-lock.json @@ -14,9 +14,9 @@ } }, "@alifd/next": { - "version": "1.18.17", - "resolved": "https://registry.npmjs.org/@alifd/next/-/next-1.18.17.tgz", - "integrity": "sha512-i8V4CWY0IoeRPMjGb8rFEyilbDXYUvIOG06nkdx8LvHBTq9MbkC/lnG9dDVjsxb+l5a17UEihnJ0F9ZJ7+1oHw==", + "version": "1.19.8", + "resolved": "https://registry.npmjs.org/@alifd/next/-/next-1.19.8.tgz", + "integrity": "sha512-76TIGIbrwbAHMVmX5HUWDUzOtr+y/IcAKBw4tz8s04yRNijqEb1m5c9fBnqrw/Aiyx8EPtLYQHB/0Wmziomm4g==", "requires": { "@alifd/field": "~1.3.3", "@alifd/validate": "~1.1.4", @@ -30,11 +30,11 @@ } }, "@alifd/theme-4": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@alifd/theme-4/-/theme-4-0.2.1.tgz", - "integrity": "sha512-EAzUj073L/SPgbplV4/eseyt0dTTt08tO31YPm3cYTsb7WQmOZmB5jhYc1UBSTNvC3uLlVzl1lcciuYjXOtOgA==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@alifd/theme-4/-/theme-4-0.2.3.tgz", + "integrity": "sha512-h+TQ+D7NJnS77b/RmuV5liUzL6GmltozzN3gzy4GVCWrPQBQV0dJkaWikF4Qlf4DlQnR2xtZFG3Iw7o/+dqdyQ==", "requires": { - "@alifd/next": "~1.18.16" + "@alifd/next": "~1.19.7" } }, "@alifd/validate": { @@ -3404,9 +3404,9 @@ } }, "@types/jest": { - "version": "24.0.24", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.24.tgz", - "integrity": "sha512-vgaG968EDPSJPMunEDdZvZgvxYSmeH8wKqBlHSkBt1pV2XlLEVDzsj1ZhLuI4iG4Pv841tES61txSBF0obh4CQ==", + "version": "24.0.25", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-24.0.25.tgz", + "integrity": "sha512-hnP1WpjN4KbGEK4dLayul6lgtys6FPz0UfxMeMQCv0M+sTnzN3ConfiO72jHgLxl119guHgI8gLqDOrRLsyp2g==", "dev": true, "requires": { "jest-diff": "^24.3.0" @@ -3440,9 +3440,9 @@ "dev": true }, "@types/node": { - "version": "12.12.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.22.tgz", - "integrity": "sha512-r5i93jqbPWGXYXxianGATOxTelkp6ih/U0WVnvaqAvTqM+0U6J3kw6Xk6uq/dWNRkEVw/0SLcO5ORXbVNz4FMQ==" + "version": "13.1.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.6.tgz", + "integrity": "sha512-Jg1F+bmxcpENHP23sVKkNuU3uaxPnsBMW0cLjleiikFKomJQbsn0Cqk2yDvQArqzZN6ABfBkZ0To7pQ8sLdWDg==" }, "@types/parse-json": { "version": "4.0.0", @@ -3450,6 +3450,12 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, + "@types/prismjs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.16.0.tgz", + "integrity": "sha512-mEyuziLrfDCQ4juQP1k706BUU/c8OGn/ZFl69AXXY6dStHClKX4P+N8+rhqpul1vRDA2VOygzMRSJJZHyDEOfw==", + "dev": true + }, "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", @@ -3551,12 +3557,12 @@ "integrity": "sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==" }, "@typescript-eslint/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-QoiANo0MMGNa8ej/yX3BrW5dZj5d8HYcKiM2fyYUlezECqn8Xc7T/e4EUdiGinn8jhBrn+9X47E9TWaaup3u1g==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.15.0.tgz", + "integrity": "sha512-XRJFznI5v4K1WvIrWmjFjBAdQWaUTz4xJEdqR7+wAFsv6Q9dP3mOlE6BMNT3pdlp9eF1+bC5m5LZTmLMqffCVw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.13.0", + "@typescript-eslint/experimental-utils": "2.15.0", "eslint-utils": "^1.4.3", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", @@ -3564,13 +3570,13 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.13.0.tgz", - "integrity": "sha512-+Hss3clwa6aNiC8ZjA45wEm4FutDV5HsVXPl/rDug1THq6gEtOYRGLqS3JlTk7mSnL5TbJz0LpEbzbPnKvY6sw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.15.0.tgz", + "integrity": "sha512-Qkxu5zndY5hqlcQkmA88gfLvqQulMpX/TN91XC7OuXsRf4XG5xLGie0sbpX97o/oeccjeZYRMipIsjKk/tjDHA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.13.0", + "@typescript-eslint/typescript-estree": "2.15.0", "eslint-scope": "^5.0.0" }, "dependencies": { @@ -3587,21 +3593,21 @@ } }, "@typescript-eslint/parser": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.13.0.tgz", - "integrity": "sha512-vbDeLr5QRJ1K7x5iRK8J9wuGwR9OVyd1zDAY9XFAQvAosHVjSVbDgkm328ayE6hx2QWVGhwvGaEhedcqAbfQcA==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.15.0.tgz", + "integrity": "sha512-6iSgQsqAYTaHw59t0tdjzZJluRAjswdGltzKEdLtcJOxR2UVTPHYvZRqkAVGCkaMVb6Fpa60NnuozNCvsSpA9g==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.13.0", - "@typescript-eslint/typescript-estree": "2.13.0", + "@typescript-eslint/experimental-utils": "2.15.0", + "@typescript-eslint/typescript-estree": "2.15.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.13.0.tgz", - "integrity": "sha512-t21Mg5cc8T3ADEUGwDisHLIubgXKjuNRbkpzDMLb7/JMmgCe/gHM9FaaujokLey+gwTuLF5ndSQ7/EfQqrQx4g==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.15.0.tgz", + "integrity": "sha512-L6Pog+w3VZzXkAdyqA0VlwybF8WcwZX+mufso86CMxSdWmcizJ38lgBdpqTbc9bo92iyi0rOvmATKiwl+amjxg==", "dev": true, "requires": { "debug": "^4.1.1", @@ -8284,9 +8290,9 @@ } }, "eslint-config-prettier": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.7.0.tgz", - "integrity": "sha512-FamQVKM3jjUVwhG4hEMnbtsq7xOIDm+SY5iBPfR8gKsJoAB2IQnNF+bk1+8Fy44Nq7PPJaLvkRxILYdJWoguKQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.9.0.tgz", + "integrity": "sha512-k4E14HBtcLv0uqThaI6I/n1LEqROp8XaPu6SO9Z32u5NlGRC07Enu1Bh2KEFw4FNHbekH8yzbIU9kUGxbiGmCA==", "dev": true, "requires": { "get-stdin": "^6.0.0" @@ -16012,9 +16018,9 @@ "dev": true }, "prismjs": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", - "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.18.0.tgz", + "integrity": "sha512-N0r3i/Cto516V8+GKKamhsPVZSFcO0TMUBtIDW6uq6BVqoC3FNtZVZ+cmH16N2XtGQlgRN+sFUTjOdCsEP51qw==", "requires": { "clipboard": "^2.0.0" } @@ -17824,6 +17830,17 @@ "hastscript": "^5.0.0", "parse-entities": "^1.1.2", "prismjs": "~1.17.0" + }, + "dependencies": { + "prismjs": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.17.1.tgz", + "integrity": "sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==", + "dev": true, + "requires": { + "clipboard": "^2.0.0" + } + } } }, "regenerate": { @@ -21572,9 +21589,9 @@ "dev": true }, "xstate": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.7.3.tgz", - "integrity": "sha512-+1KyOB2JTv4kQQlZnEiDxSpEaIJnqslMa/479sc1KU3NMRP0caIV3p55Sr27GFS1EXQvnJ+n84bnWx77qplDWg==" + "version": "4.7.6", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.7.6.tgz", + "integrity": "sha512-TjBk1/uOxu2yxSQW0eNNasOvKMtg+4KknlkM57Pw9D+jF124nLz+Qo4nEcC98rR6YMw4d9VxunIb5XzOjgLqlQ==" }, "xtend": { "version": "4.0.2", diff --git a/web-app/package.json b/web-app/package.json index 8bfec4b4..2d8cb86d 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -26,8 +26,8 @@ "extends": "react-app" }, "dependencies": { - "@alifd/next": "^1.18.17", - "@alifd/theme-4": "^0.2.1", + "@alifd/next": "^1.19.8", + "@alifd/theme-4": "^0.2.3", "@apollo/react-hooks": "^3.1.3", "apollo-boost": "^0.4.7", "graphql": "^14.5.8", @@ -35,12 +35,12 @@ "markdown-it-emoji": "^1.4.0", "markdown-it-prism": "^2.0.3", "moment": "^2.24.0", - "prismjs": "^1.17.1", + "prismjs": "^1.18.0", "react": "^16.12.0", "react-dom": "^16.12.0", "reselect": "^4.0.0", - "typescript": "^3.7.3", - "xstate": "^4.7.3" + "typescript": "^3.7.4", + "xstate": "^4.7.6" }, "devDependencies": { "@babel/core": "^7.5.4", @@ -51,17 +51,18 @@ "@storybook/react": "^5.2.8", "@types/graphql": "^14.5.0", "@types/highlight.js": "^9.12.3", - "@types/jest": "^24.0.24", + "@types/jest": "^24.0.25", "@types/markdown-it": "0.0.9", - "@types/node": "^12.12.17", - "@types/react": "^16.9.16", + "@types/node": "^13.1.6", + "@types/prismjs": "^1.16.0", + "@types/react": "^16.9.17", "@types/react-dom": "^16.9.4", - "@typescript-eslint/eslint-plugin": "^2.11.0", - "@typescript-eslint/parser": "^2.11.0", + "@typescript-eslint/eslint-plugin": "^2.15.0", + "@typescript-eslint/parser": "^2.15.0", "babel-loader": "8.0.5", "babel-plugin-import": "^1.12.1", "eslint": "^6.8.0", - "eslint-config-prettier": "^6.7.0", + "eslint-config-prettier": "^6.9.0", "eslint-plugin-prettier": "^3.1.2", "node-sass": "^4.13.0", "prettier": "^1.19.1", From 4f167c8148f137c37a5340bff1d4e3d334bc841a Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 9 Jan 2020 17:23:25 -0800 Subject: [PATCH 02/12] update typings --- typings/graphql.d.ts | 937 +++++++++++++++++++------------------------ 1 file changed, 417 insertions(+), 520 deletions(-) diff --git a/typings/graphql.d.ts b/typings/graphql.d.ts index 7011ad73..b9a5a33d 100644 --- a/typings/graphql.d.ts +++ b/typings/graphql.d.ts @@ -1,36 +1,30 @@ -import {GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig} from 'graphql' +import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql' export type Maybe = T | null -export type RequireFields = {[X in Exclude]?: T[X]} & - {[P in K]-?: NonNullable} +export type RequireFields = { [X in Exclude]?: T[X] } & + { [P in K]-?: NonNullable } /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { - ID: string - String: string - Boolean: boolean - Int: number - Float: number - DateTime: any - Sha1: any - JSON: any - JSONObject: any -} - -/** Commits from a Git Repo */ -export type Commit = { - __typename?: 'Commit' - id: Scalars['Sha1'] - message?: Maybe - username?: Maybe + ID: string + String: string + Boolean: boolean + Int: number + Float: number + DateTime: any + JSON: any + JSONObject: any + Sha1: any } export type CreateTutorialInput = { - /** TODO: tutorial type */ - id: Scalars['ID'] + /** TODO: tutorial type */ + id: Scalars['ID'] + summaryTitle: Scalars['String'] + summaryDescription: Scalars['String'] } export type CreateTutorialVersionInput = { - /** TODO: tutorial version type */ - id: Scalars['ID'] + /** TODO: tutorial version type */ + id: Scalars['ID'] } /** Supported Editors */ @@ -41,15 +35,15 @@ export type Editor = 'VSCODE' * Accepts a unique machineId from the editor */ export type EditorLoginInput = { - editor: Editor - machineId: Scalars['String'] - sessionId: Scalars['String'] + editor: Editor + machineId: Scalars['String'] + sessionId: Scalars['String'] } export type EditorLoginOutput = { - __typename?: 'editorLoginOutput' - user: User - token: Scalars['String'] + __typename?: 'editorLoginOutput' + user: User + token: Scalars['String'] } /** @@ -57,235 +51,197 @@ export type EditorLoginOutput = { * See a complete list at https://code.visualstudio.com/docs/languages/identifiers */ export type FileFormat = - | 'CLOJURE' - | 'C' - | 'CPP' - | 'CSHARP' - | 'CSS' - | 'DIFF' - | 'DOCKERFILE' - | 'FSHARP' - | 'GO' - | 'HTML' - | 'INI' - | 'JAVA' - | 'JS' - | 'JSON' - | 'JSONC' - | 'JSX' - | 'LATEX' - | 'LESS' - | 'LUA' - | 'MARKDOWN' - | 'PHP' - | 'PY' - | 'R' - | 'RB' - | 'RUST' - | 'SASS' - | 'SCSS' - | 'SQL' - | 'SWIFT' - | 'TS' - | 'TSX' - | 'XML' - | 'YAML' + | 'CLOJURE' + | 'C' + | 'CPP' + | 'CSHARP' + | 'CSS' + | 'DIFF' + | 'DOCKERFILE' + | 'FSHARP' + | 'GO' + | 'HTML' + | 'INI' + | 'JAVA' + | 'JS' + | 'JSON' + | 'JSONC' + | 'JSX' + | 'LATEX' + | 'LESS' + | 'LUA' + | 'MARKDOWN' + | 'PHP' + | 'PY' + | 'R' + | 'RB' + | 'RUST' + | 'SASS' + | 'SCSS' + | 'SQL' + | 'SWIFT' + | 'TS' + | 'TSX' + | 'XML' + | 'YAML' /** Information linked from a GitHub account */ export type GithubUser = { - __typename?: 'GithubUser' - id: Scalars['ID'] - name?: Maybe - email?: Maybe - location?: Maybe - avatarUrl?: Maybe + __typename?: 'GithubUser' + id: Scalars['ID'] + name?: Maybe + email?: Maybe + location?: Maybe + avatarUrl?: Maybe } /** Logical groupings of tasks */ export type Level = { - __typename?: 'Level' - id: Scalars['ID'] - title: Scalars['String'] - /** A summary of the level */ - description: Scalars['String'] - /** The lesson content of the level, parsed as markdown */ - content: Scalars['String'] - /** A set of tasks for users linked to unit tests */ - steps: Array - /** Actions run on level start up for configuring setup */ - setup?: Maybe + __typename?: 'Level' + id: Scalars['ID'] + title: Scalars['String'] + /** A summary of the level */ + summary: Scalars['String'] + /** Detailed description */ + description?: Maybe + /** The lesson content of the level, parsed as markdown */ + content: Scalars['String'] + /** Actions run on level start up for configuring setup */ + setup?: Maybe + /** A set of tasks for users linked to unit tests */ + steps: Array } export type Mutation = { - __typename?: 'Mutation' - /** Login used from a coding editor */ - editorLogin?: Maybe - /** Update a users tutorial progress */ - updateTutorialProgress?: Maybe - /** Create a new tutorial */ - createTutorial?: Maybe - /** Create a new tutorial version */ - createTutorialVersion?: Maybe - /** Update a tutorial version */ - updateTutorialVersion?: Maybe - /** Publish a tutorial version */ - publishTutorialVersion?: Maybe - /** Deprecate a tutorial version */ - deprecateTutorialVersion?: Maybe + __typename?: 'Mutation' + /** Login used from a coding editor */ + editorLogin?: Maybe + /** Update a users tutorial progress */ + updateTutorialProgress?: Maybe + /** Create a new tutorial */ + createTutorial?: Maybe + /** Create a new tutorial version */ + createTutorialVersion?: Maybe + /** Update a tutorial version */ + updateTutorialVersion?: Maybe + /** Publish a tutorial version */ + publishTutorialVersion?: Maybe + /** Deprecate a tutorial version */ + deprecateTutorialVersion?: Maybe } export type MutationEditorLoginArgs = { - input: EditorLoginInput + input: EditorLoginInput } export type MutationUpdateTutorialProgressArgs = { - input: UpdateTutorialProgressInput + input: UpdateTutorialProgressInput } export type MutationCreateTutorialArgs = { - input: CreateTutorialInput + input: CreateTutorialInput } export type MutationCreateTutorialVersionArgs = { - input: CreateTutorialVersionInput + input: CreateTutorialVersionInput } export type MutationUpdateTutorialVersionArgs = { - input: UpdateTutorialVersionInput + input: UpdateTutorialVersionInput } export type MutationPublishTutorialVersionArgs = { - tutorialId: Scalars['ID'] - versionID: Scalars['ID'] + tutorialId: Scalars['ID'] + versionID: Scalars['ID'] } export type MutationDeprecateTutorialVersionArgs = { - tutorialId: Scalars['ID'] - versionID: Scalars['ID'] + tutorialId: Scalars['ID'] + versionID: Scalars['ID'] } export type Query = { - __typename?: 'Query' - tutorial?: Maybe - tutorials: Array> - viewer?: Maybe - /** TOOD: move inside of viewer */ - commits: Array> + __typename?: 'Query' + /** Return a tutorial based on it's ID */ + tutorial?: Maybe + /** Returns a list of tutorials */ + tutorials: Array> + viewer?: Maybe } export type QueryTutorialArgs = { - id: Scalars['ID'] -} - -export type QueryCommitsArgs = { - input: TutorialRepoInput + id: Scalars['ID'] } export type Role = 'ADMIN' | 'EDITOR_USER' /** A level task */ export type Step = { - __typename?: 'Step' - id: Scalars['ID'] - content: Scalars['String'] - setup: StepActions - solution: StepActions -} - -/** Load commits, open files or run commands */ -export type StepActions = { - __typename?: 'StepActions' - id: Scalars['ID'] - commits: Array - files?: Maybe> - commands?: Maybe> - watchers?: Maybe> + __typename?: 'Step' + id: Scalars['ID'] + title: Scalars['String'] + content: Scalars['String'] + setup?: Maybe + solution?: Maybe } /** A tutorial for use in VSCode CodeRoad */ export type Tutorial = { - __typename?: 'Tutorial' - id: Scalars['ID'] - latestVersionId: Scalars['ID'] - version: TutorialVersion - versions: Array - summary: TutorialSummary -} - -/** A tutorial for use in VSCode CodeRoad */ -export type TutorialVersionArgs = { - version?: Maybe -} - -/** Configure environment in editor for git, testing & parsing files */ -export type TutorialConfig = { - __typename?: 'TutorialConfig' - testRunner: TutorialTestRunner - repo: TutorialRepo + __typename?: 'Tutorial' + id: Scalars['ID'] + createdBy?: Maybe + latestVersion: TutorialVersion + versions?: Maybe> + summary: TutorialSummary } /** Data for tutorial */ export type TutorialData = { - __typename?: 'TutorialData' - config: TutorialConfig - levels: Array + __typename?: 'TutorialData' + config: Scalars['JSON'] + levels: Array } export type TutorialProgressStatus = 'IN_PROGRESS' | 'COMPLETED' | 'SKIPPED' export type TutorialProgressType = 'LEVEL' | 'STEP' | 'TUTORIAL' -/** Repo referenced by commmits in the tutorial */ -export type TutorialRepo = { - __typename?: 'TutorialRepo' - uri: Scalars['String'] - branch: Scalars['String'] - name?: Maybe - owner?: Maybe -} - export type TutorialRepoInput = { - uri: Scalars['String'] - branch: Scalars['String'] + uri: Scalars['String'] + branch: Scalars['String'] } /** Summary of tutorial used when selecting tutorial */ export type TutorialSummary = { - __typename?: 'TutorialSummary' - title: Scalars['String'] - description: Scalars['String'] -} - -export type TutorialTestRunner = { - __typename?: 'TutorialTestRunner' - command: Scalars['String'] - fileFormats?: Maybe> + __typename?: 'TutorialSummary' + title: Scalars['String'] + description: Scalars['String'] } /** A version of a tutorial */ export type TutorialVersion = { - __typename?: 'TutorialVersion' - version: Scalars['ID'] - createdAt: Scalars['DateTime'] - createdBy: User - updatedAt: Scalars['DateTime'] - updatedBy: User - publishedAt?: Maybe - publishedBy?: Maybe - data: TutorialData + __typename?: 'TutorialVersion' + id: Scalars['ID'] + createdAt: Scalars['DateTime'] + createdBy: User + updatedAt: Scalars['DateTime'] + updatedBy: User + publishedAt?: Maybe + publishedBy?: Maybe + data: TutorialData } export type UpdateTutorialProgressInput = { - tutorialId: Scalars['ID'] - versionId: Scalars['ID'] - type: TutorialProgressType - entityId: Scalars['ID'] - status: TutorialProgressStatus + tutorialId: Scalars['ID'] + versionId: Scalars['ID'] + type: TutorialProgressType + entityId: Scalars['ID'] + status: TutorialProgressStatus } export type UpdateTutorialVersionInput = { - /** TODO: tutorial version type */ - id: Scalars['ID'] + /** TODO: tutorial version type */ + id: Scalars['ID'] } /** @@ -293,409 +249,344 @@ export type UpdateTutorialVersionInput = { * & credit for tutorial creation/contributions */ export type User = { - __typename?: 'User' - id: Scalars['ID'] - name?: Maybe - email?: Maybe - createdAt: Scalars['DateTime'] - updatedAt: Scalars['DateTime'] - githubUser?: Maybe + __typename?: 'User' + id: Scalars['ID'] + name?: Maybe + email?: Maybe + createdAt: Scalars['DateTime'] + updatedAt: Scalars['DateTime'] + githubUser?: Maybe } export type ResolverTypeWrapper = Promise | T export type ResolverFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => Promise | TResult export type StitchingResolver = { - fragment: string - resolve: ResolverFn + fragment: string + resolve: ResolverFn } export type Resolver = - | ResolverFn - | StitchingResolver + | ResolverFn + | StitchingResolver export type SubscriptionSubscribeFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => AsyncIterator | Promise> export type SubscriptionResolveFn = ( - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => TResult | Promise export interface SubscriptionSubscriberObject { - subscribe: SubscriptionSubscribeFn<{[key in TKey]: TResult}, TParent, TContext, TArgs> - resolve?: SubscriptionResolveFn + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs> + resolve?: SubscriptionResolveFn } export interface SubscriptionResolverObject { - subscribe: SubscriptionSubscribeFn - resolve: SubscriptionResolveFn + subscribe: SubscriptionSubscribeFn + resolve: SubscriptionResolveFn } export type SubscriptionObject = - | SubscriptionSubscriberObject - | SubscriptionResolverObject + | SubscriptionSubscriberObject + | SubscriptionResolverObject export type SubscriptionResolver = - | ((...args: any[]) => SubscriptionObject) - | SubscriptionObject + | ((...args: any[]) => SubscriptionObject) + | SubscriptionObject export type TypeResolveFn = ( - parent: TParent, - context: TContext, - info: GraphQLResolveInfo, + parent: TParent, + context: TContext, + info: GraphQLResolveInfo, ) => Maybe export type NextResolverFn = () => Promise export type DirectiveResolverFn = ( - next: NextResolverFn, - parent: TParent, - args: TArgs, - context: TContext, - info: GraphQLResolveInfo, + next: NextResolverFn, + parent: TParent, + args: TArgs, + context: TContext, + info: GraphQLResolveInfo, ) => TResult | Promise /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = { - Query: ResolverTypeWrapper<{}> - ID: ResolverTypeWrapper - Tutorial: ResolverTypeWrapper - TutorialVersion: ResolverTypeWrapper - DateTime: ResolverTypeWrapper - User: ResolverTypeWrapper - String: ResolverTypeWrapper - GithubUser: ResolverTypeWrapper - TutorialData: ResolverTypeWrapper - TutorialConfig: ResolverTypeWrapper - TutorialTestRunner: ResolverTypeWrapper - FileFormat: FileFormat - TutorialRepo: ResolverTypeWrapper - Level: ResolverTypeWrapper - Step: ResolverTypeWrapper - StepActions: ResolverTypeWrapper - Sha1: ResolverTypeWrapper - TutorialSummary: ResolverTypeWrapper - tutorialRepoInput: TutorialRepoInput - Commit: ResolverTypeWrapper - Mutation: ResolverTypeWrapper<{}> - editorLoginInput: EditorLoginInput - Editor: Editor - editorLoginOutput: ResolverTypeWrapper - updateTutorialProgressInput: UpdateTutorialProgressInput - TutorialProgressType: TutorialProgressType - TutorialProgressStatus: TutorialProgressStatus - Boolean: ResolverTypeWrapper - createTutorialInput: CreateTutorialInput - createTutorialVersionInput: CreateTutorialVersionInput - updateTutorialVersionInput: UpdateTutorialVersionInput - JSON: ResolverTypeWrapper - JSONObject: ResolverTypeWrapper - Role: Role + Query: ResolverTypeWrapper<{}> + ID: ResolverTypeWrapper + Tutorial: ResolverTypeWrapper + User: ResolverTypeWrapper + String: ResolverTypeWrapper + DateTime: ResolverTypeWrapper + GithubUser: ResolverTypeWrapper + TutorialVersion: ResolverTypeWrapper + TutorialData: ResolverTypeWrapper + JSON: ResolverTypeWrapper + Level: ResolverTypeWrapper + Step: ResolverTypeWrapper + TutorialSummary: ResolverTypeWrapper + Mutation: ResolverTypeWrapper<{}> + editorLoginInput: EditorLoginInput + Editor: Editor + editorLoginOutput: ResolverTypeWrapper + updateTutorialProgressInput: UpdateTutorialProgressInput + TutorialProgressType: TutorialProgressType + TutorialProgressStatus: TutorialProgressStatus + Boolean: ResolverTypeWrapper + createTutorialInput: CreateTutorialInput + createTutorialVersionInput: CreateTutorialVersionInput + updateTutorialVersionInput: UpdateTutorialVersionInput + JSONObject: ResolverTypeWrapper + Sha1: ResolverTypeWrapper + Role: Role + FileFormat: FileFormat + tutorialRepoInput: TutorialRepoInput } /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = { - Query: {} - ID: Scalars['ID'] - Tutorial: Tutorial - TutorialVersion: TutorialVersion - DateTime: Scalars['DateTime'] - User: User - String: Scalars['String'] - GithubUser: GithubUser - TutorialData: TutorialData - TutorialConfig: TutorialConfig - TutorialTestRunner: TutorialTestRunner - FileFormat: FileFormat - TutorialRepo: TutorialRepo - Level: Level - Step: Step - StepActions: StepActions - Sha1: Scalars['Sha1'] - TutorialSummary: TutorialSummary - tutorialRepoInput: TutorialRepoInput - Commit: Commit - Mutation: {} - editorLoginInput: EditorLoginInput - Editor: Editor - editorLoginOutput: EditorLoginOutput - updateTutorialProgressInput: UpdateTutorialProgressInput - TutorialProgressType: TutorialProgressType - TutorialProgressStatus: TutorialProgressStatus - Boolean: Scalars['Boolean'] - createTutorialInput: CreateTutorialInput - createTutorialVersionInput: CreateTutorialVersionInput - updateTutorialVersionInput: UpdateTutorialVersionInput - JSON: Scalars['JSON'] - JSONObject: Scalars['JSONObject'] - Role: Role + Query: {} + ID: Scalars['ID'] + Tutorial: Tutorial + User: User + String: Scalars['String'] + DateTime: Scalars['DateTime'] + GithubUser: GithubUser + TutorialVersion: TutorialVersion + TutorialData: TutorialData + JSON: Scalars['JSON'] + Level: Level + Step: Step + TutorialSummary: TutorialSummary + Mutation: {} + editorLoginInput: EditorLoginInput + Editor: Editor + editorLoginOutput: EditorLoginOutput + updateTutorialProgressInput: UpdateTutorialProgressInput + TutorialProgressType: TutorialProgressType + TutorialProgressStatus: TutorialProgressStatus + Boolean: Scalars['Boolean'] + createTutorialInput: CreateTutorialInput + createTutorialVersionInput: CreateTutorialVersionInput + updateTutorialVersionInput: UpdateTutorialVersionInput + JSONObject: Scalars['JSONObject'] + Sha1: Scalars['Sha1'] + Role: Role + FileFormat: FileFormat + tutorialRepoInput: TutorialRepoInput } export type AuthDirectiveResolver< - Result, - Parent, - ContextType = any, - Args = {requires?: Maybe>} - > = DirectiveResolverFn - -export type CommitResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Commit'] = ResolversParentTypes['Commit'] - > = { - id?: Resolver - message?: Resolver, ParentType, ContextType> - username?: Resolver, ParentType, ContextType> - } + Result, + Parent, + ContextType = any, + Args = { requires?: Maybe> } +> = DirectiveResolverFn export interface DateTimeScalarConfig extends GraphQLScalarTypeConfig { - name: 'DateTime' + name: 'DateTime' } export type EditorLoginOutputResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['editorLoginOutput'] = ResolversParentTypes['editorLoginOutput'] - > = { - user?: Resolver - token?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['editorLoginOutput'] = ResolversParentTypes['editorLoginOutput'] +> = { + user?: Resolver + token?: Resolver +} export type GithubUserResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['GithubUser'] = ResolversParentTypes['GithubUser'] - > = { - id?: Resolver - name?: Resolver, ParentType, ContextType> - email?: Resolver, ParentType, ContextType> - location?: Resolver, ParentType, ContextType> - avatarUrl?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['GithubUser'] = ResolversParentTypes['GithubUser'] +> = { + id?: Resolver + name?: Resolver, ParentType, ContextType> + email?: Resolver, ParentType, ContextType> + location?: Resolver, ParentType, ContextType> + avatarUrl?: Resolver, ParentType, ContextType> +} export interface JsonScalarConfig extends GraphQLScalarTypeConfig { - name: 'JSON' + name: 'JSON' } export interface JsonObjectScalarConfig extends GraphQLScalarTypeConfig { - name: 'JSONObject' + name: 'JSONObject' } export type LevelResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Level'] = ResolversParentTypes['Level'] - > = { - id?: Resolver - title?: Resolver - description?: Resolver - content?: Resolver - steps?: Resolver, ParentType, ContextType> - setup?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['Level'] = ResolversParentTypes['Level'] +> = { + id?: Resolver + title?: Resolver + summary?: Resolver + description?: Resolver, ParentType, ContextType> + content?: Resolver + setup?: Resolver, ParentType, ContextType> + steps?: Resolver, ParentType, ContextType> +} export type MutationResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation'] - > = { - editorLogin?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - updateTutorialProgress?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - createTutorial?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - createTutorialVersion?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - updateTutorialVersion?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - publishTutorialVersion?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - deprecateTutorialVersion?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - } + ContextType = any, + ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation'] +> = { + editorLogin?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + updateTutorialProgress?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + createTutorial?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + createTutorialVersion?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + updateTutorialVersion?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + publishTutorialVersion?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + deprecateTutorialVersion?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > +} export type QueryResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query'] - > = { - tutorial?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields - > - tutorials?: Resolver>, ParentType, ContextType> - viewer?: Resolver, ParentType, ContextType> - commits?: Resolver< - Array>, - ParentType, - ContextType, - RequireFields - > - } + ContextType = any, + ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query'] +> = { + tutorial?: Resolver< + Maybe, + ParentType, + ContextType, + RequireFields + > + tutorials?: Resolver>, ParentType, ContextType> + viewer?: Resolver, ParentType, ContextType> +} export interface Sha1ScalarConfig extends GraphQLScalarTypeConfig { - name: 'Sha1' + name: 'Sha1' } export type StepResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Step'] = ResolversParentTypes['Step'] - > = { - id?: Resolver - content?: Resolver - setup?: Resolver - solution?: Resolver - } - -export type StepActionsResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['StepActions'] = ResolversParentTypes['StepActions'] - > = { - id?: Resolver - commits?: Resolver, ParentType, ContextType> - files?: Resolver>, ParentType, ContextType> - commands?: Resolver>, ParentType, ContextType> - watchers?: Resolver>, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['Step'] = ResolversParentTypes['Step'] +> = { + id?: Resolver + title?: Resolver + content?: Resolver + setup?: Resolver, ParentType, ContextType> + solution?: Resolver, ParentType, ContextType> +} export type TutorialResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['Tutorial'] = ResolversParentTypes['Tutorial'] - > = { - id?: Resolver - latestVersionId?: Resolver - version?: Resolver - versions?: Resolver, ParentType, ContextType> - summary?: Resolver - } - -export type TutorialConfigResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialConfig'] = ResolversParentTypes['TutorialConfig'] - > = { - testRunner?: Resolver - repo?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['Tutorial'] = ResolversParentTypes['Tutorial'] +> = { + id?: Resolver + createdBy?: Resolver, ParentType, ContextType> + latestVersion?: Resolver + versions?: Resolver>, ParentType, ContextType> + summary?: Resolver +} export type TutorialDataResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialData'] = ResolversParentTypes['TutorialData'] - > = { - config?: Resolver - levels?: Resolver, ParentType, ContextType> - } - -export type TutorialRepoResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialRepo'] = ResolversParentTypes['TutorialRepo'] - > = { - uri?: Resolver - branch?: Resolver - name?: Resolver, ParentType, ContextType> - owner?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialData'] = ResolversParentTypes['TutorialData'] +> = { + config?: Resolver + levels?: Resolver, ParentType, ContextType> +} export type TutorialSummaryResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialSummary'] = ResolversParentTypes['TutorialSummary'] - > = { - title?: Resolver - description?: Resolver - } - -export type TutorialTestRunnerResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialTestRunner'] = ResolversParentTypes['TutorialTestRunner'] - > = { - command?: Resolver - fileFormats?: Resolver>, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialSummary'] = ResolversParentTypes['TutorialSummary'] +> = { + title?: Resolver + description?: Resolver +} export type TutorialVersionResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['TutorialVersion'] = ResolversParentTypes['TutorialVersion'] - > = { - version?: Resolver - createdAt?: Resolver - createdBy?: Resolver - updatedAt?: Resolver - updatedBy?: Resolver - publishedAt?: Resolver, ParentType, ContextType> - publishedBy?: Resolver, ParentType, ContextType> - data?: Resolver - } + ContextType = any, + ParentType extends ResolversParentTypes['TutorialVersion'] = ResolversParentTypes['TutorialVersion'] +> = { + id?: Resolver + createdAt?: Resolver + createdBy?: Resolver + updatedAt?: Resolver + updatedBy?: Resolver + publishedAt?: Resolver, ParentType, ContextType> + publishedBy?: Resolver, ParentType, ContextType> + data?: Resolver +} export type UserResolvers< - ContextType = any, - ParentType extends ResolversParentTypes['User'] = ResolversParentTypes['User'] - > = { - id?: Resolver - name?: Resolver, ParentType, ContextType> - email?: Resolver, ParentType, ContextType> - createdAt?: Resolver - updatedAt?: Resolver - githubUser?: Resolver, ParentType, ContextType> - } + ContextType = any, + ParentType extends ResolversParentTypes['User'] = ResolversParentTypes['User'] +> = { + id?: Resolver + name?: Resolver, ParentType, ContextType> + email?: Resolver, ParentType, ContextType> + createdAt?: Resolver + updatedAt?: Resolver + githubUser?: Resolver, ParentType, ContextType> +} export type Resolvers = { - Commit?: CommitResolvers - DateTime?: GraphQLScalarType - editorLoginOutput?: EditorLoginOutputResolvers - GithubUser?: GithubUserResolvers - JSON?: GraphQLScalarType - JSONObject?: GraphQLScalarType - Level?: LevelResolvers - Mutation?: MutationResolvers - Query?: QueryResolvers - Sha1?: GraphQLScalarType - Step?: StepResolvers - StepActions?: StepActionsResolvers - Tutorial?: TutorialResolvers - TutorialConfig?: TutorialConfigResolvers - TutorialData?: TutorialDataResolvers - TutorialRepo?: TutorialRepoResolvers - TutorialSummary?: TutorialSummaryResolvers - TutorialTestRunner?: TutorialTestRunnerResolvers - TutorialVersion?: TutorialVersionResolvers - User?: UserResolvers + DateTime?: GraphQLScalarType + editorLoginOutput?: EditorLoginOutputResolvers + GithubUser?: GithubUserResolvers + JSON?: GraphQLScalarType + JSONObject?: GraphQLScalarType + Level?: LevelResolvers + Mutation?: MutationResolvers + Query?: QueryResolvers + Sha1?: GraphQLScalarType + Step?: StepResolvers + Tutorial?: TutorialResolvers + TutorialData?: TutorialDataResolvers + TutorialSummary?: TutorialSummaryResolvers + TutorialVersion?: TutorialVersionResolvers + User?: UserResolvers } /** @@ -704,7 +595,7 @@ export type Resolvers = { */ export type IResolvers = Resolvers export type DirectiveResolvers = { - auth?: AuthDirectiveResolver + auth?: AuthDirectiveResolver } /** @@ -714,13 +605,19 @@ export type DirectiveResolvers = { export type IDirectiveResolvers = DirectiveResolvers export interface IntrospectionResultData { - __schema: { - types: { - kind: string - name: string - possibleTypes: { - name: string - }[] - }[] - } -} + __schema: { + types: { + kind: string + name: string + possibleTypes: { + name: string + }[] + }[] + } +} +const result: IntrospectionResultData = { + __schema: { + types: [], + }, +} +export default result From 3cdda854f0a853330d66e1115c0f5cfe72b9b249 Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 9 Jan 2020 17:23:44 -0800 Subject: [PATCH 03/12] update queries --- .../src/services/apollo/queries/tutorial.ts | 64 ++++++++----------- .../src/services/apollo/queries/tutorials.ts | 26 ++++---- 2 files changed, 41 insertions(+), 49 deletions(-) diff --git a/web-app/src/services/apollo/queries/tutorial.ts b/web-app/src/services/apollo/queries/tutorial.ts index 9abb2735..9076c1de 100644 --- a/web-app/src/services/apollo/queries/tutorial.ts +++ b/web-app/src/services/apollo/queries/tutorial.ts @@ -4,53 +4,43 @@ export default gql` query getTutorial($tutorialId: ID!, $version: String) { tutorial(id: $tutorialId) { id - version(version: $version) { - version - summary { - title - description + createdBy { + id + name + email + } + summary { + title + description + } + latestVersion { + createdAt + createdBy { + id + name + } + updatedAt + updatedBy { + id + name + } + publishedAt + publishedBy { + name } data { - config { - testRunner { - command - fileFormats - } - repo { - uri - branch - } - } - init { - setup { - commits - commands - } - } + config levels { id title description content - setup { - commits - commands - files - } + setup steps { id content - setup { - commits - commands - files - watchers - } - solution { - commits - commands - files - } + setup + solution } } } diff --git a/web-app/src/services/apollo/queries/tutorials.ts b/web-app/src/services/apollo/queries/tutorials.ts index fa7891f2..05a2b443 100644 --- a/web-app/src/services/apollo/queries/tutorials.ts +++ b/web-app/src/services/apollo/queries/tutorials.ts @@ -4,19 +4,21 @@ export default gql` query getTutorials { tutorials { id - version { - version - createdBy { - id - } - createdAt - updatedBy { + createdBy { + id + name + email + } + summary { + title + description + } + latestVersion { + publishedAt + publishedBy { id - } - updatedAt - summary { - title - description + name + email } } } From fa6f3efde75548b4897c973a0ba0895b4ef9692b Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 9 Jan 2020 17:40:27 -0800 Subject: [PATCH 04/12] update vscode settings --- .vscode/settings.json | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f1651433..3fdf1a34 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,6 +4,7 @@ "source.organizeImports": true, "source.fixAll": true }, + "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"], "files.exclude": { "build": false, // set this to true to hide the "out" folder with the compiled JS files ".vscode-test/**": true, @@ -11,8 +12,19 @@ }, // styles "workbench.colorCustomizations": { - "activityBar.background": "#000000", + "activityBar.background": "#1a1a1a", + "activityBar.activeBorder": "#606020", + "activityBar.foreground": "#e7e7e7", + "activityBar.inactiveForeground": "#e7e7e799", + "activityBarBadge.background": "#606020", + "activityBarBadge.foreground": "#e7e7e7", "titleBar.activeBackground": "#000000", - "titleBar.activeForeground": "#FFFFFF" - } + "titleBar.inactiveBackground": "#00000099", + "titleBar.activeForeground": "#e7e7e7", + "titleBar.inactiveForeground": "#e7e7e799", + "statusBar.background": "#000000", + "statusBarItem.hoverBackground": "#1a1a1a", + "statusBar.foreground": "#e7e7e7" + }, + "peacock.color": "#000000" } From 660d4b1f70347e411666d3218ec630ea78c9802d Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 9 Jan 2020 17:40:34 -0800 Subject: [PATCH 05/12] update typings --- src/actions/setupActions.ts | 3 +-- src/actions/solutionActions.ts | 3 +-- src/actions/tutorialConfig.ts | 2 +- src/channel/index.ts | 2 +- src/editor/commands.ts | 4 ++-- typings/graphql.d.ts | 10 ++-------- typings/index.d.ts | 23 +++++++++++++++++++++++ 7 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/actions/setupActions.ts b/src/actions/setupActions.ts index 5af4b1ea..457d0587 100644 --- a/src/actions/setupActions.ts +++ b/src/actions/setupActions.ts @@ -1,5 +1,4 @@ import * as T from 'typings' -import * as G from 'typings/graphql' import * as vscode from 'vscode' import * as git from '../services/git' import loadWatchers from './utils/loadWatchers' @@ -8,7 +7,7 @@ import runCommands from './utils/runCommands' const setupActions = async ( workspaceRoot: vscode.WorkspaceFolder, - actions: G.StepActions, + actions: T.StepActions, send: (action: T.Action) => void, // send messages to client ): Promise => { const { commands, commits, files, watchers } = actions diff --git a/src/actions/solutionActions.ts b/src/actions/solutionActions.ts index 68bc07a4..785365e3 100644 --- a/src/actions/solutionActions.ts +++ b/src/actions/solutionActions.ts @@ -1,12 +1,11 @@ import * as T from 'typings' -import * as G from 'typings/graphql' import * as vscode from 'vscode' import * as git from '../services/git' import setupActions from './setupActions' const solutionActions = async ( workspaceRoot: vscode.WorkspaceFolder, - stepActions: G.StepActions, + stepActions: T.StepActions, send: (action: T.Action) => void, ): Promise => { await git.clear() diff --git a/src/actions/tutorialConfig.ts b/src/actions/tutorialConfig.ts index 1b8abac4..904171e4 100644 --- a/src/actions/tutorialConfig.ts +++ b/src/actions/tutorialConfig.ts @@ -6,7 +6,7 @@ import languageMap from '../editor/languageMap' import * as git from '../services/git' interface TutorialConfigParams { - config: G.TutorialConfig + config: T.TutorialConfig alreadyConfigured?: boolean onComplete?(): void } diff --git a/src/channel/index.ts b/src/channel/index.ts index c268710c..db69db47 100644 --- a/src/channel/index.ts +++ b/src/channel/index.ts @@ -96,7 +96,7 @@ class Channel implements Channel { if (!tutorialContinue) { throw new Error('Invalid tutorial to continue') } - const continueConfig: G.TutorialConfig = tutorialContinue.version.data.config + const continueConfig: T.TutorialConfig = tutorialContinue.version.data.config tutorialConfig( { config: continueConfig, diff --git a/src/editor/commands.ts b/src/editor/commands.ts index fb784285..7c529de2 100644 --- a/src/editor/commands.ts +++ b/src/editor/commands.ts @@ -1,4 +1,4 @@ -import * as G from 'typings/graphql' +import * as T from 'typings' import * as vscode from 'vscode' import createTestRunner, { Payload } from '../services/testRunner' import createWebView from '../webview' @@ -52,7 +52,7 @@ export const createCommands = ({ extensionPath, workspaceState, workspaceRoot }: // setup 1x1 horizontal layout webview.createOrShow() }, - [COMMANDS.CONFIG_TEST_RUNNER]: (config: G.TutorialTestRunner) => { + [COMMANDS.CONFIG_TEST_RUNNER]: (config: T.TutorialTestRunner) => { testRunner = createTestRunner(config, { onSuccess: (payload: Payload) => { // send test pass message back to client diff --git a/typings/graphql.d.ts b/typings/graphql.d.ts index b9a5a33d..bbe541de 100644 --- a/typings/graphql.d.ts +++ b/typings/graphql.d.ts @@ -190,7 +190,7 @@ export type Tutorial = { __typename?: 'Tutorial' id: Scalars['ID'] createdBy?: Maybe - latestVersion: TutorialVersion + version: TutorialVersion versions?: Maybe> summary: TutorialSummary } @@ -524,7 +524,7 @@ export type TutorialResolvers< > = { id?: Resolver createdBy?: Resolver, ParentType, ContextType> - latestVersion?: Resolver + version?: Resolver versions?: Resolver>, ParentType, ContextType> summary?: Resolver } @@ -615,9 +615,3 @@ export interface IntrospectionResultData { }[] } } -const result: IntrospectionResultData = { - __schema: { - types: [], - }, -} -export default result diff --git a/typings/index.d.ts b/typings/index.d.ts index adb9ff7c..bc07807c 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -115,3 +115,26 @@ export interface ProcessEvent { description: string status: 'RUNNING' | 'SUCCESS' | 'FAIL' | 'ERROR' } + +export interface StepActions { + id: string + commands: string[] + commits: string[] + files: string[] + watchers: string[] +} + +export interface TutorialTestRunner { + command: string + fileFormats: string[] +} + +export interface TutorialRepo { + uri: string + branch: string +} + +export interface TutorialConfig { + testRunner: TutorialTestRunner + repo: TutorialRepo +} From bfc4f8cb3fe90b457cecb219168bc278b86a8f9d Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 10:44:02 -0800 Subject: [PATCH 06/12] mend stories --- web-app/stories/New.stories.tsx | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/web-app/stories/New.stories.tsx b/web-app/stories/New.stories.tsx index 1ff31002..e3900f97 100644 --- a/web-app/stories/New.stories.tsx +++ b/web-app/stories/New.stories.tsx @@ -9,20 +9,16 @@ import SideBarDecorator from './utils/SideBarDecorator' const tutorialList = [ { id: '1', - version: { - summary: { - title: 'Tutorial 1', - description: 'The first one', - }, + summary: { + title: 'Tutorial 1', + description: 'The first one', }, }, { id: '2', - version: { - summary: { - title: 'Tutorial 2', - description: 'The second one', - }, + summary: { + title: 'Tutorial 2', + description: 'The second one', }, }, ] @@ -37,5 +33,11 @@ storiesOf('Start', module) }) .add('Tutorial Item', () => { const tutorial = tutorialList[0] - return + return ( + + ) }) From ac9d50f32fc97ad0f139f382b274aae77a46bba8 Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 12:19:04 -0800 Subject: [PATCH 07/12] update gql typings --- typings/graphql.d.ts | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/typings/graphql.d.ts b/typings/graphql.d.ts index bbe541de..7f4ac1a6 100644 --- a/typings/graphql.d.ts +++ b/typings/graphql.d.ts @@ -102,8 +102,6 @@ export type Level = { title: Scalars['String'] /** A summary of the level */ summary: Scalars['String'] - /** Detailed description */ - description?: Maybe /** The lesson content of the level, parsed as markdown */ content: Scalars['String'] /** Actions run on level start up for configuring setup */ @@ -179,7 +177,6 @@ export type Role = 'ADMIN' | 'EDITOR_USER' export type Step = { __typename?: 'Step' id: Scalars['ID'] - title: Scalars['String'] content: Scalars['String'] setup?: Maybe solution?: Maybe @@ -191,10 +188,15 @@ export type Tutorial = { id: Scalars['ID'] createdBy?: Maybe version: TutorialVersion - versions?: Maybe> + versions: Array summary: TutorialSummary } +/** A tutorial for use in VSCode CodeRoad */ +export type TutorialVersionArgs = { + id?: Maybe +} + /** Data for tutorial */ export type TutorialData = { __typename?: 'TutorialData' @@ -255,7 +257,6 @@ export type User = { email?: Maybe createdAt: Scalars['DateTime'] updatedAt: Scalars['DateTime'] - githubUser?: Maybe } export type ResolverTypeWrapper = Promise | T @@ -332,7 +333,6 @@ export type ResolversTypes = { User: ResolverTypeWrapper String: ResolverTypeWrapper DateTime: ResolverTypeWrapper - GithubUser: ResolverTypeWrapper TutorialVersion: ResolverTypeWrapper TutorialData: ResolverTypeWrapper JSON: ResolverTypeWrapper @@ -355,6 +355,7 @@ export type ResolversTypes = { Role: Role FileFormat: FileFormat tutorialRepoInput: TutorialRepoInput + GithubUser: ResolverTypeWrapper } /** Mapping between all available schema types and the resolvers parents */ @@ -365,7 +366,6 @@ export type ResolversParentTypes = { User: User String: Scalars['String'] DateTime: Scalars['DateTime'] - GithubUser: GithubUser TutorialVersion: TutorialVersion TutorialData: TutorialData JSON: Scalars['JSON'] @@ -388,6 +388,7 @@ export type ResolversParentTypes = { Role: Role FileFormat: FileFormat tutorialRepoInput: TutorialRepoInput + GithubUser: GithubUser } export type AuthDirectiveResolver< @@ -435,7 +436,6 @@ export type LevelResolvers< id?: Resolver title?: Resolver summary?: Resolver - description?: Resolver, ParentType, ContextType> content?: Resolver setup?: Resolver, ParentType, ContextType> steps?: Resolver, ParentType, ContextType> @@ -512,7 +512,6 @@ export type StepResolvers< ParentType extends ResolversParentTypes['Step'] = ResolversParentTypes['Step'] > = { id?: Resolver - title?: Resolver content?: Resolver setup?: Resolver, ParentType, ContextType> solution?: Resolver, ParentType, ContextType> @@ -524,8 +523,8 @@ export type TutorialResolvers< > = { id?: Resolver createdBy?: Resolver, ParentType, ContextType> - version?: Resolver - versions?: Resolver>, ParentType, ContextType> + version?: Resolver + versions?: Resolver, ParentType, ContextType> summary?: Resolver } @@ -568,7 +567,6 @@ export type UserResolvers< email?: Resolver, ParentType, ContextType> createdAt?: Resolver updatedAt?: Resolver - githubUser?: Resolver, ParentType, ContextType> } export type Resolvers = { From 1fc57b1211481c55646dc89ca9e32d28af9f0c00 Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 12:32:46 -0800 Subject: [PATCH 08/12] cleanup queries --- web-app/src/services/apollo/queries/tutorial.ts | 8 +++++--- web-app/src/services/apollo/queries/tutorials.ts | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/web-app/src/services/apollo/queries/tutorial.ts b/web-app/src/services/apollo/queries/tutorial.ts index 9076c1de..c61c8e3a 100644 --- a/web-app/src/services/apollo/queries/tutorial.ts +++ b/web-app/src/services/apollo/queries/tutorial.ts @@ -1,7 +1,9 @@ import { gql } from 'apollo-boost' +// TODO: add version to query + export default gql` - query getTutorial($tutorialId: ID!, $version: String) { + query getTutorial($tutorialId: ID!) { tutorial(id: $tutorialId) { id createdBy { @@ -13,7 +15,7 @@ export default gql` title description } - latestVersion { + version { createdAt createdBy { id @@ -33,7 +35,7 @@ export default gql` levels { id title - description + # summary # TODO: reimplement later content setup steps { diff --git a/web-app/src/services/apollo/queries/tutorials.ts b/web-app/src/services/apollo/queries/tutorials.ts index 05a2b443..5b13e136 100644 --- a/web-app/src/services/apollo/queries/tutorials.ts +++ b/web-app/src/services/apollo/queries/tutorials.ts @@ -13,7 +13,7 @@ export default gql` title description } - latestVersion { + version { publishedAt publishedBy { id From ebaa8e73d3b60aef66adc2ee4481727c248c576d Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 12:34:22 -0800 Subject: [PATCH 09/12] fix mutation --- web-app/src/services/apollo/mutations/authenticate.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/web-app/src/services/apollo/mutations/authenticate.ts b/web-app/src/services/apollo/mutations/authenticate.ts index d90d425a..44d44fd9 100644 --- a/web-app/src/services/apollo/mutations/authenticate.ts +++ b/web-app/src/services/apollo/mutations/authenticate.ts @@ -8,7 +8,6 @@ export default gql` id name email - avatarUrl } } } From d481dd0bf4da7a1354a692042f8743e8ea59e2c8 Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 12:44:38 -0800 Subject: [PATCH 10/12] cleanup version/summary changes --- web-app/src/containers/Overview/OverviewPage.tsx | 2 +- web-app/src/containers/Overview/index.tsx | 4 ++-- web-app/src/services/apollo/queries/tutorial.ts | 2 +- web-app/src/services/state/actions/editor.ts | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/web-app/src/containers/Overview/OverviewPage.tsx b/web-app/src/containers/Overview/OverviewPage.tsx index 4b207c17..6e406ca8 100644 --- a/web-app/src/containers/Overview/OverviewPage.tsx +++ b/web-app/src/containers/Overview/OverviewPage.tsx @@ -71,7 +71,7 @@ const Summary = ({ title, description, levels, onNext }: Props) => (

{index + 1}. {level.title}

-
{level.description}
+
{level.summary}
))} diff --git a/web-app/src/containers/Overview/index.tsx b/web-app/src/containers/Overview/index.tsx index 4fa37ee3..f9fb2888 100644 --- a/web-app/src/containers/Overview/index.tsx +++ b/web-app/src/containers/Overview/index.tsx @@ -17,7 +17,7 @@ interface TutorialData { interface TutorialDataVariables { tutorialId: string - version: string + // version: string } const Overview = (props: PageProps) => { @@ -30,7 +30,7 @@ const Overview = (props: PageProps) => { fetchPolicy: 'network-only', // to ensure latest variables: { tutorialId: tutorial.id, - version: tutorial.version.version, + // version: tutorial.version.version, // TODO: re-enable latest }, }) diff --git a/web-app/src/services/apollo/queries/tutorial.ts b/web-app/src/services/apollo/queries/tutorial.ts index c61c8e3a..22e4ad2c 100644 --- a/web-app/src/services/apollo/queries/tutorial.ts +++ b/web-app/src/services/apollo/queries/tutorial.ts @@ -35,7 +35,7 @@ export default gql` levels { id title - # summary # TODO: reimplement later + summary content setup steps { diff --git a/web-app/src/services/state/actions/editor.ts b/web-app/src/services/state/actions/editor.ts index 16f960ff..c0b19563 100644 --- a/web-app/src/services/state/actions/editor.ts +++ b/web-app/src/services/state/actions/editor.ts @@ -11,7 +11,7 @@ interface TutorialData { interface TutorialDataVariables { tutorialId: string - version: string + // version: string } export default { @@ -38,7 +38,7 @@ export default { query: tutorialQuery, variables: { tutorialId: context.tutorial.id, - version: context.tutorial.version.version, + // version: context.tutorial.version.version, // TODO: reimplement version }, }) .then(result => { From cb13111b1cb4db6bcf68989208907b9db1b07f39 Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 13:09:39 -0800 Subject: [PATCH 11/12] set environmental vars in file --- .../src/components/Debugger/debuggerWrapper.tsx | 5 ++--- web-app/src/environment.ts | 15 +++++++++++++++ web-app/src/services/apollo/index.ts | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 web-app/src/environment.ts diff --git a/web-app/src/components/Debugger/debuggerWrapper.tsx b/web-app/src/components/Debugger/debuggerWrapper.tsx index 19a1d990..153cb507 100644 --- a/web-app/src/components/Debugger/debuggerWrapper.tsx +++ b/web-app/src/components/Debugger/debuggerWrapper.tsx @@ -1,11 +1,10 @@ import * as React from 'react' +import { DEBUG } from '../../environment' import Debugger from './index' import stateToString from './stateToString' -const SHOW_DEBUGGER = JSON.parse(process.env.REACT_APP_DEBUG || 'false') - const debuggerWrapper = (element: React.ReactElement, state: any) => { - if (SHOW_DEBUGGER) { + if (DEBUG) { return ( {element} diff --git a/web-app/src/environment.ts b/web-app/src/environment.ts new file mode 100644 index 00000000..46a2b61f --- /dev/null +++ b/web-app/src/environment.ts @@ -0,0 +1,15 @@ +interface Environment { + GQL_URI: string + DEBUG: boolean +} + +// validate .env +const requiredKeys = ['REACT_APP_GQL_URI'] +for (const required of requiredKeys) { + if (!process.env[required]) { + throw new Error(`Missing Environmental Variables: ${required}`) + } +} + +export const GQL_URI = process.env.REACT_APP_GQL_URI || '' +export const DEBUG = (process.env.REACT_APP_DEBUG || '').toLowerCase() === 'true' diff --git a/web-app/src/services/apollo/index.ts b/web-app/src/services/apollo/index.ts index ddac142b..1a7c114b 100644 --- a/web-app/src/services/apollo/index.ts +++ b/web-app/src/services/apollo/index.ts @@ -1,10 +1,11 @@ import ApolloClient, { InMemoryCache } from 'apollo-boost' +import { GQL_URI } from '../../environment' import { authorizeHeaders } from './auth' export const cache = new InMemoryCache() const client = new ApolloClient({ - uri: process.env.REACT_APP_GQL_URI, + uri: GQL_URI, request: authorizeHeaders, cache, }) From dbdf8673acf1a8a2b71089bc474b824fdc523e2b Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 11 Jan 2020 14:33:01 -0800 Subject: [PATCH 12/12] add id to version query for cache error --- web-app/src/services/apollo/queries/tutorial.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/web-app/src/services/apollo/queries/tutorial.ts b/web-app/src/services/apollo/queries/tutorial.ts index 22e4ad2c..765d1910 100644 --- a/web-app/src/services/apollo/queries/tutorial.ts +++ b/web-app/src/services/apollo/queries/tutorial.ts @@ -16,6 +16,7 @@ export default gql` description } version { + id createdAt createdBy { id