From a1fd0873d3a91caf740f8fe66c0782ff88ab741b Mon Sep 17 00:00:00 2001 From: Techno Tim Date: Fri, 12 Nov 2021 18:35:49 -0600 Subject: [PATCH] feat(healthcheck): Skip healthcheck logs in express if needed (#60) * feat(healthcheck): Skip healthcheck logs in express if needed --- .env.example | 1 + README.md | 6 ++ src/config.js | 12 ++-- src/server.js | 17 +++++- yarn.lock | 162 +++++++++++++++++++++++++------------------------- 5 files changed, 112 insertions(+), 86 deletions(-) diff --git a/.env.example b/.env.example index 6aa7dbb..8a897f2 100644 --- a/.env.example +++ b/.env.example @@ -5,6 +5,7 @@ RAZZLE_META_TITLE=Techno Tim RAZZLE_META_DESCRIPTION=Techno Tim Link page RAZZLE_META_AUTHOR=Techno Tim +RAZZLE_SKIP_HEALTH_CHECK_LOGS=true RAZZLE_LANG=en RAZZLE_THEME=Dark RAZZLE_FAVICON_URL=https://pbs.twimg.com/profile_images/1286144221217316864/qIAsKOpB_200x200.jpg diff --git a/README.md b/README.md index 220557e..1461376 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,12 @@ A health check endpoint exists on `/healthcheck`. If healthy, it will return wi } ``` +To skip express from logging these calls, add the environment variable: + +```bash +SKIP_HEALTH_CHECK_LOGS=true +``` + ## 🐳 Docker This container image is published on both [GitHub Container Registry](https://github.com/techno-tim/littlelink-server/pkgs/container/littlelink-server) and [DockerHub](https://hub.docker.com/repository/docker/timothystewart6/littlelink-server) choose whichever one works for you. They will both be updated during CI. diff --git a/src/config.js b/src/config.js index 7e9e27c..d519d17 100644 --- a/src/config.js +++ b/src/config.js @@ -10,6 +10,8 @@ export const runtimeConfig = META_INDEX_STATUS: window?.env?.META_INDEX_STATUS, LANG: window?.env?.LANG, GA_TRACKING_ID: window?.env?.GA_TRACKING_ID, + UMAMI_WEBSITE_ID: window?.env?.UMAMI_WEBSITE_ID, + SKIP_HEALTH_CHECK_LOGS: window?.env?.SKIP_HEALTH_CHECK_LOGS, THEME: window?.env?.THEME, FAVICON_URL: window?.env?.FAVICON_URL, AVATAR_URL: window?.env?.AVATAR_URL, @@ -57,7 +59,6 @@ export const runtimeConfig = GITLAB: window?.env?.GITLAB, PATREON: window?.env?.PATREON, DEVTO: window?.env?.DEVTO, - UMAMI_WEBSITE_ID: window?.env?.UMAMI_WEBSITE_ID, UMAMI_APP_URL: window?.env?.UMAMI_APP_URL, BUTTON_ORDER: window?.env?.BUTTON_ORDER, PAYPAL: window?.env?.PAYPAL, @@ -81,6 +82,12 @@ export const runtimeConfig = GA_TRACKING_ID: nodeIsProduction ? process.env.GA_TRACKING_ID : process.env.RAZZLE_GA_TRACKING_ID, + UMAMI_WEBSITE_ID: nodeIsProduction + ? process.env.UMAMI_WEBSITE_ID + : process.env.RAZZLE_UMAMI_WEBSITE_ID, + SKIP_HEALTH_CHECK_LOGS: nodeIsProduction + ? process.env.SKIP_HEALTH_CHECK_LOGS + : process.env.RAZZLE_SKIP_HEALTH_CHECK_LOGS, THEME: nodeIsProduction ? process.env.THEME : process.env.RAZZLE_THEME, FAVICON_URL: nodeIsProduction ? process.env.FAVICON_URL @@ -202,9 +209,6 @@ export const runtimeConfig = ? process.env.PATREON : process.env.RAZZLE_PATREON, DEVTO: nodeIsProduction ? process.env.DEVTO : process.env.RAZZLE_DEVTO, - UMAMI_WEBSITE_ID: nodeIsProduction - ? process.env.UMAMI_WEBSITE_ID - : process.env.RAZZLE_UMAMI_WEBSITE_ID, UMAMI_APP_URL: nodeIsProduction ? process.env.UMAMI_APP_URL : process.env.RAZZLE_UMAMI_APP_URL, diff --git a/src/server.js b/src/server.js index 1a2c663..a2695c6 100644 --- a/src/server.js +++ b/src/server.js @@ -33,8 +33,23 @@ const jsScriptTagsFromAssets = (assets, entrypoint, extra = '') => { const theme = runtimeConfig.THEME === 'Dark' ? 'dark.css' : 'light.css'; const server = express(); + if (process.env.NODE_ENV === 'production') { - server.use(morgan('combined')); + server.use( + morgan('combined', { + skip: (req, res) => { + if ( + req?.originalUrl?.includes('/healthcheck') && + runtimeConfig?.SKIP_HEALTH_CHECK_LOGS && + runtimeConfig.SKIP_HEALTH_CHECK_LOGS === 'true' + ) { + return true; + } else { + return false; + } + }, + }), + ); server.use(compression()); } diff --git a/yarn.lock b/yarn.lock index 52466c3..3673483 100644 --- a/yarn.lock +++ b/yarn.lock @@ -43,9 +43,9 @@ source-map "^0.5.0" "@babel/eslint-parser@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.0.tgz#032cf6c8d844a95ad62f779d2708fb4f77e1a81c" - integrity sha512-c+AsYOHjI+FgCa+ifLd8sDXp4U4mjkfFgL9NdQWhuA731kAUJs0WdJIXET4A14EJAR9Jv9FFF/MzPWJfV9Oirw== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz#2a6b1702f3f5aea48e00cea5a5bcc241c437e459" + integrity sha512-iB4ElZT0jAt7PKVaeVulOECdGe6UnmA/O0P9jlF5g5GBOwDVbna8AXhHRu4s27xQf6OkveyA8iTDv1jHdDejgQ== dependencies: eslint-scope "^5.1.1" eslint-visitor-keys "^2.1.0" @@ -76,13 +76,13 @@ "@babel/types" "^7.16.0" "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz#01d615762e796c17952c29e3ede9d6de07d235a8" - integrity sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== dependencies: "@babel/compat-data" "^7.16.0" "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" + browserslist "^4.17.5" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.0": @@ -250,12 +250,12 @@ "@babel/types" "^7.16.0" "@babel/helpers@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183" - integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== dependencies: "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" + "@babel/traverse" "^7.16.3" "@babel/types" "^7.16.0" "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": @@ -267,10 +267,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0": - version "7.16.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac" - integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" + integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0": version "7.16.2" @@ -712,9 +712,9 @@ "@babel/helper-replace-supers" "^7.16.0" "@babel/plugin-transform-parameters@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz#1b50765fc421c229819dc4c7cdb8911660b3c2d7" - integrity sha512-XgnQEm1CevKROPx+udOi/8f8TiGhrUWiHiaUCIp47tE0tpFDjzXNTZc9E5CmCwxNjXTWEVqvRfWZYOTFvMa/ZQ== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -957,9 +957,9 @@ "@babel/plugin-transform-typescript" "^7.16.0" "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz#e27b977f2e2088ba24748bf99b5e1dece64e4f0b" - integrity sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" @@ -972,17 +972,17 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" - integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== dependencies: "@babel/code-frame" "^7.16.0" "@babel/generator" "^7.16.0" "@babel/helper-function-name" "^7.16.0" "@babel/helper-hoist-variables" "^7.16.0" "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.0" + "@babel/parser" "^7.16.3" "@babel/types" "^7.16.0" debug "^4.1.0" globals "^11.1.0" @@ -1812,7 +1812,7 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: +array.prototype.flatmap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== @@ -1991,9 +1991,9 @@ babel-preset-jest@^26.6.2: babel-preset-current-node-syntax "^1.0.0" babel-preset-razzle@^4.2.5: - version "4.2.6" - resolved "https://registry.yarnpkg.com/babel-preset-razzle/-/babel-preset-razzle-4.2.6.tgz#3bad9bdc7fdb6d8d19549f8917faf54ac788c673" - integrity sha512-ahXKOYRcwAl7TzYcIQ+3wJ8ePZBkUAMOfLgXpeq6HeqkvAYgccwLH88+jm46cTnj2fpeIvg87Zk9bJ4Ut31b5A== + version "4.2.7" + resolved "https://registry.yarnpkg.com/babel-preset-razzle/-/babel-preset-razzle-4.2.7.tgz#cd9bc0e9526c9bd3120df35c2a284775cb5e2119" + integrity sha512-SFQilNgfVs3b7RUl9Kdls0PWU1BJK0Srvzw9e17RGQVSJ5888IzlGl2Dxd9NUjHaZLjKTj/py47gB+0f6RaRJA== dependencies: "@babel/core" "^7.11.1" "@babel/plugin-proposal-class-properties" "^7.8.3" @@ -2142,7 +2142,7 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.17.6: +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.17.5, browserslist@^4.17.6: version "4.17.6" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.6.tgz#c76be33e7786b497f66cad25a73756c8b938985d" integrity sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw== @@ -2321,9 +2321,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001274: - version "1.0.30001278" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz#51cafc858df77d966b17f59b5839250b24417fff" - integrity sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg== + version "1.0.30001280" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" + integrity sha512-kFXwYvHe5rix25uwueBxC569o53J6TpnGu0BEEn+6Lhl2vsnAumRFWEBhDft1fwyo6m1r4i+RqA4+163FpeFcA== capture-exit@^2.0.0: version "2.0.0" @@ -3218,9 +3218,9 @@ ee-first@1.1.1: integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.886: - version "1.3.892" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.892.tgz#0e3f5bb1de577e2e5a6dffd5a4b278c4a735cd39" - integrity sha512-YDW4yIjdfMnbRoBjRZ/aNQYmT6JgQFLwmTSDRJMQdrY4MByEzppdXp3rnJ0g4LBWcsYTUvwKKClYN1ofZ0COOQ== + version "1.3.896" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.896.tgz#4a94efe4870b1687eafd5c378198a49da06e8a1b" + integrity sha512-NcGkBVXePiuUrPLV8IxP43n1EOtdg+dudVjrfVEUd/bOqpQUFZ2diL5PPYzbgEhZFEltdXV3AcyKwGnEQ5lhMA== emittery@^0.7.1: version "0.7.2" @@ -3378,7 +3378,7 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" -eslint-module-utils@^2.7.0: +eslint-module-utils@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== @@ -3396,18 +3396,18 @@ eslint-plugin-es@^3.0.0: regexpp "^3.0.0" eslint-plugin-import@^2.25.2: - version "2.25.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9" - integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g== + version "2.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== dependencies: array-includes "^3.1.4" array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.0" + eslint-module-utils "^2.7.1" has "^1.0.3" - is-core-module "^2.7.0" + is-core-module "^2.8.0" is-glob "^4.0.3" minimatch "^3.0.4" object.values "^1.1.5" @@ -3453,24 +3453,24 @@ eslint-plugin-react@3.4.2: integrity sha1-nm74qAVPisO4e5cjbnuEnlg13Gw= eslint-plugin-react@^7.26.1: - version "7.26.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e" - integrity sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ== + version "7.27.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.0.tgz#f952c76517a3915b81c7788b220b2b4c96703124" + integrity sha512-0Ut+CkzpppgFtoIhdzi2LpdpxxBvgFf99eFqWxJnUrO7mMe0eOiNpou6rvNYeVVV6lWZvTah0BFne7k5xHjARg== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" - estraverse "^5.2.0" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.hasown "^1.0.0" - object.values "^1.1.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" prop-types "^15.7.2" resolve "^2.0.0-next.3" semver "^6.3.0" - string.prototype.matchall "^4.0.5" + string.prototype.matchall "^4.0.6" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -3594,7 +3594,7 @@ estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3962,9 +3962,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" - integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== follow-redirects@^1.0.0: version "1.14.5" @@ -4004,9 +4004,9 @@ forwarded@0.2.0: integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.1.tgz#ac4e520473dae67012d618aab91eda09bcb400ff" - integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" + integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== fragment-cache@^0.2.1: version "0.2.1" @@ -4816,7 +4816,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.7.0: +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== @@ -6465,7 +6465,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.4: +object.entries@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== @@ -6474,7 +6474,7 @@ object.entries@^1.1.4: define-properties "^1.1.3" es-abstract "^1.19.1" -object.fromentries@^2.0.4: +object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== @@ -6492,7 +6492,7 @@ object.getownpropertydescriptors@^2.1.0: define-properties "^1.1.3" es-abstract "^1.19.1" -object.hasown@^1.0.0: +object.hasown@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== @@ -6507,7 +6507,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.4, object.values@^1.1.5: +object.values@^1.1.0, object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -7416,9 +7416,9 @@ raw-body@2.4.0: unpipe "1.0.0" razzle-dev-utils@^4.2.5: - version "4.2.6" - resolved "https://registry.yarnpkg.com/razzle-dev-utils/-/razzle-dev-utils-4.2.6.tgz#52ff899fa9a5251d078002ba4f795f51141eb7de" - integrity sha512-WPsJi5UF6q/AqWTssXlVnKTace0V3w1e7rFtYHEARUktYca1WNzBpZvI24EKhrh4r86VvahSasFD6HMAr4dXdQ== + version "4.2.7" + resolved "https://registry.yarnpkg.com/razzle-dev-utils/-/razzle-dev-utils-4.2.7.tgz#4cb4ea008db2f0db374879f31aa392b84d7348a2" + integrity sha512-GBwKajZvyOSOvtL2aK3YQb4bZ8bixNvla6Bu9Gjken5vLoVN0VAWWlCdTmf5zU50tzsKvJK3nZAhuhpW9/f6Ug== dependencies: "@babel/code-frame" "^7.8.3" chalk "^4.1.0" @@ -7432,15 +7432,15 @@ razzle-dev-utils@^4.2.5: sockjs-client "~1.4.0" strip-ansi "^6.0.0" -razzle-start-server-webpack-plugin@4.2.6: - version "4.2.6" - resolved "https://registry.yarnpkg.com/razzle-start-server-webpack-plugin/-/razzle-start-server-webpack-plugin-4.2.6.tgz#b4b4b5cf1b7f66c284266e9474ecab8a148419ce" - integrity sha512-2u4PFutykf7xmRV/5E/f+vYCIeyT9hvBnQQMXUJZI2Zs6kpd0Na7L7m5C2AckXajWpcUNTG3So2e7bxXkn3c5g== +razzle-start-server-webpack-plugin@4.2.7: + version "4.2.7" + resolved "https://registry.yarnpkg.com/razzle-start-server-webpack-plugin/-/razzle-start-server-webpack-plugin-4.2.7.tgz#3ae006034e0ca9032acf2ba31bfb7d37f9168434" + integrity sha512-ris/aH20cVTkOm0tpXtlioWYz80r4+UX6LScQZHUydEkVGqUEfv7tshR07UmndFhZ3V1aqgFOHUB1abX1O4WUA== razzle@^4.2.5: - version "4.2.6" - resolved "https://registry.yarnpkg.com/razzle/-/razzle-4.2.6.tgz#7189bcea7eb766ca0f9f9d33ed1c7e512d887242" - integrity sha512-wA7i8gEu8TlOjSVwqykBtpPWHDzHQnQ3w9IEBTuMjyJNdyqURc1Fiym8E2xRi7XbGUiGh20OnntdpUC3+z31fw== + version "4.2.7" + resolved "https://registry.yarnpkg.com/razzle/-/razzle-4.2.7.tgz#b2abb451175238fedab33f92655dc56e2aaa6efe" + integrity sha512-/QE0jaBGl16lr9JG8HUFyfzGM/XUDiO8H58XHi5gGP6mtYQuiV4vl5yC0ED7+sxQY7zDb8DqkZearwQ0ZaiQAg== dependencies: "@babel/plugin-transform-modules-commonjs" "^7.12.1" "@pmmmwh/react-refresh-webpack-plugin" "^0.4.3" @@ -7468,7 +7468,7 @@ razzle@^4.2.5: postcss-load-config "^3.0.0" postcss-loader "^4.2.0" process "^0.11.10" - razzle-start-server-webpack-plugin "4.2.6" + razzle-start-server-webpack-plugin "4.2.7" react-dev-utils "^11.0.4" react-refresh "^0.9.0" resolve "^1.17.0" @@ -8446,7 +8446,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.matchall@^4.0.5: +string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== @@ -9312,9 +9312,9 @@ webpack-sources@^3.2.0: integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA== webpack@^5.61.0: - version "5.62.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.62.1.tgz#06f09b56a7b1bb13ed5137ad4b118358a90c9505" - integrity sha512-jNLtnWChS2CMZ7vqWtztv0G6fYB5hz11Zsadp5tE7e4/66zVDj7/KUeQZOsOl8Hz5KrLJH1h2eIDl6AnlyE12Q== + version "5.64.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.0.tgz#db3e12546f755930ccc9e0e21ba660871940c615" + integrity sha512-UclnN24m054HaPC45nmDEosX6yXWD+UGC12YtUs5i356DleAUGMDC9LBAw37xRRfgPKYIdCYjGA7RZ1AA+ZnGg== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50"