diff --git a/README.md b/README.md index cb11dfbfe..1ddae014d 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ This project is both an actual product, and also a technology demo using the lat It features the following technologies: -- [React 17](https://github.com/facebook/react) +- [React 18](https://github.com/facebook/react) - [React Hooks](https://reactjs.org/docs/hooks-intro.html) - [React Router 6](https://reactrouter.com/) - [TypeScript 4.6](https://www.typescriptlang.org/) @@ -85,6 +85,11 @@ This will run a demo version, which you can turn into a fully licenced version b ## Versions History +### Version 4.14.0 (unreleased) + +- Upgrade to React 18 +- Replace icons by emoji for columns headers (fully customisable) + ### Version 4.13.0 - Adding the option of paying for Retrospected Pro annually, getting one month free in the process diff --git a/backend/package.json b/backend/package.json index fc05b7b8e..1a8d3a5cd 100644 --- a/backend/package.json +++ b/backend/package.json @@ -19,7 +19,7 @@ }, "dependencies": { "@sendgrid/mail": "7.6.2", - "@sentry/node": "6.19.2", + "@sentry/node": "6.19.3", "@types/bcryptjs": "2.4.2", "@types/connect-redis": "0.0.18", "@types/crypto-js": "4.1.1", @@ -29,7 +29,7 @@ "@types/express-rate-limit": "6.0.0", "@types/express-session": "1.17.4", "@types/jest": "27.4.1", - "@types/lodash": "4.14.180", + "@types/lodash": "4.14.181", "@types/node": "17.0.23", "@types/node-fetch": "2.5.12", "@types/passport": "1.0.7", @@ -41,8 +41,8 @@ "@types/shortid": "0.0.29", "@types/socket.io-redis": "3.0.0", "@types/uuid": "8.3.4", - "@typescript-eslint/eslint-plugin": "5.16.0", - "@typescript-eslint/parser": "5.16.0", + "@typescript-eslint/eslint-plugin": "5.17.0", + "@typescript-eslint/parser": "5.17.0", "bcryptjs": "2.4.3", "chalk": "4.1.2", "connect-redis": "6.1.3", @@ -50,7 +50,7 @@ "csurf": "1.11.0", "date-fns": "2.28.0", "dotenv": "16.0.0", - "eslint": "8.11.0", + "eslint": "8.12.0", "eslint-config-prettier": "8.5.0", "eslint-plugin-prettier": "4.0.0", "express": "4.17.3", @@ -64,7 +64,7 @@ "moment": "2.29.1", "node-fetch": "2.6.7", "nodemon": "2.0.15", - "passport": "0.5.0", + "passport": "0.5.2", "passport-github2": "0.1.12", "passport-google-oauth20": "2.0.0", "passport-local": "1.0.0", @@ -73,14 +73,14 @@ "passport-slack": "0.0.7", "passport-twitter": "1.0.4", "pg": "8.7.3", - "prettier": "2.6.1", + "prettier": "2.6.2", "rate-limiter-flexible": "2.3.6", "redis": "3.1.2", "rimraf": "3.0.2", "shortid": "2.2.16", "socket.io": "4.4.1", "socket.io-redis": "6.1.1", - "stripe": "8.211.0", + "stripe": "8.215.0", "ts-jest": "27.1.4", "ts-node": "10.7.0", "typeorm": "0.2.45", diff --git a/backend/yarn.lock b/backend/yarn.lock index e541543e0..c3f28d2ff 100644 --- a/backend/yarn.lock +++ b/backend/yarn.lock @@ -581,60 +581,60 @@ "@sendgrid/client" "^7.6.2" "@sendgrid/helpers" "^7.6.2" -"@sentry/core@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.2.tgz#dd35ba6ca41a2dd011c43f732bcdadbb52c06376" - integrity sha512-yu1R3ewBT4udmB4v7sc4biQZ0Z0rfB9+TzB5ZKoCftbe6kqXjFMMaFRYNUF9HicVldKAsBktgkWw3+yfqGkw/A== - dependencies: - "@sentry/hub" "6.19.2" - "@sentry/minimal" "6.19.2" - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" +"@sentry/core@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.3.tgz#88268afc8c42716c455ad77bb4bed2bbf96abd83" + integrity sha512-RcGmYdkrE3VYBMl9Hgv4GKsC8FEVUdWYsfGIcT/btwP2YpBeUaTZl+1vV9r3Ncdl125LqzP5CKSj5otVxiEg6g== + dependencies: + "@sentry/hub" "6.19.3" + "@sentry/minimal" "6.19.3" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" tslib "^1.9.3" -"@sentry/hub@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.2.tgz#0e9f9c507e55d8396002f644b43ef27cc9ff1289" - integrity sha512-W7KCgNBgdBIMagOxy5J5KQPe+maYxSqfE8a5ncQ3R8BcZDQEKnkW/1FplNbfRLZqA/tL/ndKb7pTPqVtzsbARw== +"@sentry/hub@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.3.tgz#d555c83404f19ac9b68f336b051b8e7a9d75feb0" + integrity sha512-iYbkrxEZt6CrHP3U3r54MARVZSs3YHjAMUMOTlC16s/Amz1McwV95XtI3NJaqMhwzl7R5vbGrs3xOtLg1V1Uyw== dependencies: - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" tslib "^1.9.3" -"@sentry/minimal@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.2.tgz#e748541e4adbc7e80a3b6ccaf01b631c17fc44b4" - integrity sha512-ClwxKm77iDHET7kpzv1JvzDx1er5DoNu+EUjst0kQzARIrXvu9xuZuE2/CnBWycQWqw8o3HoGoKz65uIhsUCzQ== +"@sentry/minimal@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.3.tgz#b9b7f0d7f0cd2341b243318668ac01458f9d7889" + integrity sha512-xy/6ThHK8B2NJT98nWrx6V9eVgUbzq2N/8lv5/QqrKsICjxx22TRC8Q6zPg/o7BYcrY5vpugSEbIeErTnyxHDA== dependencies: - "@sentry/hub" "6.19.2" - "@sentry/types" "6.19.2" + "@sentry/hub" "6.19.3" + "@sentry/types" "6.19.3" tslib "^1.9.3" -"@sentry/node@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.19.2.tgz#cad621ad319f555826110f4d6c972a2fc95800fc" - integrity sha512-Z1qREpTpYHxaeWjc1zMUk8ZTAp1WbxMiI2TVNc+a14DVT19Z2xNXb06MiRfeLgNc9lVGdmzR62dPmMBjVgPJYg== +"@sentry/node@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.19.3.tgz#afcf106bf72acc0e4bbacbc54744de8a938cbd1c" + integrity sha512-eHreMMbaK4mMAQ45Ki2xJ6in02l66hL6xhltppy/h4m297JIvjaQAFpbQf5XLtO7W4KjdbSV5qnB45D1aOAzFA== dependencies: - "@sentry/core" "6.19.2" - "@sentry/hub" "6.19.2" - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" + "@sentry/core" "6.19.3" + "@sentry/hub" "6.19.3" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" cookie "^0.4.1" https-proxy-agent "^5.0.0" lru_map "^0.3.3" tslib "^1.9.3" -"@sentry/types@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.2.tgz#0219c9da21ed975951108b8541913b1966464435" - integrity sha512-XO5qmVBdTs+7PdCz7fAwn1afWxSnRE2KLBFg5/vOdKosPSSHsSHUURSkxiEZc2QsR+JpRB4AeQ26AkIRX38qTg== +"@sentry/types@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.3.tgz#94b19da68d4d23561efb1014f72968bcea85cd0c" + integrity sha512-jHhqxp8MIWSfOc3krorirTGKTEaSFO6XrAvi+2AZhr6gvOChwOgzgrN2ZqesJcZmgCsqWV21u3usSwYeRrjOJA== -"@sentry/utils@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.2.tgz#995efb896c5159369509f4896c27a2d2ea9191f2" - integrity sha512-2DQQ2OJaxjtyxGq5FmMlqb6hptsqMs2xoBiVRMkTS/rvyTrk1oQdKZ8ePwjtgX3nJ728ni3IXIyXV+vfGp4EBw== +"@sentry/utils@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.3.tgz#0c3a3f0b86c12e3b079e56e37a44e62a1226043d" + integrity sha512-GdC9B/FK7qd0zItY43135bYbhuVSawE18bIrQDNuno8gTpDJ5OgShpTN9zR53AmMh16/lwKNnV3ZZjlpKcxuNw== dependencies: - "@sentry/types" "6.19.2" + "@sentry/types" "6.19.3" tslib "^1.9.3" "@sindresorhus/is@^0.14.0": @@ -882,10 +882,10 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== -"@types/lodash@4.14.180": - version "4.14.180" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.180.tgz#4ab7c9ddfc92ec4a887886483bc14c79fb380670" - integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== +"@types/lodash@4.14.181": + version "4.14.181" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.181.tgz#d1d3740c379fda17ab175165ba04e2d03389385d" + integrity sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag== "@types/mime@^1": version "1.3.2" @@ -1052,14 +1052,14 @@ resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== -"@typescript-eslint/eslint-plugin@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz#78f246dd8d1b528fc5bfca99a8a64d4023a3d86d" - integrity sha512-SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw== +"@typescript-eslint/eslint-plugin@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.17.0.tgz#704eb4e75039000531255672bf1c85ee85cf1d67" + integrity sha512-qVstvQilEd89HJk3qcbKt/zZrfBZ+9h2ynpAGlWjWiizA7m/MtLT9RoX6gjtpE500vfIg8jogAkDzdCxbsFASQ== dependencies: - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/type-utils" "5.16.0" - "@typescript-eslint/utils" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/type-utils" "5.17.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -1067,69 +1067,69 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/parser@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.16.0.tgz#e4de1bde4b4dad5b6124d3da227347616ed55508" - integrity sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA== +"@typescript-eslint/parser@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.17.0.tgz#7def77d5bcd8458d12d52909118cf3f0a45f89d5" + integrity sha512-aRzW9Jg5Rlj2t2/crzhA2f23SIYFlF9mchGudyP0uiD6SenIxzKoLjwzHbafgHn39dNV/TV7xwQkLfFTZlJ4ig== dependencies: - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/typescript-estree" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" debug "^4.3.2" -"@typescript-eslint/scope-manager@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz#7e7909d64bd0c4d8aef629cdc764b9d3e1d3a69a" - integrity sha512-P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ== +"@typescript-eslint/scope-manager@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.17.0.tgz#4cea7d0e0bc0e79eb60cad431c89120987c3f952" + integrity sha512-062iCYQF/doQ9T2WWfJohQKKN1zmmXVfAcS3xaiialiw8ZUGy05Em6QVNYJGO34/sU1a7a+90U3dUNfqUDHr3w== dependencies: - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/visitor-keys" "5.16.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" -"@typescript-eslint/type-utils@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz#b482bdde1d7d7c0c7080f7f2f67ea9580b9e0692" - integrity sha512-SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ== +"@typescript-eslint/type-utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.17.0.tgz#1c4549d68c89877662224aabb29fbbebf5fc9672" + integrity sha512-3hU0RynUIlEuqMJA7dragb0/75gZmwNwFf/QJokWzPehTZousP/MNifVSgjxNcDCkM5HI2K22TjQWUmmHUINSg== dependencies: - "@typescript-eslint/utils" "5.16.0" + "@typescript-eslint/utils" "5.17.0" debug "^4.3.2" tsutils "^3.21.0" -"@typescript-eslint/types@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.16.0.tgz#5827b011982950ed350f075eaecb7f47d3c643ee" - integrity sha512-oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g== +"@typescript-eslint/types@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.17.0.tgz#861ec9e669ffa2aa9b873dd4d28d9b1ce26d216f" + integrity sha512-AgQ4rWzmCxOZLioFEjlzOI3Ch8giDWx8aUDxyNw9iOeCvD3GEYAB7dxWGQy4T/rPVe8iPmu73jPHuaSqcjKvxw== -"@typescript-eslint/typescript-estree@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz#32259459ec62f5feddca66adc695342f30101f61" - integrity sha512-SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ== +"@typescript-eslint/typescript-estree@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.17.0.tgz#a7cba7dfc8f9cc2ac78c18584e684507df4f2488" + integrity sha512-X1gtjEcmM7Je+qJRhq7ZAAaNXYhTgqMkR10euC4Si6PIjb+kwEQHSxGazXUQXFyqfEXdkGf6JijUu5R0uceQzg== dependencies: - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/visitor-keys" "5.16.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/visitor-keys" "5.17.0" debug "^4.3.2" globby "^11.0.4" is-glob "^4.0.3" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/utils@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.16.0.tgz#42218b459d6d66418a4eb199a382bdc261650679" - integrity sha512-iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ== +"@typescript-eslint/utils@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.17.0.tgz#549a9e1d491c6ccd3624bc3c1b098f5cfb45f306" + integrity sha512-DVvndq1QoxQH+hFv+MUQHrrWZ7gQ5KcJzyjhzcqB1Y2Xes1UQQkTRPUfRpqhS8mhTWsSb2+iyvDW1Lef5DD7vA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.16.0" - "@typescript-eslint/types" "5.16.0" - "@typescript-eslint/typescript-estree" "5.16.0" + "@typescript-eslint/scope-manager" "5.17.0" + "@typescript-eslint/types" "5.17.0" + "@typescript-eslint/typescript-estree" "5.17.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/visitor-keys@5.16.0": - version "5.16.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz#f27dc3b943e6317264c7492e390c6844cd4efbbb" - integrity sha512-jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g== +"@typescript-eslint/visitor-keys@5.17.0": + version "5.17.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.17.0.tgz#52daae45c61b0211b4c81b53a71841911e479128" + integrity sha512-6K/zlc4OfCagUu7Am/BD5k8PSWQOgh34Nrv9Rxe2tBzlJ7uOeJ/h7ugCGDCeEZHT6k2CJBhbk9IsbkPI0uvUkA== dependencies: - "@typescript-eslint/types" "5.16.0" + "@typescript-eslint/types" "5.17.0" eslint-visitor-keys "^3.0.0" abab@^2.0.3, abab@^2.0.5: @@ -2096,10 +2096,10 @@ eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== -eslint@8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.11.0.tgz#88b91cfba1356fc10bb9eb592958457dfe09fb37" - integrity sha512-/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA== +eslint@8.12.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.12.0.tgz#c7a5bd1cfa09079aae64c9076c07eada66a46e8e" + integrity sha512-it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q== dependencies: "@eslint/eslintrc" "^1.2.1" "@humanwhocodes/config-array" "^0.9.2" @@ -4056,10 +4056,10 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.1.tgz#d472797e0d7461605c1609808e27b80c0f9cfe17" - integrity sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A== +prettier@2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032" + integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew== pretty-format@^27.0.0, pretty-format@^27.5.1: version "27.5.1" @@ -4126,7 +4126,7 @@ qs@6.9.7: resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe" integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw== -qs@^6.6.0: +qs@^6.10.3: version "6.10.3" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== @@ -4575,13 +4575,13 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -stripe@8.211.0: - version "8.211.0" - resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.211.0.tgz#658f2399238c5854687a8f54eca34cd4ec004020" - integrity sha512-dnX/rLj6fOodpjmnorQ2xflmZxvWazUiW5PDRvqeVnF0uqr7w5hlwUjAxFh+xibN2M0ygp0DCsOT+1SNIo5LYw== +stripe@8.215.0: + version "8.215.0" + resolved "https://registry.yarnpkg.com/stripe/-/stripe-8.215.0.tgz#bb464e256fb83da9ea2f514711fd0f6f7ae7dc9a" + integrity sha512-M+7iTZ9bzTkU1Ms+Zsuh0mTQfEzOjMoqyEaVBpuUmdbWTvshavzpAihsOkfabEu+sNY0vdbQxxHZ4kI3W8pKHQ== dependencies: "@types/node" ">=8.1.0" - qs "^6.6.0" + qs "^6.10.3" supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" diff --git a/dependencies.md b/dependencies.md index 41fce15e9..5641f59f9 100644 --- a/dependencies.md +++ b/dependencies.md @@ -8,8 +8,7 @@ - node-fetch: 2.6.7 (same reason) - @types/node-fetch: 2.5.12 - redis 3.1.2 (new version incompatible with express-redis) -- passport 0.5.0 (new version breaks set user) ### Frontend -- react-markdown (6.0.3): Jest won't work with ESM. I hate ESM. \ No newline at end of file + - react-markdown (6.0.3): Jest won't work with ESM. I hate ESM. \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 06889c7db..0b1ba51c5 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,21 +6,21 @@ "dependencies": { "@emotion/react": "11.8.2", "@emotion/styled": "11.8.1", - "@mui/base": "5.0.0-alpha.73", + "@mui/base": "5.0.0-alpha.74", "@mui/icons-material": "5.5.1", - "@mui/material": "5.5.2", - "@mui/styles": "5.5.1", + "@mui/material": "5.5.3", + "@mui/styles": "5.5.3", "@mui/x-data-grid": "5.7.0", - "@sentry/browser": "6.19.2", + "@sentry/browser": "6.19.3", "@stripe/react-stripe-js": "1.7.0", - "@stripe/stripe-js": "1.25.0", + "@stripe/stripe-js": "1.26.0", "@testing-library/jest-dom": "5.16.3", - "@testing-library/react": "12.1.4", + "@testing-library/react": "13.0.0", "@testing-library/react-hooks": "7.0.2", "@types/crypto-js": "4.1.1", "@types/emoji-mart": "^3.0.9", "@types/jest": "27.4.1", - "@types/lodash": "4.14.180", + "@types/lodash": "4.14.181", "@types/md5": "2.3.2", "@types/node": "17.0.23", "@types/react": "17.0.43", @@ -48,22 +48,22 @@ "notistack": "2.0.3", "prop-types": "15.8.1", "query-string": "7.1.1", - "react": "17.0.2", + "react": "18.0.0", "react-autosize-textarea": "7.1.0", "react-beautiful-dnd": "13.1.0", "react-color": "2.19.3", "react-copy-to-clipboard": "5.0.4", - "react-dom": "17.0.2", + "react-dom": "18.0.0", "react-ga": "3.3.0", "react-giphy-searchbox": "1.5.4", "react-helmet": "6.1.0", "react-markdown": "6.0.3", "react-password-strength-bar": "0.4.0", - "react-router-dom": "6.2.2", + "react-router-dom": "6.3.0", "react-scripts": "5.0.0", "react-scroll-to-bottom": "4.2.0", "react-social-login-buttons": "3.6.0", - "recoil": "0.6.1", + "recoil": "0.7.0", "rehype-raw": "6.1.1", "shortid": "2.2.16", "socket.io-client": "4.4.1", diff --git a/frontend/src/components/EditableLabel.tsx b/frontend/src/components/EditableLabel.tsx index 131010bbb..a5ac91680 100644 --- a/frontend/src/components/EditableLabel.tsx +++ b/frontend/src/components/EditableLabel.tsx @@ -78,6 +78,7 @@ const EditableLabel = ({ } aria-label={`${label} input`} + data-testid={`${label} input`} value={current} onBlur={enableViewMode} onKeyPress={handleKeyPress} @@ -87,6 +88,7 @@ const EditableLabel = ({ } aria-label={`${label} input`} + data-testid={`${label} input`} value={current} onBlur={enableViewMode} onKeyPress={handleKeyPress} @@ -101,7 +103,9 @@ const EditableLabel = ({ ) : ( - {current || placeholder} + + {current || placeholder} +   diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx index b0f05ac78..c91a14b3c 100644 --- a/frontend/src/index.tsx +++ b/frontend/src/index.tsx @@ -1,7 +1,8 @@ import 'core-js/stable'; import 'whatwg-fetch'; -import ReactDOM from 'react-dom'; import App from './App'; +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; import { initialiseAnalytics, initialiseSentry } from './track'; import * as serviceWorker from './serviceWorker'; import 'emoji-mart/css/emoji-mart.css'; @@ -12,7 +13,14 @@ window.Buffer = window.Buffer || require('buffer').Buffer; initialiseSentry(); initialiseAnalytics(); -ReactDOM.render(, document.getElementById('content')); + +const container = document.getElementById('content')!; +const root = createRoot(container); +root.render( + + + +); // If you want your app to work offline and load faster, you can change // unregister() to register() below. Note this comes with some pitfalls. diff --git a/frontend/src/views/game/board/post/__tests__/Post.test.tsx b/frontend/src/views/game/board/post/__tests__/Post.test.tsx index 5f6ecce55..d26c543e3 100644 --- a/frontend/src/views/game/board/post/__tests__/Post.test.tsx +++ b/frontend/src/views/game/board/post/__tests__/Post.test.tsx @@ -8,6 +8,7 @@ import { MemoryRouter, Route, Routes } from 'react-router-dom'; import { ThemeProvider } from '@mui/material'; import theme from '../../../../../Theme'; import { SnackbarProvider } from 'notistack'; +import { act } from '@testing-library/react'; const u = (name: string): User => ({ name, @@ -104,11 +105,14 @@ describe('Post', () => { expect(likeButton).toHaveTextContent('3'); expect(dislikeButton).toHaveTextContent('2'); - likeButton.click(); + act(() => { + likeButton.click(); + }); expect(likeHandler).toHaveBeenCalledTimes(1); expect(dislikeHandler).not.toHaveBeenCalled(); - - dislikeButton.click(); + act(() => { + dislikeButton.click(); + }); expect(dislikeHandler).toHaveBeenCalledTimes(1); expect(deleteHandler).not.toHaveBeenCalled(); @@ -140,14 +144,18 @@ describe('Post', () => { const deleteButton = getByLabelText(/delete/i, { selector: 'button' }); const likeButton = getByLabelText(/^like/i); const dislikeButton = getByLabelText(/dislike/i); + act(() => { + deleteButton.click(); + }); - deleteButton.click(); expect(deleteHandler).toHaveBeenCalledTimes(1); expect(likeButton).toBeDisabled(); expect(dislikeButton).toBeDisabled(); - likeButton.click(); - dislikeButton.click(); + act(() => { + likeButton.click(); + dislikeButton.click(); + }); expect(likeHandler).not.toHaveBeenCalled(); expect(dislikeHandler).not.toHaveBeenCalled(); }); @@ -173,8 +181,11 @@ describe('Post', () => { search="" /> ); - const editableLabel = getByLabelText(/post content/i); - editableLabel.click(); + const editableLabel = getByLabelText(/Post content/i); + act(() => { + editableLabel.click(); + }); + expect(editHandler).not.toHaveBeenCalled(); const editableInput = getByLabelText(/post content input/i); fireEvent.change(editableInput, { target: { value: 'Bar' } }); @@ -205,7 +216,9 @@ describe('Post', () => { /> ); const editableLabel = getByLabelText(/post content/i); - editableLabel.click(); + act(() => { + editableLabel.click(); + }); const editableInput = queryByLabelText(/post content input/i); expect(editableInput).toBeNull(); expect(editHandler).not.toHaveBeenCalled(); diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 88a28c7ea..02bc73f12 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1489,14 +1489,15 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@mui/base@5.0.0-alpha.73": - version "5.0.0-alpha.73" - resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.73.tgz#1b5bc60d31eb2b374516c4f3bae2835f94510169" - integrity sha512-TEUCIIEAWrngAqpIa+dY3nofGSNj70LC3KC9WcCzyXPK3M4AG2GNi7ndd/g/0DtC55kbxrudzlV8TG3vrB2Vjw== +"@mui/base@5.0.0-alpha.74": + version "5.0.0-alpha.74" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.74.tgz#15509242e7911446d5957375b1b18cbb72b3a750" + integrity sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ== dependencies: "@babel/runtime" "^7.17.2" "@emotion/is-prop-valid" "^1.1.2" - "@mui/utils" "^5.4.4" + "@mui/types" "^7.1.3" + "@mui/utils" "^5.5.3" "@popperjs/core" "^2.11.4" clsx "^1.1.1" prop-types "^15.7.2" @@ -1509,16 +1510,16 @@ dependencies: "@babel/runtime" "^7.17.2" -"@mui/material@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.5.2.tgz#9cea96abda87bed51d435e8676d5bfad99750b8a" - integrity sha512-r4p1u9eDlSqW3TS/Iq9yolifWHpuW6e0BSeqEJW3EEIcKfPVVk4WNUNJ+s8DtN7dBoDcveXxcQVVjYXTIv1d9g== +"@mui/material@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.5.3.tgz#411e53a69da3f9d6664e99f1bdcdaf2760540fdc" + integrity sha512-eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A== dependencies: "@babel/runtime" "^7.17.2" - "@mui/base" "5.0.0-alpha.73" - "@mui/system" "^5.5.2" + "@mui/base" "5.0.0-alpha.74" + "@mui/system" "^5.5.3" "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" + "@mui/utils" "^5.5.3" "@types/react-transition-group" "^4.4.4" clsx "^1.1.1" csstype "^3.0.11" @@ -1527,13 +1528,13 @@ react-is "^17.0.2" react-transition-group "^4.4.2" -"@mui/private-theming@^5.4.4": - version "5.4.4" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.4.4.tgz#cc2b2d897888ce5d1c319adfa2c50c0063a649ab" - integrity sha512-V/gxttr6736yJoU9q+4xxXsa0K/w9Hn9pg99zsOHt7i/O904w2CX5NHh5WqDXtoUzVcayLF0RB17yr6l79CE+A== +"@mui/private-theming@^5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.5.3.tgz#c232a39dd3c268fdef7e92ccc40d51bda9eec3ab" + integrity sha512-Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A== dependencies: "@babel/runtime" "^7.17.2" - "@mui/utils" "^5.4.4" + "@mui/utils" "^5.5.3" prop-types "^15.7.2" "@mui/styled-engine@^5.5.2": @@ -1545,16 +1546,16 @@ "@emotion/cache" "^11.7.1" prop-types "^15.7.2" -"@mui/styles@5.5.1": - version "5.5.1" - resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.5.1.tgz#cfd2b6dbdb4b2cb0e989568bb9cc45f5d7346d2a" - integrity sha512-mxwfjwTwPE+r7/U4Nn/QKPzJ2cIqmRuK3xu44Us613D5jqPeB/ftOsAy0OpCYAwpkUxmQIrRQiilQ8zE+f4rBQ== +"@mui/styles@5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.5.3.tgz#e462adec9a24ee4f6982394c172f20221bef30d7" + integrity sha512-jxiXgyzYXDh5pUdfKvs5ZTJqQRNFUgbG9Q/hOPh0nHrKYmlrikt2Z3b9Rjrkp2QCh9R3kuy8LHlv/u+QjnnIqg== dependencies: "@babel/runtime" "^7.17.2" "@emotion/hash" "^0.8.0" - "@mui/private-theming" "^5.4.4" + "@mui/private-theming" "^5.5.3" "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" + "@mui/utils" "^5.5.3" clsx "^1.1.1" csstype "^3.0.11" hoist-non-react-statics "^3.3.2" @@ -1568,16 +1569,16 @@ jss-plugin-vendor-prefixer "^10.8.2" prop-types "^15.7.2" -"@mui/system@^5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.5.2.tgz#df8fbbfb17cccfeca3122fe9dff04a481bda179a" - integrity sha512-OATYFI36nliud8xh0u+ZNqDo0jWjxpO0vZLlzqNB+ZtkR5Q/+1X3GgboA9ruiB8Rq+udnJlMBQNGW0qqjvAOHQ== +"@mui/system@^5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.5.3.tgz#c78d4c16009430389ffd3495d694945422d72ca5" + integrity sha512-J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw== dependencies: "@babel/runtime" "^7.17.2" - "@mui/private-theming" "^5.4.4" + "@mui/private-theming" "^5.5.3" "@mui/styled-engine" "^5.5.2" "@mui/types" "^7.1.3" - "@mui/utils" "^5.4.4" + "@mui/utils" "^5.5.3" clsx "^1.1.1" csstype "^3.0.11" prop-types "^15.7.2" @@ -1598,6 +1599,17 @@ prop-types "^15.7.2" react-is "^17.0.2" +"@mui/utils@^5.5.3": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.5.3.tgz#f6e1f10c0e8f4d0bf750588c2c3a96ad819c5b65" + integrity sha512-t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag== + dependencies: + "@babel/runtime" "^7.17.2" + "@types/prop-types" "^15.7.4" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.7.2" + react-is "^17.0.2" + "@mui/x-data-grid@5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-5.7.0.tgz#fbb87989c201628f75dab419d6df44e9bb289bf1" @@ -1691,56 +1703,56 @@ resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== -"@sentry/browser@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.2.tgz#c0f6df07584f3b36fa037067aea20b2c8c2095a3" - integrity sha512-5VC44p5Vu2eJhVT39nLAJFgha5MjHDYCyZRR1ieeZt3a++otojPGBBAKNAtrEMGV+A2Z9AoneD6ZnDVlyb3GKg== +"@sentry/browser@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.3.tgz#b4cfc6eba48d10a5fdf096c05ca11303354edb8b" + integrity sha512-E8UA6IN8z9hL6aGzOHUzqgNZiBwARkA89i8ncKB9QU1/+jl7598ZLziN4+uyPeZiRquEz8Ub7Ve1eacs1u+fbw== dependencies: - "@sentry/core" "6.19.2" - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" + "@sentry/core" "6.19.3" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" tslib "^1.9.3" -"@sentry/core@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.2.tgz#dd35ba6ca41a2dd011c43f732bcdadbb52c06376" - integrity sha512-yu1R3ewBT4udmB4v7sc4biQZ0Z0rfB9+TzB5ZKoCftbe6kqXjFMMaFRYNUF9HicVldKAsBktgkWw3+yfqGkw/A== +"@sentry/core@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.3.tgz#88268afc8c42716c455ad77bb4bed2bbf96abd83" + integrity sha512-RcGmYdkrE3VYBMl9Hgv4GKsC8FEVUdWYsfGIcT/btwP2YpBeUaTZl+1vV9r3Ncdl125LqzP5CKSj5otVxiEg6g== dependencies: - "@sentry/hub" "6.19.2" - "@sentry/minimal" "6.19.2" - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" + "@sentry/hub" "6.19.3" + "@sentry/minimal" "6.19.3" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" tslib "^1.9.3" -"@sentry/hub@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.2.tgz#0e9f9c507e55d8396002f644b43ef27cc9ff1289" - integrity sha512-W7KCgNBgdBIMagOxy5J5KQPe+maYxSqfE8a5ncQ3R8BcZDQEKnkW/1FplNbfRLZqA/tL/ndKb7pTPqVtzsbARw== +"@sentry/hub@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.3.tgz#d555c83404f19ac9b68f336b051b8e7a9d75feb0" + integrity sha512-iYbkrxEZt6CrHP3U3r54MARVZSs3YHjAMUMOTlC16s/Amz1McwV95XtI3NJaqMhwzl7R5vbGrs3xOtLg1V1Uyw== dependencies: - "@sentry/types" "6.19.2" - "@sentry/utils" "6.19.2" + "@sentry/types" "6.19.3" + "@sentry/utils" "6.19.3" tslib "^1.9.3" -"@sentry/minimal@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.2.tgz#e748541e4adbc7e80a3b6ccaf01b631c17fc44b4" - integrity sha512-ClwxKm77iDHET7kpzv1JvzDx1er5DoNu+EUjst0kQzARIrXvu9xuZuE2/CnBWycQWqw8o3HoGoKz65uIhsUCzQ== +"@sentry/minimal@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.3.tgz#b9b7f0d7f0cd2341b243318668ac01458f9d7889" + integrity sha512-xy/6ThHK8B2NJT98nWrx6V9eVgUbzq2N/8lv5/QqrKsICjxx22TRC8Q6zPg/o7BYcrY5vpugSEbIeErTnyxHDA== dependencies: - "@sentry/hub" "6.19.2" - "@sentry/types" "6.19.2" + "@sentry/hub" "6.19.3" + "@sentry/types" "6.19.3" tslib "^1.9.3" -"@sentry/types@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.2.tgz#0219c9da21ed975951108b8541913b1966464435" - integrity sha512-XO5qmVBdTs+7PdCz7fAwn1afWxSnRE2KLBFg5/vOdKosPSSHsSHUURSkxiEZc2QsR+JpRB4AeQ26AkIRX38qTg== +"@sentry/types@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.3.tgz#94b19da68d4d23561efb1014f72968bcea85cd0c" + integrity sha512-jHhqxp8MIWSfOc3krorirTGKTEaSFO6XrAvi+2AZhr6gvOChwOgzgrN2ZqesJcZmgCsqWV21u3usSwYeRrjOJA== -"@sentry/utils@6.19.2": - version "6.19.2" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.2.tgz#995efb896c5159369509f4896c27a2d2ea9191f2" - integrity sha512-2DQQ2OJaxjtyxGq5FmMlqb6hptsqMs2xoBiVRMkTS/rvyTrk1oQdKZ8ePwjtgX3nJ728ni3IXIyXV+vfGp4EBw== +"@sentry/utils@6.19.3": + version "6.19.3" + resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.3.tgz#0c3a3f0b86c12e3b079e56e37a44e62a1226043d" + integrity sha512-GdC9B/FK7qd0zItY43135bYbhuVSawE18bIrQDNuno8gTpDJ5OgShpTN9zR53AmMh16/lwKNnV3ZZjlpKcxuNw== dependencies: - "@sentry/types" "6.19.2" + "@sentry/types" "6.19.3" tslib "^1.9.3" "@sinonjs/commons@^1.7.0": @@ -1774,10 +1786,10 @@ dependencies: prop-types "^15.7.2" -"@stripe/stripe-js@1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.25.0.tgz#74334e3f9971e8dfd352a67581c6e02dc5c2ebf8" - integrity sha512-cywIoKu3sJnBPQ1eKi3BzFHWslA2ePqHvQhcxp7iYYlo1tWcVgEKTSh7y7hb6GoR4TyT3DwlK4v1vOZpVg8u4Q== +"@stripe/stripe-js@1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@stripe/stripe-js/-/stripe-js-1.26.0.tgz#45670924753c01e18d0544ea1f1067b474aaa96f" + integrity sha512-4R1vC75yKaCVFARW3bhelf9+dKt4NP4iZY/sIjGK7AAMBVvZ47eG74NvsAIUdUnhOXSWFMjdFWqv+etk5BDW4g== "@surma/rollup-plugin-off-main-thread@^2.2.3": version "2.2.3" @@ -1892,10 +1904,10 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^8.0.0": - version "8.11.3" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.11.3.tgz#38fd63cbfe14557021e88982d931e33fb7c1a808" - integrity sha512-9LId28I+lx70wUiZjLvi1DB/WT2zGOxUh46glrSNMaWVx849kKAluezVzZrXJfTKKoQTmEOutLes/bHg4Bj3aA== +"@testing-library/dom@^8.5.0": + version "8.12.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.12.0.tgz#fef5e545533fb084175dda6509ee71d7d2f72e23" + integrity sha512-rBrJk5WjI02X1edtiUcZhgyhgBhiut96r5Jp8J5qktKdcvLcZpKDW8i2hkGMMItxrghjXuQ5AM6aE0imnFawaw== dependencies: "@babel/code-frame" "^7.10.4" "@babel/runtime" "^7.12.5" @@ -1932,13 +1944,13 @@ "@types/react-test-renderer" ">=16.9.0" react-error-boundary "^3.1.0" -"@testing-library/react@12.1.4": - version "12.1.4" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.4.tgz#09674b117e550af713db3f4ec4c0942aa8bbf2c0" - integrity sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA== +"@testing-library/react@13.0.0": + version "13.0.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.0.0.tgz#8cdaf4667c6c2b082eb0513731551e9db784e8bc" + integrity sha512-p0lYA1M7uoEmk2LnCbZLGmHJHyH59sAaZVXChTXlyhV/PRW9LoIh4mdf7tiXsO8BoNG+vN8UnFJff1hbZeXv+w== dependencies: "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.0.0" + "@testing-library/dom" "^8.5.0" "@types/react-dom" "*" "@tootallnate/once@1": @@ -2160,10 +2172,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/lodash@4.14.180": - version "4.14.180" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.180.tgz#4ab7c9ddfc92ec4a887886483bc14c79fb380670" - integrity sha512-XOKXa1KIxtNXgASAnwj7cnttJxS4fksBRywK/9LzRV5YxrF80BXZIGeQSuoESQ/VkUj30Ae0+YcuHc15wJCB2g== +"@types/lodash@4.14.181": + version "4.14.181" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.181.tgz#d1d3740c379fda17ab175165ba04e2d03389385d" + integrity sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag== "@types/md5@2.3.2": version "2.3.2" @@ -8231,14 +8243,13 @@ react-dev-utils@^12.0.0: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== +react-dom@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.0.0.tgz#26b88534f8f1dbb80853e1eabe752f24100d8023" + integrity sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.2" + scheduler "^0.21.0" react-error-boundary@^3.1.0: version "3.1.4" @@ -8340,18 +8351,18 @@ react-refresh@^0.11.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== -react-router-dom@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.2.2.tgz#f1a2c88365593c76b9612ae80154a13fcb72e442" - integrity sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ== +react-router-dom@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d" + integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw== dependencies: history "^5.2.0" - react-router "6.2.2" + react-router "6.3.0" -react-router@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.2.2.tgz#495e683a0c04461eeb3d705fe445d6cf42f0c249" - integrity sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ== +react-router@6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557" + integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ== dependencies: history "^5.2.0" @@ -8443,13 +8454,12 @@ react-transition-group@^4.4.2: loose-envify "^1.4.0" prop-types "^15.6.2" -react@17.0.2: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== +react@18.0.0: + version "18.0.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.0.0.tgz#b468736d1f4a5891f38585ba8e8fb29f91c3cb96" + integrity sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" reactcss@^1.2.0: version "1.2.3" @@ -8487,10 +8497,10 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -recoil@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/recoil/-/recoil-0.6.1.tgz#6fdf1ba6cb20b5a2e54ec4abcbdaa287e8a03fa2" - integrity sha512-J7oT3LZl2vpyFClgSUpOQjpykz84VSX/NJE/PavAtR8n7Z+whEdVBPUtwc2TEWjONeL/lJmiac2XQ+qEOQA52Q== +recoil@0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/recoil/-/recoil-0.7.0.tgz#de19c6fb9816c172b0dae92cf8fe94c2c90a23ab" + integrity sha512-NYG79ZciSILFIu6Zo3aoqPOIU0Ok+dIwA9DM4NdxIx0tKXKenAZWxsalyRQyGVfxR3cVynsgVu7XCAdKNa957A== dependencies: hamt_plus "1.0.2" @@ -8779,13 +8789,12 @@ saxes@^5.0.1: dependencies: xmlchars "^2.2.0" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +scheduler@^0.21.0: + version "0.21.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820" + integrity sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ== dependencies: loose-envify "^1.1.0" - object-assign "^4.1.1" schema-utils@2.7.0: version "2.7.0"