From 3791d4a5d7e190d94db7a0f2244acd5c76caf4c8 Mon Sep 17 00:00:00 2001 From: Stepan Usatiuk Date: Sun, 24 Jun 2018 18:13:37 +0300 Subject: [PATCH] keepSynced middleware --- package-lock.json | 172 +++++++++------- package.json | 8 +- react/package-lock.json | 212 ++++++++++---------- react/package.json | 12 +- react/src/actions/todos.js | 2 +- react/src/components/Header.js | 4 +- react/src/components/UserHeader.js | 35 +--- react/src/containers/UserHeaderContainer.js | 23 --- react/src/index.js | 3 +- react/src/middleware/keepSynced.js | 19 ++ 10 files changed, 243 insertions(+), 247 deletions(-) delete mode 100644 react/src/containers/UserHeaderContainer.js create mode 100644 react/src/middleware/keepSynced.js diff --git a/package-lock.json b/package-lock.json index e2462f0..60df10d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2127,9 +2127,9 @@ "dev": true }, "dlv": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.1.tgz", - "integrity": "sha512-b/kUB0D6RgRGG69h5ExsLnUAwfs5Jndfk1pU2ao7/9mVdsxpUBlkFdTkNJThXw1jrLXpUbIIg+h3um5zXi6sFA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.2.tgz", + "integrity": "sha512-xxD4VSH67GbRvSGUrckvha94RD7hjgOH7rqGxiytLpkaeMvixOHFZTGFK6EkIm3T761OVHT8ABHmGkq9gXgu6Q==", "dev": true }, "doctrine": { @@ -2445,9 +2445,9 @@ "dev": true }, "eslint-plugin-prettier": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.0.tgz", - "integrity": "sha512-floiaI4F7hRkTrFe8V2ItOK97QYrX75DjmdzmVITZoAP6Cn06oEDPQRsO6MlHEP/u2SxI3xQ52Kpjw6j5WGfeQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.1.tgz", + "integrity": "sha512-wNZ2z0oVCWnf+3BSI7roS+z4gGu2AwcPKUek+SlLZMZg+X0KbZLsB2knul7fd0K3iuIp402HIYzm4f2+OyfXxA==", "dev": true, "requires": { "fast-diff": "^1.1.1", @@ -3063,8 +3063,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3085,14 +3084,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3107,20 +3104,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3237,8 +3231,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3250,7 +3243,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3265,7 +3257,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3273,14 +3264,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.2.4", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -3299,7 +3288,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3380,8 +3368,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3393,7 +3380,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3479,8 +3465,7 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3516,7 +3501,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3536,7 +3520,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3580,14 +3563,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -5538,17 +5519,17 @@ } }, "mongodb": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.9.tgz", - "integrity": "sha512-2NJzruJu15/1YF6+H55f1wfLQb1M6/+hU96+L5sPv07PDZDPvZEDJBtCjFQorpbW9D2aqsem7mFVUKPhVwwRog==", + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.0.10.tgz", + "integrity": "sha512-jy9s4FgcM4rl8sHNETYHGeWcuRh9AlwQCUuMiTj041t/HD02HwyFgmm2VZdd9/mA9YNHaUJLqj0tzBx2QFivtg==", "requires": { - "mongodb-core": "3.0.8" + "mongodb-core": "3.0.9" } }, "mongodb-core": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.8.tgz", - "integrity": "sha512-dFxfhH9N7ohuQnINyIl6dqEF8sYOE0WKuymrFf3L3cipJNrx+S8rAbNOTwa00/fuJCjBMJNFsaA+R2N16//UIw==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/mongodb-core/-/mongodb-core-3.0.9.tgz", + "integrity": "sha512-buOWjdLLBlEqjHDeHYSXqXx173wHMVp7bafhdHxSjxWdB9V6Ri4myTqxjYZwL/eGFZxvd8oRQSuhwuIDbaaB+g==", "requires": { "bson": "~1.0.4", "require_optional": "^1.0.1" @@ -5615,15 +5596,15 @@ } }, "mongoose": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.1.5.tgz", - "integrity": "sha512-/bDtFRvWZclE4Fxw5ntofGA2Zm+lgJJw9WHZK4aWotVNK5MEDxrfPp+W/gk4whv0t4AO9JxmyAD4jfotjARSiA==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.1.6.tgz", + "integrity": "sha512-p8p/3Z2kfXViqawN1TV+cZ8XbHz6SsllkytKTog+CDWfCNObyGraHQlUuRv/9aYPNKiZfq6WWITgLpJLZW/o/A==", "requires": { "async": "2.6.1", "bson": "~1.0.5", "kareem": "2.2.1", "lodash.get": "4.4.2", - "mongodb": "3.0.9", + "mongodb": "3.0.10", "mongoose-legacy-pluralize": "1.0.2", "mpath": "0.4.1", "mquery": "3.0.0", @@ -6155,9 +6136,9 @@ } }, "passport-local-mongoose": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-5.0.0.tgz", - "integrity": "sha512-ZfCBzPD42j7iDvZyg5X5lBtOpiOfId+kvwOqsJgIaVEy5R2lypE0QCbw7afZzyMpAWilh7h6EY4YZnlTgt7hnw==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/passport-local-mongoose/-/passport-local-mongoose-5.0.1.tgz", + "integrity": "sha512-VUY5DgBdpjt1tjunJJ1EXV5b2nhMDkXJuhTjyiK660IgIp7kONMyWEe9tGHf8I9tZudXuTF+47JNQLIzU+Hjbw==", "requires": { "debug": "^3.1.0", "generaterr": "^1.5.0", @@ -6327,15 +6308,15 @@ "dev": true }, "prettier": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.4.tgz", - "integrity": "sha512-emsEZ2bAigL1lq6ssgkpPm1MIBqgeTvcp90NxOP5XDqprub/V/WS2Hfgih3mS7/1dqTUvhG+sxx1Dv8crnVexA==", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz", + "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==", "dev": true }, "prettier-eslint": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-8.8.1.tgz", - "integrity": "sha512-8YMkJZnA+XVfEW6fPet05jpNmSQbD+Htbh/QyOxQcVf2GIUEZsnGP7ZScaM9Mq2Ra2261eCu60E7/TRIy9coXQ==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-8.8.2.tgz", + "integrity": "sha512-2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -6346,10 +6327,38 @@ "lodash.merge": "^4.6.0", "loglevel-colored-level-prefix": "^1.0.0", "prettier": "^1.7.0", - "pretty-format": "^22.0.3", + "pretty-format": "^23.0.1", "require-relative": "^0.8.7", "typescript": "^2.5.1", - "typescript-eslint-parser": "^11.0.0" + "typescript-eslint-parser": "^16.0.0", + "vue-eslint-parser": "^2.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "pretty-format": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz", + "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + } } }, "pretty-format": { @@ -8296,27 +8305,19 @@ "dev": true }, "typescript": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.1.tgz", - "integrity": "sha512-h6pM2f/GDchCFlldnriOhs1QHuwbnmj6/v7499eMHqPeW4V2G0elua2eIc2nu8v2NdHV0Gm+tzX83Hr6nUFjQA==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", "dev": true }, "typescript-eslint-parser": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-11.0.0.tgz", - "integrity": "sha512-/fBHTBRBSorWQGKWOOjeMPkzd3o8cOPtFjTRwU5JLNGgVtmMa3KDkiw0R2n+H6ovo9y3OX30/5usm6YTqY44PQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-16.0.0.tgz", + "integrity": "sha512-ZYYVKlHWR/RMvTCah4WfrZclb2azZipW4sbaYLJjbh6jiYn81tLUZAw/WdVLlXxaCbIawaKCA44AJPMFVArKZQ==", "dev": true, "requires": { "lodash.unescape": "4.0.1", - "semver": "5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true - } + "semver": "5.5.0" } }, "uglify-js": { @@ -8588,6 +8589,31 @@ "extsprintf": "^1.2.0" } }, + "vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", + "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "w3c-hr-time": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", diff --git a/package.json b/package.json index cfa0b2a..4bbe124 100644 --- a/package.json +++ b/package.json @@ -28,12 +28,12 @@ "express-jwt": "^5.3.1", "hsts": "^2.1.0", "jsonwebtoken": "^8.3.0", - "mongoose": "^5.1.5", + "mongoose": "^5.1.6", "mongoose-unique-validator": "^2.0.1", "morgan": "^1.9.0", "passport": "^0.4.0", "passport-local": "^1.0.0", - "passport-local-mongoose": "^5.0.0" + "passport-local-mongoose": "^5.0.1" }, "devDependencies": { "cross-env": "^5.2.0", @@ -43,11 +43,11 @@ "eslint-config-prettier": "^2.9.0", "eslint-plugin-import": "^2.12.0", "eslint-plugin-jest": "^21.17.0", - "eslint-plugin-prettier": "^2.6.0", + "eslint-plugin-prettier": "^2.6.1", "jest": "^22.4.4", "mongodb-memory-server": "^1.8.0", "nodemon": "^1.17.5", - "prettier-eslint": "^8.8.1", + "prettier-eslint": "^8.8.2", "supertest": "^3.1.0" }, "jest": { diff --git a/react/package-lock.json b/react/package-lock.json index 46f2b14..0323385 100644 --- a/react/package-lock.json +++ b/react/package-lock.json @@ -21,9 +21,9 @@ } }, "@material-ui/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.2.1.tgz", - "integrity": "sha512-CG1jhJKUedImcdD8OdjQvDO89H/wUH5IVRYP1+cupr25iSpW84T/G0KHGPceoNRNUlbQpmuY98rffHQ7C74yvw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.2.3.tgz", + "integrity": "sha512-5Z4LhIrFJcvp1a7E8C3DPxL4W0RkjxWO9OwqOlRsr8YCF2sJgqCMDWn8DMW9eg1VD50JnZQ8bmx1esE0GBo71Q==", "requires": { "@babel/runtime": "^7.0.0-beta.42", "@types/jss": "^9.5.3", @@ -81,9 +81,9 @@ } }, "@types/react": { - "version": "16.3.17", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.17.tgz", - "integrity": "sha512-f2ZTOSF7l9sRdXSbzLI84Z2wsVnj3qUjfJhtDLSi7lTWFMo1WSou7eQ2vkQga8100zhzzDjSyGbj+Viz7i927g==", + "version": "16.4.1", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.4.1.tgz", + "integrity": "sha512-uZP8Fd4f7rwHKztnOhFJYEJsKXO7opmcyKk5P9vRC8UJAx3AiWaGFiLxDqPJqzO3n3IhF/v6rdscxadarEXnag==", "requires": { "csstype": "^2.2.0" } @@ -2097,13 +2097,10 @@ "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=" }, "common-tags": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.7.2.tgz", - "integrity": "sha512-joj9ZlUOjCrwdbmiLqafeUSgkUM74NqhLsZtSqDmhKudaIY197zTrb8JMl31fMnCUuxwFT23eC/oWvrZzDLRJQ==", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0" - } + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true }, "commondir": { "version": "1.0.1", @@ -2590,9 +2587,9 @@ } }, "csstype": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.3.tgz", - "integrity": "sha512-G5HnoK8nOiAq3DXIEoY2n/8Vb7Lgrms+jGJl8E4EJpQEeVONEnPFJSl8IK505wPBoxxtrtHhrRm4WX2GgdqarA==" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.5.tgz", + "integrity": "sha512-EGMjeoiN3aqEX5u/cyH5mSdGBDGdLcCQvcEcBWNGFSPXKd9uOTIeVG91YQ22OxI44DKpvI+4C7VUSmEpsHWJaA==" }, "currently-unhandled": { "version": "0.4.1", @@ -2806,9 +2803,9 @@ } }, "dlv": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.1.tgz", - "integrity": "sha1-x52Wv+ZZpVaAASUO0qr2U5kr3T8=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.2.tgz", + "integrity": "sha512-xxD4VSH67GbRvSGUrckvha94RD7hjgOH7rqGxiytLpkaeMvixOHFZTGFK6EkIm3T761OVHT8ABHmGkq9gXgu6Q==", "dev": true }, "dns-equal": { @@ -3503,6 +3500,12 @@ "estraverse": "^4.1.1" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espree": { "version": "3.5.4", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", @@ -4125,8 +4128,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -4144,13 +4146,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4163,18 +4163,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -4277,8 +4274,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -4288,7 +4284,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4301,20 +4296,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.2.4", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -4331,7 +4323,6 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -4404,8 +4395,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -4415,7 +4405,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4491,8 +4480,7 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -4522,7 +4510,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4540,7 +4527,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4579,13 +4565,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.2", - "bundled": true, - "optional": true + "bundled": true } } }, @@ -6604,9 +6588,9 @@ } }, "jss": { - "version": "9.8.3", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.3.tgz", - "integrity": "sha512-3rywJZAmUTsxS07Af7ww3c4syWwXplQKhZnrgY4QIMuO5047LgF+heowaWdbbkykyREe3TauDcqp4wEpIlRLWw==", + "version": "9.8.7", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.7.tgz", + "integrity": "sha512-awj3XRZYxbrmmrx9LUSj5pXSUfm12m8xzi/VKeqI1ZwWBtQ0kVPTs3vYs32t4rFw83CgFDukA8wKzOE9sMQnoQ==", "requires": { "is-in-browser": "^1.1.3", "symbol-observable": "^1.1.0", @@ -6897,9 +6881,9 @@ } }, "localforage": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz", - "integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.2.tgz", + "integrity": "sha1-+kRCYC+Abt0rympUq05lbwMfEhw=", "requires": { "lie": "3.1.1" } @@ -6951,7 +6935,7 @@ "lodash.merge": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha1-rcJdnLmbk5HFliTzefu6YNcRHVQ=", + "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", "dev": true }, "lodash.template": { @@ -9071,15 +9055,15 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" }, "prettier": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.12.1.tgz", - "integrity": "sha1-wa0g6APndJ+vkFpAnSNn4Gu+cyU=", + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.13.5.tgz", + "integrity": "sha512-4M90mfvLz6yRf2Dhzd+xPIE6b4xkI8nHMJhsSm9IlfG17g6wujrrm7+H1X8x52tC4cSNm6HmuhCUSNe6Hd5wfw==", "dev": true }, "prettier-eslint": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-8.8.1.tgz", - "integrity": "sha1-OFBRYydHQvKgsxZTw55A8369B9o=", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-8.8.2.tgz", + "integrity": "sha512-2UzApPuxi2yRoyMlXMazgR6UcH9DKJhNgCviIwY3ixZ9THWSSrUww5vkiZ3C48WvpFl1M1y/oU63deSy1puWEA==", "dev": true, "requires": { "babel-runtime": "^6.26.0", @@ -9090,10 +9074,11 @@ "lodash.merge": "^4.6.0", "loglevel-colored-level-prefix": "^1.0.0", "prettier": "^1.7.0", - "pretty-format": "^22.0.3", + "pretty-format": "^23.0.1", "require-relative": "^0.8.7", "typescript": "^2.5.1", - "typescript-eslint-parser": "^11.0.0" + "typescript-eslint-parser": "^16.0.0", + "vue-eslint-parser": "^2.0.2" }, "dependencies": { "ansi-regex": { @@ -9109,9 +9094,9 @@ "dev": true }, "pretty-format": { - "version": "22.4.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-22.4.3.tgz", - "integrity": "sha1-+HPXgIOanALpZkyKCC6e556qwW8=", + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.0.1.tgz", + "integrity": "sha1-1h0GUmjkx1kIO8y8onoBrXx2AfQ=", "dev": true, "requires": { "ansi-regex": "^3.0.0", @@ -9172,11 +9157,10 @@ } }, "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha1-NmREU1ZCVd3aORGR+zoSXL32VMo=", + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "fbjs": "^0.8.16", "loose-envify": "^1.3.1", "object-assign": "^4.1.1" } @@ -9416,23 +9400,13 @@ "integrity": "sha1-0ZhAioW0Bwk3qYZn9QDIMvhr1dQ=" }, "react-event-listener": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.0.tgz", - "integrity": "sha512-CqewJSQ/0p09oPZ9BABNvoFhGMhUAuLQ4B4skPsZXxxgOBx+2SP3AgM9lP7zc68pRmJXlCQBDjgOAQsp1jnhAQ==", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.6.1.tgz", + "integrity": "sha1-QceoCmazmMJ91RHiJxKwLz1OzMo=", "requires": { "@babel/runtime": "^7.0.0-beta.42", "prop-types": "^15.6.0", - "warning": "^3.0.0" - }, - "dependencies": { - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "^1.0.0" - } - } + "warning": "^4.0.1" } }, "react-jss": { @@ -9685,9 +9659,9 @@ } }, "react-spring": { - "version": "5.3.15", - "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-5.3.15.tgz", - "integrity": "sha512-VP7m3Fptn2DdAyAKgoWE/nXMk+Tgu/ZPpgoHOVh8GExlQmFBH4FFjU5CI8zUZd/r0/Ez1wEVXdZzUpBXxGyRTw==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-5.3.18.tgz", + "integrity": "sha512-gPLxo0wk1OYK1b3ZL9emWIAoWuQvTjuLDT8+yKXG+PTyEOYHvhaqEWShykL4bN6AUjPJyY4+7CLioHxJeAefZA==", "requires": { "@babel/runtime": "7.0.0-beta.49" }, @@ -9863,9 +9837,9 @@ } }, "redux-form": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.4.0.tgz", - "integrity": "sha512-ppFEdbxS+HggJcS+HF37Gwyuh35/54hAZ2e1DvLBEzfw8sTqvas67A1YmfpK9thHj2XyLkwPOSbxgfObfkP+BQ==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.4.2.tgz", + "integrity": "sha512-QxC36s4Lelx5Cr8dbpxqvl23dwYOydeAX8c6YPmgkz/Dhj053C16S2qoyZN6LO6HJ2oUF00rKsAyE94GwOUhFA==", "requires": { "es6-error": "^4.1.1", "hoist-non-react-statics": "^2.5.4", @@ -9873,13 +9847,14 @@ "is-promise": "^2.1.0", "lodash": "^4.17.10", "lodash-es": "^4.17.10", - "prop-types": "^15.6.1" + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" }, "dependencies": { "hoist-non-react-statics": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.4.tgz", - "integrity": "sha512-yklXtcYj0Pt5Dz9No8xUh7d+/7fy5XRIm+r7U/BXgwJ/VsD75EfXA8t4p9tIL0jykzo5A/sGzt1xV6oqd/gP0w==" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" } } }, @@ -11195,27 +11170,19 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "typescript": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz", - "integrity": "sha1-XYF/m28xu4cYNfTt8AifIavmwXA=", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz", + "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==", "dev": true }, "typescript-eslint-parser": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-11.0.0.tgz", - "integrity": "sha1-N9umoBMN0wdQSqS0shsNPcfU6fI=", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/typescript-eslint-parser/-/typescript-eslint-parser-16.0.0.tgz", + "integrity": "sha512-ZYYVKlHWR/RMvTCah4WfrZclb2azZipW4sbaYLJjbh6jiYn81tLUZAw/WdVLlXxaCbIawaKCA44AJPMFVArKZQ==", "dev": true, "requires": { "lodash.unescape": "4.0.1", - "semver": "5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha1-4FnAnYVx8FQII3M0M1BdOi8AsY4=", - "dev": true - } + "semver": "5.5.0" } }, "ua-parser-js": { @@ -11569,6 +11536,31 @@ "indexof": "0.0.1" } }, + "vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", + "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "walker": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", diff --git a/react/package.json b/react/package.json index 11e4faf..1ac30e8 100644 --- a/react/package.json +++ b/react/package.json @@ -3,20 +3,20 @@ "version": "0.1.0", "private": true, "dependencies": { - "@material-ui/core": "^1.2.1", + "@material-ui/core": "^1.2.3", "@material-ui/icons": "^1.1.0", "@redux-offline/redux-offline": "^2.3.3", - "localforage": "^1.7.1", - "prop-types": "^15.6.1", + "localforage": "^1.7.2", + "prop-types": "^15.6.2", "react": "^16.4.1", "react-dom": "^16.4.1", "react-redux": "^5.0.7", "react-router-dom": "^4.3.1", "react-router-redux": "^4.0.8", "react-scripts": "1.1.4", - "react-spring": "^5.3.15", + "react-spring": "^5.3.18", "redux": "^4.0.0", - "redux-form": "^7.4.0", + "redux-form": "^7.4.2", "redux-thunk": "^2.3.0" }, "scripts": { @@ -33,6 +33,6 @@ "eslint-plugin-jest": "^21.17.0", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-react": "^7.9.1", - "prettier-eslint": "^8.8.1" + "prettier-eslint": "^8.8.2" } } diff --git a/react/src/actions/todos.js b/react/src/actions/todos.js index f081d55..0380803 100644 --- a/react/src/actions/todos.js +++ b/react/src/actions/todos.js @@ -107,7 +107,7 @@ export function toggleTodo(id) { body: JSON.stringify({ completed }), headers: { Authorization: `Bearer ${getToken()}`, - 'content-type': 'appl ication/json', + 'content-type': 'application/json', }, method: 'PATCH', }, diff --git a/react/src/components/Header.js b/react/src/components/Header.js index 521ba57..9b0104b 100644 --- a/react/src/components/Header.js +++ b/react/src/components/Header.js @@ -1,13 +1,13 @@ import React from 'react'; import FilterLink from '../containers/FilterLink'; -import UserHeaderContainer from '../containers/UserHeaderContainer'; +import UserHeader from '../components/UserHeader'; import { VisibilityFilters } from '../actions/todos'; import ListsContainer from '../containers/ListsContainer'; export default function Header() { return (