From 61f58340ee4d6edc1514bdf35ebaff20fadce14f Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Wed, 3 Apr 2024 06:22:51 +0300 Subject: [PATCH] feat: add dotenv support --- bin/scripts.js | 14 ++ package.json | 8 +- src/dev-server/index.ts | 6 +- src/plugins/define-plugin/dotenv.ts | 64 +++++++ src/plugins/define-plugin/index.ts | 6 +- src/utils/constants.ts | 1 + src/utils/helpers.ts | 15 +- yarn.lock | 276 +++++++++++++++------------- 8 files changed, 246 insertions(+), 144 deletions(-) create mode 100644 src/plugins/define-plugin/dotenv.ts create mode 100644 src/utils/constants.ts diff --git a/bin/scripts.js b/bin/scripts.js index fca7199..e231e9b 100644 --- a/bin/scripts.js +++ b/bin/scripts.js @@ -16,6 +16,20 @@ if (!['start', 'build'].includes(command)) { process.exit(1); } +switch (command) { + case 'start': + process.env.NODE_ENV = 'development'; + break; + + case 'build': + process.env.NODE_ENV = 'production'; + break; + + default: + process.env.NODE_ENV = 'development'; + break; +} + const webpackArgv = ['webpack']; if (command === 'start') { webpackArgv.push('serve'); diff --git a/package.json b/package.json index b3f60b1..ccd5f81 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,8 @@ "cross-spawn": "7.0.3", "css-loader": "6.10.0", "css-minimizer-webpack-plugin": "6.0.0", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", "esbuild-loader": "4.0.3", "eslint-webpack-plugin": "4.0.1", "fork-ts-checker-webpack-plugin": "9.0.2", @@ -68,9 +70,11 @@ "postcss": "8.4.35", "postcss-loader": "8.1.0", "postcss-preset-env": "9.3.0", + "process": "0.11.10", "react-refresh": "0.14.0", "sass": "1.70.0", "sass-loader": "14.1.0", + "semver": "^7.6.0", "style-loader": "3.3.4", "swc-loader": "0.2.6", "terser-webpack-plugin": "5.3.10", @@ -78,7 +82,6 @@ "ts-node": "10.9.2", "tsc-alias": "1.8.8", "tsconfig-paths-webpack-plugin": "4.1.0", - "typescript": "5.3.3", "webpack": "5.90.1", "webpack-bundle-analyzer": "4.10.1", "webpack-cli": "5.1.4", @@ -91,7 +94,8 @@ "eslint-config-ksv741": "0.0.1", "husky": "^9.0.11", "lint-staged": "^15.2.2", - "standard-version": "^9.5.0" + "standard-version": "^9.5.0", + "typescript": "5.3.3" }, "peerDependencies": { "eslint": ">8.0.0", diff --git a/src/dev-server/index.ts b/src/dev-server/index.ts index 6553d52..49fe738 100644 --- a/src/dev-server/index.ts +++ b/src/dev-server/index.ts @@ -3,14 +3,15 @@ import type { WebpackOptions } from 'types'; const createDevServer = (options: WebpackOptions): DevServerConfiguration => { const { - port, + devServer, } = options; return { - port, + port: 3000, open: false, historyApiFallback: true, hot: true, + compress: true, client: { overlay: { errors: true, @@ -18,6 +19,7 @@ const createDevServer = (options: WebpackOptions): DevServerConfiguration => { runtimeErrors: true, }, }, + ...devServer, }; }; diff --git a/src/plugins/define-plugin/dotenv.ts b/src/plugins/define-plugin/dotenv.ts new file mode 100644 index 0000000..b9cd63b --- /dev/null +++ b/src/plugins/define-plugin/dotenv.ts @@ -0,0 +1,64 @@ +import fs from 'fs'; +import type { WebpackOptions } from 'types'; + +import dotenv from 'dotenv'; +import dotenvExpand from 'dotenv-expand'; +import { REACT_APP } from 'utils/constants'; +import { resolveApp } from 'utils/helpers'; + +const dotenvPath = resolveApp('.env'); +const dotenvFiles = [ + `${dotenvPath}.${process.env.NODE_ENV}.local`, + process.env.NODE_ENV !== 'test' && `${dotenvPath}.local`, + `${dotenvPath}.${process.env.NODE_ENV}`, + dotenvPath, +].filter(Boolean); + +dotenvFiles.forEach((dotenvFile) => { + if (!dotenvFile) { + return; + } + + if (fs.existsSync(dotenvFile)) { + dotenvExpand.expand(dotenv.configDotenv({ + path: dotenvFile, + })); + } +}); + +export const getClientEnvironment = (options: WebpackOptions) => { + const { mode } = options; + const isDev = mode === 'development'; + + const raw = Object.keys(process.env) + .filter((key) => REACT_APP.test(key)) + .reduce( + (env, key) => { + // @ts-ignore + // eslint-disable-next-line no-param-reassign + env[key] = process.env[key]; + + return env; + }, + { + NODE_ENV: process.env.NODE_ENV, + IS_DEV: isDev, + APP_VERSION: process.env.npm_package_version, + }, + ); + + const stringified = { + 'process.env': Object.keys(raw).reduce((env, key) => { + // @ts-ignore + // eslint-disable-next-line no-param-reassign + env[key] = JSON.stringify(raw[key]); + + return env; + }, {}), + }; + + return { + raw, + stringified, + }; +}; diff --git a/src/plugins/define-plugin/index.ts b/src/plugins/define-plugin/index.ts index f6ee306..0e36214 100644 --- a/src/plugins/define-plugin/index.ts +++ b/src/plugins/define-plugin/index.ts @@ -1,22 +1,20 @@ import webpack from 'webpack'; import type { WebpackOptions } from 'types'; +import { getClientEnvironment } from './dotenv'; const getDefinePlugin = (options: WebpackOptions) => { const { - mode, plugins: { definePlugin, } = {}, } = options; - const isDev = mode === 'development'; if (definePlugin === 'off') { return null; } return new webpack.DefinePlugin({ - 'process.env.IS_DEV': JSON.stringify(isDev), - 'process.env.APP_VERSION': JSON.stringify(process.env.npm_package_version), + ...getClientEnvironment(options).stringified, ...definePlugin, }); }; diff --git a/src/utils/constants.ts b/src/utils/constants.ts new file mode 100644 index 0000000..765d7d3 --- /dev/null +++ b/src/utils/constants.ts @@ -0,0 +1 @@ +export const REACT_APP = /^REACT_APP_/i; diff --git a/src/utils/helpers.ts b/src/utils/helpers.ts index effa748..4a6f1fd 100644 --- a/src/utils/helpers.ts +++ b/src/utils/helpers.ts @@ -1,13 +1,20 @@ import fs from 'fs'; +import path from 'path'; import type { PackageJson } from 'types'; -export const hasPackage = (packageName: string) => { +export const getPackageVersion = (packageName: string) => { if (!packageName || !process.env.npm_package_json) { - return false; + return null; } - // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-non-null-assertion + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const packageJson: PackageJson = JSON.parse(fs.readFileSync(process.env.npm_package_json, 'utf8')); - return Boolean(packageJson.dependencies[packageName] || packageJson.devDependencies[packageName]); + return packageJson.dependencies[packageName] || packageJson.devDependencies[packageName]; }; + +export const hasPackage = (packageName: string) => Boolean(getPackageVersion(packageName)); + +export const appDirectory = fs.realpathSync(process.cwd()); + +export const resolveApp = (relativePath: string) => path.resolve(appDirectory, relativePath); diff --git a/yarn.lock b/yarn.lock index 6321eae..7320586 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1343,22 +1343,22 @@ resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.9.tgz#7093f9c26fd92dee87d853a97de0647c5a8c4262" integrity sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw== -"@csstools/color-helpers@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-4.0.0.tgz#a1d6ffcefe5c1d389cbcca15f46da3cdaf241443" - integrity sha512-wjyXB22/h2OvxAr3jldPB7R7kjTUEzopvjitS8jWtyd8fN6xJ8vy1HnHu0ZNfEkqpBJgQ76Q+sBDshWcMvTa/w== +"@csstools/color-helpers@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-4.1.0.tgz#801977ec22c8eb23f9627a4f602e48beaa963bc2" + integrity sha512-pWRKF6cDwget8HowIIf2MqEmqIca/cf8/jO4b3PRtUF5EfQXYMtBIKycXB4yXTCUmwLKOoRZAzh/hjnc7ywOIg== "@csstools/css-calc@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-1.2.0.tgz#a45145a868e644c31c79baf74c8de64fd09b3415" integrity sha512-iQqIW5vDPqQdLx07/atCuNKDprhIWjB0b8XRhUyXZWBZYUG+9mNyFwyu30rypX84WLevVo25NYW2ipxR8WyseQ== -"@csstools/css-color-parser@^1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-1.6.2.tgz#d5ce6f7704886daf3b9fe359b89986711822b4fe" - integrity sha512-mlt0PomBlDXMGcbPAqCG36Fw35LZTtaSgCQCHEs4k8QTv1cUKe0rJDlFSJMHtqrgQiLC7LAAS9+s9kKQp2ou/Q== +"@csstools/css-color-parser@^1.6.3": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-1.6.3.tgz#813948662e3010672990f2366b94f6174ddba285" + integrity sha512-pQPUPo32HW3/NuZxrwr3VJHE+vGqSTVI5gK4jGbuJ7eOFUrsTmZikXcVdInCVWOvuxK5xbCzwDWoTlZUCAKN+A== dependencies: - "@csstools/color-helpers" "^4.0.0" + "@csstools/color-helpers" "^4.1.0" "@csstools/css-calc" "^1.2.0" "@csstools/css-parser-algorithms@^2.6.1": @@ -1377,33 +1377,33 @@ integrity sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA== "@csstools/postcss-cascade-layers@^4.0.1": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.3.tgz#2805dbb8dec661101928298b2e16599edf3c2bea" - integrity sha512-RbkQoOH23yGhWVetgBTwFgIOHEyU2tKMN7blTz/YAKKabR6tr9pP7mYS23Q9snFY2hr8WSaV8Le64KdM9BtUSA== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-4.0.4.tgz#0f20882d4f528a8128b0855ce63c3e6eee6d1b44" + integrity sha512-MKErv8lpEwVmAcAwidY1Kfd3oWrh2Q14kxHs9xn26XzjP/PrcdngWq63lJsZeMlBY7o+WlEOeE+FP6zPzeY2uw== dependencies: - "@csstools/selector-specificity" "^3.0.2" + "@csstools/selector-specificity" "^3.0.3" postcss-selector-parser "^6.0.13" "@csstools/postcss-color-function@^3.0.7": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-3.0.12.tgz#7d1c23bf988433aab5ee15f00ab479683d92d46e" - integrity sha512-amPGGDI4Xmgu7VN2ciKQe0pP/j5raaETT50nzbnkydp9FMw7imKxSUnXdVQU4NmRgpLKIc5Q7jox0MFhMBImIg== + version "3.0.13" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-3.0.13.tgz#7980170ec1ad175af4bd83f2d851b2d8adeb43d5" + integrity sha512-gM24cIPU45HSPJ2zllz7VKjS1OKQS1sKOMI7Wsw8gFyXSGAGrxhYo++McylOqOXd8ecMaKxKQMUJqJVibvJYig== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" "@csstools/postcss-color-mix-function@^2.0.7": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.12.tgz#850875e7253cd00ac282644149b358718e1b7683" - integrity sha512-qpAEGwVVqHSa88i3gLb43IMpT4/LyZEE8HzZylQKKXFVJ7XykXaORTmXySxyH6H+flT+NyCnutKG2fegCVyCug== + version "2.0.13" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-2.0.13.tgz#bafe2ca37248c36be13dd0329e29a8d5c44434c5" + integrity sha512-mD8IIfGVeWkN1H1wfCqYePOg4cDnVrOXm4P0OlYcvKriq6sImGCGShv/2D88q6s3iUlLXfUBES+DUjLVjDMhnw== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" "@csstools/postcss-exponential-functions@^1.0.1": @@ -1424,42 +1424,42 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-gamut-mapping@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.5.tgz#f6565d5c3d8d6a728e071052eda801eebf5c118b" - integrity sha512-AJ74/4nHXgghLWY4/ydEhu3mzwN8c56EjIGrJsoEhKaNuGBAOtUfE5qbkc9XQQ0G2FMhHggqE+9eRrApeK7ebQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-1.0.6.tgz#d45f4655f9fdaee7ed82e1cd44ca860d938626b6" + integrity sha512-qGFpHU9cRf9qqkbHh9cWMTlBtGi/ujPgP/znQdwkbB4TgDR1ddI5wRRrksBsx64sfoUSlIEd70bxXzD9FtfdLg== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" "@csstools/postcss-gradients-interpolation-method@^4.0.7": - version "4.0.13" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.13.tgz#3bf6b9ccef763e48b36435010ad334c653e32103" - integrity sha512-dBbyxs9g+mrIzmEH+UtrqJUmvcJB/60j0ijhBcVJMHCgl/rKjj8ey6r/pJOI0EhkVsckOu3Prc9AGzH88C+1pQ== + version "4.0.14" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-4.0.14.tgz#3c533350fab41d95ad21a881393cefe014ed1940" + integrity sha512-VMWC3xtpchHJoRBb/fs1gJR/5nHopX+0GwwmgdCI1DjROtfWUKIW0nv8occ922Gv0/Lk93XBtYBv8JttVBMZUQ== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" "@csstools/postcss-hwb-function@^3.0.6": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.11.tgz#a995a092254ea4976652f98e2584df082daaea9b" - integrity sha512-c36FtMFptwGn5CmsfdONA40IlWG2lHeoC/TDyED/7lwiTht5okxe6iLAa9t2LjBBo5AHQSHfeMvOASdXk/SHog== + version "3.0.12" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-3.0.12.tgz#dd981b8858fdd3eacc29e684a60ee1669b95b6ad" + integrity sha512-90kIs+FsM6isAXLVoFHTTl4h0J6g1J1M6ahpIjAs6/k7a2A9FB/q+l0MHpLre0ZiPlBf2y3e1j4L+79vml7kJw== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" "@csstools/postcss-ic-unit@^3.0.2": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.5.tgz#3ca9a830c55aab0e9b2561b3c94a0a08d9ffa9cf" - integrity sha512-9CriM/zvKXa/lDARlxs/MgeyKE6ZmmX4V77VLD7VUxKLVSt0Go3NCy/gRMbwGzxbrk3iaHFXnFbc2lNw+/7jcg== + version "3.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-3.0.6.tgz#441f18a9064884e1e6ab77169413e0e6184f5c1d" + integrity sha512-fHaU9C/sZPauXMrzPitZ/xbACbvxbkPpHoUgB9Kw5evtsBWdVkVrajOyiT9qX7/c+G1yjApoQjP1fQatldsy9w== dependencies: - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" @@ -1469,11 +1469,11 @@ integrity sha512-wtb+IbUIrIf8CrN6MLQuFR7nlU5C7PwuebfeEXfjthUha1+XZj2RVi+5k/lukToA24sZkYAiSJfHM8uG/UZIdg== "@csstools/postcss-is-pseudo-class@^4.0.3": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.5.tgz#c2b9a89e8c2f4cb80c3587dae1ed544447bbd16e" - integrity sha512-qG3MI7IN3KY9UwdaE9E7G7sFydscVW7nAj5OGwaBP9tQPEEVdxXTGI+l1ZW5EUpZFSj+u3q/22fH5+8HI72+Bg== + version "4.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-4.0.6.tgz#149b3bf9dde739932a545079da917ca25464cba0" + integrity sha512-HilOhAsMpFheMYkuaREZx+CGa4hsG6kQdzwXSsuqKDFzYz2eIMP213+3dH/vUbPXaWrzqLKr8m3i0dgYPoh7vg== dependencies: - "@csstools/selector-specificity" "^3.0.2" + "@csstools/selector-specificity" "^3.0.3" postcss-selector-parser "^6.0.13" "@csstools/postcss-logical-float-and-clear@^2.0.0": @@ -1541,32 +1541,32 @@ postcss-value-parser "^4.2.0" "@csstools/postcss-oklab-function@^3.0.7": - version "3.0.12" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.12.tgz#6b563034a611874cb3420c3b49410b428aed90c3" - integrity sha512-RNitTHamFvUUh8x+MJuPd2tCekYexUrylGKfUoor5D2GGcgzY1WB6Bl3pIj9t8bAq5h/lcacKaB2wmvUOTfGgQ== + version "3.0.13" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-3.0.13.tgz#22d82abbebc71b80c6a705bdcd909421a5bb12c3" + integrity sha512-xbzMmukDFAwCt2+279io7ZiamZj87s6cnU3UgKB3G+NMpRX9A6uvN8xlnTLCe384hqg6hix5vlOmwkxqACb5pg== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" -"@csstools/postcss-progressive-custom-properties@^3.0.2", "@csstools/postcss-progressive-custom-properties@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.1.1.tgz#c90d99bbe1ac9ae40a6f13631c341a6976c69558" - integrity sha512-cx/bZgj+MK8SpRZNTu2zGeVFMCQfhsaeuDhukAhfA53yykvIXaTIwLi5shW9hfkvPrkqBeFoiRAzq/qogxeHTA== +"@csstools/postcss-progressive-custom-properties@^3.0.2", "@csstools/postcss-progressive-custom-properties@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-3.2.0.tgz#811da8616938e8148a7c4fb40c26e30bf94d4ceb" + integrity sha512-BZlirVxCRgKlE7yVme+Xvif72eTn1MYXj8oZ4Knb+jwaH4u3AN1DjbhM7j86RP5vvuAOexJ4JwfifYYKWMN/QQ== dependencies: postcss-value-parser "^4.2.0" "@csstools/postcss-relative-color-syntax@^2.0.7": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.12.tgz#0b8f825f771b0e804f0c96feb1c1f37ca3026d69" - integrity sha512-VreDGDgE634niwCytLtkoE5kRxfva7bnMzSoyok7Eh9VPYFOm8CK/oJXt9y3df71Bxc9PG4KC8RA3CxTknudnw== + version "2.0.13" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-2.0.13.tgz#8e9739453ca279840ae79b14b4741f2e216a08c4" + integrity sha512-mENWPNcHdiEYtjHFfZP9U1jNukQgFpSQ7wvTvwiadK3qgNBiSl0vMSinM9kKsGsJLTHQ0LEAqWLHurU52I4Jeg== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" "@csstools/postcss-scope-pseudo-class@^3.0.0": @@ -1586,11 +1586,11 @@ "@csstools/css-tokenizer" "^2.2.4" "@csstools/postcss-text-decoration-shorthand@^3.0.3": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.4.tgz#b8c5216faa2c9d8a05b3f93da7b403dd5dd53a79" - integrity sha512-yUZmbnUemgQmja7SpOZeU45+P49wNEgQguRdyTktFkZsHf7Gof+ZIYfvF6Cm+LsU1PwSupy4yUeEKKjX5+k6cQ== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-3.0.5.tgz#387c236a1ea7f7bc5783cf1bc4b592354cbca60d" + integrity sha512-qKxXpD0TYINkUtWDN1RHdeWKtZCzEv5j3UMT/ZGqyY27icwCFw7iKO0bUeLSHjYFBqhurCWvoOsa9REqLdrNDw== dependencies: - "@csstools/color-helpers" "^4.0.0" + "@csstools/color-helpers" "^4.1.0" postcss-value-parser "^4.2.0" "@csstools/postcss-trigonometric-functions@^3.0.2": @@ -1612,10 +1612,10 @@ resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-1.1.0.tgz#d872f2da402d3ce8bd0cf16ea5f9fba76b18e430" integrity sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg== -"@csstools/selector-specificity@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.2.tgz#ea61ba7bb24be3502c6aaa3190ed231f4633a81e" - integrity sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg== +"@csstools/selector-specificity@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-3.0.3.tgz#208a3929ee614967a1fc8cd6cb758d9fcbf0caae" + integrity sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q== "@csstools/utilities@^1.0.0": version "1.0.0" @@ -1789,9 +1789,9 @@ integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== "@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@hutson/parse-repository-url@^3.0.0": version "3.0.2" @@ -2250,9 +2250,9 @@ "@types/estree" "*" "@types/eslint@*", "@types/eslint@^8.37.0", "@types/eslint@^8.56.2": - version "8.56.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.6.tgz#d5dc16cac025d313ee101108ba5714ea10eb3ed0" - integrity sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A== + version "8.56.7" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.7.tgz#c33b5b5a9cfb66881beb7b5be6c34aa3e81d3366" + integrity sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2333,11 +2333,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/mime@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== - "@types/mime@^1": version "1.3.5" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" @@ -2363,9 +2358,9 @@ "@types/node" "*" "@types/node@*": - version "20.11.30" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f" - integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw== + version "20.12.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.3.tgz#d6658c2c7776c1cad93534bb45428195ed840c65" + integrity sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw== dependencies: undici-types "~5.26.4" @@ -2421,9 +2416,9 @@ "@types/react" "*" "@types/react@*": - version "18.2.73" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.73.tgz#0579548ad122660d99e00499d22e33b81e73ed94" - integrity sha512-XcGdod0Jjv84HOC7N5ziY3x+qL0AfmubvKOZ9hJjJ2yd5EE+KYjWhdOjt387e9HPheHkdggF9atTifMRtyAaRA== + version "18.2.74" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.74.tgz#2d52eb80e4e7c4ea8812c89181d6d590b53f958c" + integrity sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -2478,13 +2473,13 @@ "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.15.5": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + version "1.15.6" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.6.tgz#9cacd9b0b0fc5183ff0d5b27c1b1cad398113673" + integrity sha512-xkChxykiNb1X2YBevPIhQhNU9m9M7h9e2gDsmePAP2kNqhOvpKOrZWOCzq2ERQqfNFzlzHG2bdM0u3z5x+gQgg== dependencies: "@types/http-errors" "*" - "@types/mime" "*" "@types/node" "*" + "@types/send" "*" "@types/sockjs@^0.3.36": version "0.3.36" @@ -3334,9 +3329,9 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001600" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079" - integrity sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ== + version "1.0.30001605" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz#ca12d7330dd8bcb784557eb9aa64f0037870d9d6" + integrity sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ== chalk@5.3.0, chalk@^5.3.0: version "5.3.0" @@ -3848,11 +3843,11 @@ css-declaration-sorter@^7.2.0: integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== css-has-pseudo@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-6.0.2.tgz#a1a15ee7082d72a23ed1d810220ba384da867d15" - integrity sha512-Z2Qm5yyOvJRTy6THdUlnGIX6PW/1wOc4FHWlfkcBkfkpZ3oz6lPdG+h+J7t1HZHT4uSSVR8XatXiMpqMUADXow== + version "6.0.3" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-6.0.3.tgz#babd8f208507d553b3986ee803b3adf4dd09c00e" + integrity sha512-qIsDxK/z0byH/mpNsv5hzQ5NOl8m1FRmOLgZpx4bG5uYHnOlO2XafeMI4mFIgNSViHwoUWcxSJZyyijaAmbs+A== dependencies: - "@csstools/selector-specificity" "^3.0.2" + "@csstools/selector-specificity" "^3.0.3" postcss-selector-parser "^6.0.13" postcss-value-parser "^4.2.0" @@ -4285,6 +4280,18 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" +dotenv-expand@^11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3" + integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== + dependencies: + dotenv "^16.4.4" + +dotenv@^16.4.4, dotenv@^16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + dotgitignore@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" @@ -4309,9 +4316,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.668: - version "1.4.721" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.721.tgz#a9ee55ba7e54d9ecbcc19825116f3752e7d60ef2" - integrity sha512-k1x2r6foI8iJOp+1qTxbbrrWMsOiHkzGBYwYigaq+apO1FSqtn44KTo3Sy69qt7CRr7149zTcsDvH7MUKsOuIQ== + version "1.4.724" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.724.tgz#e0a86fe4d3d0e05a4d7b032549d79608078f830d" + integrity sha512-RTRvkmRkGhNBPPpdrgtDKvmOEYTrPlXDfc0J/Nfq5s29tEahAwhiX4mmhNzj6febWMleulxVYPh7QwCSL/EldA== emoji-regex@^10.3.0: version "10.3.0" @@ -4381,9 +4388,9 @@ error-stack-parser@^2.0.6: stackframe "^1.3.4" es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: - version "1.23.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.2.tgz#693312f3940f967b8dd3eebacb590b01712622e0" - integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w== + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== dependencies: array-buffer-byte-length "^1.0.1" arraybuffer.prototype.slice "^1.0.3" @@ -4424,11 +4431,11 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23 safe-regex-test "^1.0.3" string.prototype.trim "^1.2.9" string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.7" + string.prototype.trimstart "^1.0.8" typed-array-buffer "^1.0.2" typed-array-byte-length "^1.0.1" typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.5" + typed-array-length "^1.0.6" unbox-primitive "^1.0.2" which-typed-array "^1.1.15" @@ -6391,9 +6398,9 @@ memfs@^3.4.1: fs-monkey "^1.0.4" memfs@^4.6.0: - version "4.8.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.8.0.tgz#0ea1ecb137219883c2e7c5139f4fa109935f7e39" - integrity sha512-fcs7trFxZlOMadmTw5nyfOwS3il9pr3y+6xzLfXNwmuR/D0i4wz6rJURxArAbcJDGalbpbMvQ/IFI0NojRZgRg== + version "4.8.1" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.8.1.tgz#1e02c15c4397212a9a1b037fa4324c6f7dd45b47" + integrity sha512-7q/AdPzf2WpwPlPL4v1kE2KsJsHl7EF4+hAeVzlyanr2+YnR21NVn9mDqo+7DEaKDRsQy8nvxPlKH4WqMtiO0w== dependencies: tslib "^2.0.0" @@ -7067,14 +7074,14 @@ postcss-clamp@^4.1.0: postcss-value-parser "^4.2.0" postcss-color-functional-notation@^6.0.2: - version "6.0.7" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.7.tgz#195d5f4132f65c1a728591a4f27839306b3c5ebc" - integrity sha512-VwzaVfu1kEYDK2yM8ixeKA/QbgQ8k0uxpRevLH9Wam+R3C1sg68vnRB7m2AMhYfjqb5khp4p0EQk5aO90ASAkw== + version "6.0.8" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-6.0.8.tgz#944da638391a4943ecb7628bd7db5a95a9d787c9" + integrity sha512-BilFPTHcfWEnuQeqL83nbSPVK3tcU57S60aOrqgditarNDzOojyF0Gdc2Ur5L+zox366QjrCe0rOBLDO2pNvRQ== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" postcss-color-hex-alpha@^9.0.2: @@ -7170,11 +7177,11 @@ postcss-discard-overridden@^6.0.2: integrity sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ== postcss-double-position-gradients@^5.0.2: - version "5.0.5" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.5.tgz#4baa4d3ec35ef59ddb8b7ee44fd8855cd7faeb40" - integrity sha512-26Tx4BfoxMNO9C89Nk56bfGv4jAwdDVgrQOyHZOP/6/D+xuOBf306KzTjHC2oBzaIIVtX+famOWHv4raxMjJMQ== + version "5.0.6" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-5.0.6.tgz#fec69371a131b67ec92740bcf8c9ad6ce7f168d3" + integrity sha512-QJ+089FKMaqDxOhhIHsJrh4IP7h4PIHNC5jZP5PMmnfUScNu8Hji2lskqpFWCvu+5sj+2EJFyzKd13sLEWOZmQ== dependencies: - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" postcss-value-parser "^4.2.0" @@ -7211,14 +7218,14 @@ postcss-image-set-function@^6.0.1: postcss-value-parser "^4.2.0" postcss-lab-function@^6.0.7: - version "6.0.12" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-6.0.12.tgz#0e8a63c2ef4fd7f7fd1f732a33389fe48c6dd895" - integrity sha512-flHW2jdRCRe8ClhMgrylR1BCiyyqLLvp1qKfO5wuAclUihldfRsoDIFQWFVW7rJbruil9/LCoHNUvY9JwTlLPw== + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-6.0.13.tgz#6bbddc1c1bc33d1aab4898df3c9ac586bc5d5796" + integrity sha512-tzEThi3prSyomnVqaAU+k/YJib4rxeeTKVfMt+mPcEugFgp0t6xRjoc7fzaWCoEwYLC6GxGLD8/Ugx8COCqabw== dependencies: - "@csstools/css-color-parser" "^1.6.2" + "@csstools/css-color-parser" "^1.6.3" "@csstools/css-parser-algorithms" "^2.6.1" "@csstools/css-tokenizer" "^2.2.4" - "@csstools/postcss-progressive-custom-properties" "^3.1.1" + "@csstools/postcss-progressive-custom-properties" "^3.2.0" "@csstools/utilities" "^1.0.0" postcss-loader@8.1.0: @@ -7316,12 +7323,12 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-nesting@^12.0.1: - version "12.1.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.1.0.tgz#9ecca8da9d0bbfdaa47d3608ccf5ac48bfdfc0d2" - integrity sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw== + version "12.1.1" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-12.1.1.tgz#6662d9c70e6356686dc24132f2a7520ec90d39ef" + integrity sha512-qc74KvIAQNa5ujZKG1UV286dhaDW6basbUy2i9AzNU/T8C9hpvGu9NZzm1SfePe2yP7sPYgpA8d4sPVopn2Hhw== dependencies: "@csstools/selector-resolve-nested" "^1.1.0" - "@csstools/selector-specificity" "^3.0.2" + "@csstools/selector-specificity" "^3.0.3" postcss-selector-parser "^6.0.13" postcss-normalize-charset@^6.0.2: @@ -7582,6 +7589,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process@0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" @@ -8414,7 +8426,7 @@ string.prototype.trimend@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string.prototype.trimstart@^1.0.7: +string.prototype.trimstart@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== @@ -8564,9 +8576,9 @@ terser-webpack-plugin@5.3.10, terser-webpack-plugin@^5.3.10: terser "^5.26.0" terser@^5.10.0, terser@^5.26.0: - version "5.30.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.0.tgz#64cb2af71e16ea3d32153f84d990f9be0cdc22bf" - integrity sha512-Y/SblUl5kEyEFzhMAQdsxVHh+utAxd4IuRNJzKywY/4uzSogh3G219jqbDDxYu4MXO9CzY3tSEqmZvW6AoEDJw== + version "5.30.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.2.tgz#79fc2222c241647cea54ab928ac987ffbe8ce9e2" + integrity sha512-vTDjRKYKip4dOFL5VizdoxHTYDfEXPdz5t+FbxCC5Rp2s+KbEO8w5wqMDPgj7CtFKZuzq7PXv28fZoXfqqBVuw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -8787,7 +8799,7 @@ typed-array-byte-offset@^1.0.2: has-proto "^1.0.3" is-typed-array "^1.1.13" -typed-array-length@^1.0.5: +typed-array-length@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== @@ -8974,9 +8986,9 @@ webpack-cli@5.1.4: webpack-merge "^5.7.3" webpack-dev-middleware@^7.0.0, webpack-dev-middleware@^7.1.0: - version "7.1.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.1.1.tgz#29aefd73720a03889e1c5c8dd7e552c4d333d572" - integrity sha512-NmRVq4AvRQs66dFWyDR4GsFDJggtSi2Yn38MXLk0nffgF9n/AIP4TFBg2TQKYaRAN4sHuKOTiz9BnNCENDLEVA== + version "7.2.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz#2af00538b6e4eda05f5afdd5d711dbebc05958f7" + integrity sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA== dependencies: colorette "^2.0.10" memfs "^4.6.0"