From e33f684855fa85c99ddbcf90485fbc72558a68ea Mon Sep 17 00:00:00 2001 From: Peter Pan Date: Wed, 9 Jun 2021 20:55:51 +0800 Subject: [PATCH] nan values won't break charts down now (#984) * chore: update dependencies * fix(scalar): nan values break charts down --- frontend/package.json | 6 +- frontend/packages/core/package.json | 12 +- .../src/components/ScalarPage/ScalarChart.tsx | 9 +- .../core/src/resource/scalar/chart.ts | 2 +- .../packages/core/src/resource/scalar/data.ts | 56 ++-- .../core/src/resource/scalar/index.ts | 3 +- .../core/src/resource/scalar/types.ts | 5 +- frontend/packages/demo/package.json | 2 +- frontend/packages/netron/package.json | 2 +- frontend/packages/server/package.json | 4 +- frontend/packages/wasm/package.json | 1 + frontend/packages/wasm/src/scalar.rs | 57 ++-- frontend/yarn.lock | 284 ++++++++++-------- 13 files changed, 251 insertions(+), 192 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 4fb11c80..0d0c300b 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -31,11 +31,13 @@ "build": "./scripts/build.sh", "build:core": "yarn workspace @visualdl/core build", "build:demo": "yarn workspace @visualdl/demo build", + "build:wasm": "yarn workspace @visualdl/wasm build", "clean": "rimraf output packages/*/dist packages/wasm/target", "dev": "yarn dev:core", "dev:core": "yarn workspace @visualdl/core dev", "dev:demo": "yarn workspace @visualdl/server dev:demo", "dev:server": "yarn workspace @visualdl/server dev", + "dev:wasm": "yarn workspace @visualdl/wasm dev", "lint": "eslint --ext .tsx,.jsx.ts,.js,.mjs .", "format": "prettier --write \"**/*.{ts,tsx,js,jsx}\"", "test": "yarn workspaces run test", @@ -44,8 +46,8 @@ "version": "yarn format && git add -A" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "4.26.0", - "@typescript-eslint/parser": "4.26.0", + "@typescript-eslint/eslint-plugin": "4.26.1", + "@typescript-eslint/parser": "4.26.1", "eslint": "7.28.0", "eslint-config-prettier": "8.3.0", "eslint-plugin-license-header": "0.2.0", diff --git a/frontend/packages/core/package.json b/frontend/packages/core/package.json index 86626ba7..f2290513 100644 --- a/frontend/packages/core/package.json +++ b/frontend/packages/core/package.json @@ -95,30 +95,30 @@ "@types/chai": "4.2.18", "@types/d3": "6.7.0", "@types/d3-format": "2.0.0", - "@types/echarts": "4.9.7", + "@types/echarts": "4.9.8", "@types/file-saver": "2.0.2", "@types/lodash": "4.14.170", "@types/mime-types": "2.1.0", "@types/nprogress": "0.2.0", "@types/numeric": "1.2.1", - "@types/react": "17.0.9", - "@types/react-dom": "17.0.6", + "@types/react": "17.0.10", + "@types/react-dom": "17.0.7", "@types/react-helmet": "6.1.1", "@types/react-rangeslider": "2.2.3", "@types/react-redux": "7.1.16", "@types/react-router-dom": "5.1.7", "@types/react-table": "7.7.1", "@types/snowpack-env": "2.3.3", - "@types/styled-components": "5.1.9", + "@types/styled-components": "5.1.10", "@types/three": "0.129.1", "@visualdl/mock": "2.2.0-1", - "@web/test-runner": "0.13.5", + "@web/test-runner": "0.13.6", "chai": "4.3.4", "chalk": "4.1.1", "dotenv": "10.0.0", "enhanced-resolve": "5.8.2", "html-minifier": "4.0.0", - "snowpack": "3.5.5", + "snowpack": "3.5.6", "snowpack-plugin-copy": "1.0.1", "typescript": "4.3.2" }, diff --git a/frontend/packages/core/src/components/ScalarPage/ScalarChart.tsx b/frontend/packages/core/src/components/ScalarPage/ScalarChart.tsx index f761cbfb..137470ed 100644 --- a/frontend/packages/core/src/components/ScalarPage/ScalarChart.tsx +++ b/frontend/packages/core/src/components/ScalarPage/ScalarChart.tsx @@ -85,7 +85,14 @@ const ScalarChart: FunctionComponent = ({ const xAxisType = useMemo(() => (xAxis === XAxis.WallTime ? XAxisType.time : XAxisType.value), [xAxis]); - const transformParams = useMemo(() => [datasets?.map(data => data ?? []) ?? [], smoothing], [datasets, smoothing]); + const transformParams = useMemo( + () => [ + datasets?.map(data => data?.map(row => [row[0], row[1], Number.isFinite(row[2]) ? row[2] : null]) ?? []) ?? + [], + smoothing + ], + [datasets, smoothing] + ); const {data: smoothedDatasetsOrUndefined} = useWebAssembly('scalar_transform', transformParams); const smoothedDatasets = useMemo>( () => smoothedDatasetsOrUndefined ?? [], diff --git a/frontend/packages/core/src/resource/scalar/chart.ts b/frontend/packages/core/src/resource/scalar/chart.ts index dbcd0305..bfd7320c 100644 --- a/frontend/packages/core/src/resource/scalar/chart.ts +++ b/frontend/packages/core/src/resource/scalar/chart.ts @@ -158,7 +158,7 @@ export const tooltip = (data: TooltipData[], stepLength: number, i18n: typeof I1 ], data: data.map(({min, max, item}) => [ valueFormatter(item[3] ?? Number.NaN), - valueFormatter(item[2] ?? Number.NaN), + valueFormatter(Number.isFinite(item[2]) ? (item[2] as number) : Number.NaN), item[1], valueFormatter(min ?? Number.NaN), valueFormatter(max ?? Number.NaN), diff --git a/frontend/packages/core/src/resource/scalar/data.ts b/frontend/packages/core/src/resource/scalar/data.ts index 8c61a9fd..f5b0a570 100644 --- a/frontend/packages/core/src/resource/scalar/data.ts +++ b/frontend/packages/core/src/resource/scalar/data.ts @@ -16,7 +16,7 @@ // cSpell:words quantile accum debias exponentiated -import type {Dataset, ScalarDataset} from './types'; +import type {Dataset, ScalarDataset, Value} from './types'; import BigNumber from 'bignumber.js'; import type {Run} from '~/types'; @@ -34,34 +34,38 @@ export const transform = ({datasets, smoothing}: {datasets: ScalarDataset[]; smo let startValue = 0; const bigSmoothing = new BigNumber(smoothing); data.forEach((d, i) => { - const nextVal = new BigNumber(d[2]); const millisecond = (d[0] = Math.floor(d[0])); if (i === 0) { startValue = millisecond; } // relative time in millisecond. d[4] = Math.floor(millisecond - startValue); - if (!nextVal.isFinite()) { - d[3] = nextVal.toNumber(); + if (!Number.isFinite(d[2])) { + d[3] = null; } else { - // last = last * smoothing + (1 - smoothing) * nextVal; - last = last.multipliedBy(bigSmoothing).plus(bigSmoothing.minus(1).negated().multipliedBy(nextVal)); - numAccum++; - let debiasWeight = new BigNumber(1); - if (!bigSmoothing.isEqualTo(1)) { - //debiasWeight = 1.0 - Math.pow(smoothing, numAccum); - debiasWeight = bigSmoothing.exponentiatedBy(numAccum).minus(1).negated(); + const nextVal = new BigNumber(d[2] as number); + if (!nextVal.isFinite()) { + d[3] = nextVal.toNumber(); + } else { + // last = last * smoothing + (1 - smoothing) * nextVal; + last = last.multipliedBy(bigSmoothing).plus(bigSmoothing.minus(1).negated().multipliedBy(nextVal)); + numAccum++; + let debiasWeight = new BigNumber(1); + if (!bigSmoothing.isEqualTo(1)) { + //debiasWeight = 1.0 - Math.pow(smoothing, numAccum); + debiasWeight = bigSmoothing.exponentiatedBy(numAccum).minus(1).negated(); + } + // d[3] = last / debiasWeight; + d[3] = last.dividedBy(debiasWeight).toNumber(); } - // d[3] = last / debiasWeight; - d[3] = last.dividedBy(debiasWeight).toNumber(); } }); return data; }); -export const singlePointRange = (value: number) => ({ - min: value ? Math.min(value * 2, 0) : -0.5, - max: value ? Math.max(value * 2, 0) : 0.5 +export const singlePointRange = (value: Value) => ({ + min: Number.isFinite(value) ? Math.min((value as number) * 2, 0) : -0.5, + max: Number.isFinite(value) ? Math.max((value as number) * 2, 0) : 0.5 }); export const range = ({datasets}: {datasets: Dataset[]}) => { @@ -72,7 +76,7 @@ export const range = ({datasets}: {datasets: Dataset[]}) => { max: Number.NaN }; } - const values = dataset.map(v => v[2]); + const values = dataset.map(v => v[2]).filter(Number.isFinite) as number[]; return { min: Math.min(...values) ?? Number.NaN, max: Math.max(...values) ?? Number.NaN @@ -86,7 +90,7 @@ export const axisRange = ({datasets, outlier}: {datasets: Dataset[]; outlier: bo if (dataset.length === 0) { return void 0; } - const values = dataset.map(v => v[2]); + const values = dataset.map(v => v[2]).filter(Number.isFinite) as number[]; if (!outlier) { // Get the origin data range. return { @@ -95,7 +99,10 @@ export const axisRange = ({datasets, outlier}: {datasets: Dataset[]; outlier: bo }; } else { // Get the quantile range. - const sorted = dataset.map(v => v[2]).sort(); + const sorted = dataset + .map(v => v[2]) + .filter(Number.isFinite) + .sort() as number[]; return { min: quantile(sorted, 0.05), max: quantile(values, 0.95) @@ -122,10 +129,13 @@ export const nearestPoint = (data: Dataset[], runs: Run[], idx: number, value: n let d = Number.POSITIVE_INFINITY; let dv = value; for (let i = 0; i < series.length; i++) { - const dd = Math.abs(series[i][idx] - value); - if (d > dd) { - d = dd; - dv = series[i][idx]; + const v = series[i][idx]; + if (Number.isFinite(v)) { + const dd = Math.abs((v as number) - value); + if (d > dd) { + d = dd; + dv = v as number; + } } } result.push(...series.filter(s => s[idx] === dv).map(item => ({run, item}))); diff --git a/frontend/packages/core/src/resource/scalar/index.ts b/frontend/packages/core/src/resource/scalar/index.ts index 2bebdba5..8e2756d0 100644 --- a/frontend/packages/core/src/resource/scalar/index.ts +++ b/frontend/packages/core/src/resource/scalar/index.ts @@ -31,7 +31,8 @@ export const sortingMethodMap: Record sortBy(points, point => point.item[3]).reverse(), [SM.Ascending]: (points: TooltipData[]) => sortBy(points, point => point.item[3]), // Compare other points width the trigger point, calculate the nearest sort. - [SM.Nearest]: (points: TooltipData[], data: number[]) => sortBy(points, point => point.item[3] - data[2]) + [SM.Nearest]: (points: TooltipData[], data: number[]) => + sortBy(points, point => (point.item[3] ?? Number.NaN) - data[2]) } as const; export type {Dataset, ScalarDataset, Range, TooltipData} from './types'; diff --git a/frontend/packages/core/src/resource/scalar/types.ts b/frontend/packages/core/src/resource/scalar/types.ts index ad5d1c8e..42434662 100644 --- a/frontend/packages/core/src/resource/scalar/types.ts +++ b/frontend/packages/core/src/resource/scalar/types.ts @@ -18,10 +18,11 @@ import {Run, TimeMode} from '~/types'; export type {Range} from '~/types'; -type Value = number; +type InvalidValue = 'NaN' | 'Inf' | '-Inf'; +export type Value = number | null | InvalidValue; type WallTime = number; type Step = number; -type Smoothed = number; +type Smoothed = number | null; type Relative = number; export type Dataset = [WallTime, Step, Value, Smoothed, Relative][]; diff --git a/frontend/packages/demo/package.json b/frontend/packages/demo/package.json index d0e5abfb..fc22abe4 100644 --- a/frontend/packages/demo/package.json +++ b/frontend/packages/demo/package.json @@ -35,7 +35,7 @@ "devDependencies": { "@types/express": "4.17.12", "@types/mkdirp": "1.0.1", - "@types/node": "15.12.1", + "@types/node": "15.12.2", "@types/node-fetch": "2.5.10", "@types/rimraf": "3.0.0", "cpy-cli": "3.1.1", diff --git a/frontend/packages/netron/package.json b/frontend/packages/netron/package.json index fda61dd3..880efebd 100644 --- a/frontend/packages/netron/package.json +++ b/frontend/packages/netron/package.json @@ -52,7 +52,7 @@ "sass-loader": "12.0.0", "terser": "5.7.0", "webpack": "5.38.1", - "webpack-cli": "4.7.0" + "webpack-cli": "4.7.2" }, "engines": { "node": ">=12", diff --git a/frontend/packages/server/package.json b/frontend/packages/server/package.json index 5f47629f..55c4ec75 100644 --- a/frontend/packages/server/package.json +++ b/frontend/packages/server/package.json @@ -41,12 +41,12 @@ "enhanced-resolve": "5.8.2", "express": "4.17.1", "http-proxy-middleware": "2.0.0", - "pm2": "4.5.6" + "pm2": "5.0.4" }, "devDependencies": { "@types/enhanced-resolve": "3.0.6", "@types/express": "4.17.12", - "@types/node": "15.12.1", + "@types/node": "15.12.2", "@visualdl/mock": "2.2.0-1", "cross-env": "7.0.3", "nodemon": "2.0.7", diff --git a/frontend/packages/wasm/package.json b/frontend/packages/wasm/package.json index 403c10a1..3f011999 100644 --- a/frontend/packages/wasm/package.json +++ b/frontend/packages/wasm/package.json @@ -33,6 +33,7 @@ "types": "dist/index.d.ts", "scripts": { "build": "wasm-pack build --release --out-dir dist --out-name index --target web .", + "dev": "wasm-pack build --dev --out-dir dist --out-name index --target web .", "test": "echo \"Error: no test specified\" && exit 0" }, "devDependencies": { diff --git a/frontend/packages/wasm/src/scalar.rs b/frontend/packages/wasm/src/scalar.rs index 7c735825..2fc0c889 100644 --- a/frontend/packages/wasm/src/scalar.rs +++ b/frontend/packages/wasm/src/scalar.rs @@ -1,8 +1,8 @@ #[derive(Serialize, Deserialize)] -pub struct Dataset(f64, i64, f64); +pub struct Dataset(f64, i64, Option); #[derive(Serialize, Deserialize)] -pub struct Smoothed(i64, i64, f64, f64, i64); +pub struct Smoothed(i64, i64, Option, Option, i64); #[derive(Serialize, Deserialize)] pub struct Range { @@ -33,6 +33,13 @@ fn quantile(values: &Vec, p: f64) -> f64 { return value0 + (value1 - value0) * (i - (i0 as f64)); } +fn sort_values(data: &Vec) -> (Vec, Vec) { + let values: Vec = data.iter().filter_map(|x| x.2).collect(); + let mut sorted: Vec = values.clone(); + sorted.sort_by(|a, b| a.partial_cmp(b).unwrap()); + (sorted, values) +} + pub fn transform(datasets: &Vec>, smoothing: f64) -> Vec> { let mut result: Vec> = vec![]; for dataset in datasets.iter() { @@ -44,8 +51,7 @@ pub fn transform(datasets: &Vec>, smoothing: f64) -> Vec>, smoothing: f64) -> Vec>) -> Vec { let mut ranges: Vec = vec![]; for data in datasets.iter() { - let n: usize = data.len(); - - if n == 0 { + if data.len() == 0 { ranges.push(Range::new(f64::NAN, f64::NAN)); } - let values: Vec = data.iter().map(|x| x.2).collect(); - let mut sorted: Vec = values.clone(); - sorted.sort_by(|a, b| a.partial_cmp(b).unwrap()); - - ranges.push(Range::new(sorted[0], sorted[n - 1])); + let (sorted, _) = sort_values(data); + ranges.push(Range::new(sorted[0], sorted[sorted.len() - 1])); } return ranges; @@ -96,18 +101,14 @@ pub fn axis_range(datasets: &Vec>, outlier: bool) -> Range { let mut ranges: Vec = vec![]; for data in datasets.iter() { - let n: usize = data.len(); - - if n == 0 { + if data.len() == 0 { continue; } - let values: Vec = data.iter().map(|x| x.2).collect(); - let mut sorted: Vec = values.clone(); - sorted.sort_by(|a, b| a.partial_cmp(b).unwrap()); + let (sorted, values) = sort_values(data); if !outlier { - ranges.push(Range::new(sorted[0], sorted[n - 1])); + ranges.push(Range::new(sorted[0], sorted[sorted.len() - 1])); } else { ranges.push(Range::new( quantile(&sorted, 0.05_f64), diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 76376658..d0ba9ee9 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -1309,23 +1309,24 @@ "@opencensus/core" "^0.0.8" uuid "^3.2.1" -"@pm2/agent@~1.0.8": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@pm2/agent/-/agent-1.0.8.tgz#cd15d84dbfc95427e6fccce72bc165b79f1d8579" - integrity sha512-r8mud8BhBz+a2yjlgtk+PBXUR5EQ9UKSJCs232OxfCmuBr1MZw0Mo+Kfog6WJ8OmVk99r1so9yTUK4IyrgGcMQ== +"@pm2/agent@~2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@pm2/agent/-/agent-2.0.0.tgz#b3ab77cd12d85187dd155c59a9771b04e7e345a3" + integrity sha512-W1LvdyF1tGaVU5f/hV8DjpI5joI7MEgXiQMLZnTwZlFwDVP00O9s86571Q8xSiweTcFZFyye0F4wORN/PjSgGA== dependencies: async "~3.2.0" chalk "~3.0.0" dayjs "~1.8.24" debug "~4.3.1" eventemitter2 "~5.0.1" + fast-json-patch "^3.0.0-1" fclone "~1.0.11" nssocket "0.6.0" pm2-axon "~4.0.1" pm2-axon-rpc "~0.7.0" proxy-agent "~4.0.1" semver "~7.2.0" - ws "~7.2.0" + ws "~7.4.0" "@pm2/io@~5.0.0": version "5.0.0" @@ -1899,10 +1900,10 @@ resolved "https://registry.yarnpkg.com/@types/debounce/-/debounce-1.2.0.tgz#9ee99259f41018c640b3929e1bb32c3dcecdb192" integrity sha512-bWG5wapaWgbss9E238T0R6bfo5Fh3OkeoSt245CM7JJwVwpw6MEBCbIxLq5z8KzsE3uJhzcIuQkyiZmzV3M/Dw== -"@types/echarts@4.9.7": - version "4.9.7" - resolved "https://registry.yarnpkg.com/@types/echarts/-/echarts-4.9.7.tgz#4437fb503111f5b1ed7961e7b95c7ed09a4844a3" - integrity sha512-+klqEur0+bh1UjR6EpGE023vxpqzPSk58X5JwVEIBu0NOYMaMPKeM/TMnbL43BlDUZv4xttZFdeDdOtFk/YwzQ== +"@types/echarts@4.9.8": + version "4.9.8" + resolved "https://registry.yarnpkg.com/@types/echarts/-/echarts-4.9.8.tgz#a69779ca4755eb29b61387af4e15ec324623f866" + integrity sha512-ViycwegdqQ+cDPgXtcTOklt3L59QfcKraSbUiHJ3KoaOptZQtWs2+hB9NCLN1UerB5i5a6wlUBprtwnNm5qIfQ== dependencies: "@types/zrender" "*" @@ -2117,10 +2118,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-15.9.0.tgz#0b7f6c33ca5618fe329a9d832b478b4964d325a8" integrity sha512-AR1Vq1Ei1GaA5FjKL5PBqblTZsL5M+monvGSZwe6sSIdGiuu7Xr/pNwWJY+0ZQuN8AapD/XMB5IzBAyYRFbocA== -"@types/node@15.12.1": - version "15.12.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.1.tgz#9b60797dee1895383a725f828a869c86c6caa5c2" - integrity sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw== +"@types/node@15.12.2": + version "15.12.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz#1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d" + integrity sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww== "@types/normalize-package-data@^2.4.0": version "2.4.0" @@ -2167,10 +2168,10 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== -"@types/react-dom@17.0.6": - version "17.0.6" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.6.tgz#c158325cf91b196270bc0f4af73463f149e7eafe" - integrity sha512-MGTI+TudxAnGTj8aco8mogaPSJGK2Whje7OZh1CxNLRyhJpTZg/pGQpIbCT0eCVFQyH7UFpdvCqQEThHIp/gsA== +"@types/react-dom@17.0.7": + version "17.0.7" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.7.tgz#b8ee15ead9e5d6c2c858b44949fdf2ebe5212232" + integrity sha512-Wd5xvZRlccOrCTej8jZkoFZuZRKHzanDDv1xglI33oBNFMWrqOSzrvWFw7ngSiZjrpJAzPKFtX7JvuXpkNmQHA== dependencies: "@types/react" "*" @@ -2222,7 +2223,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@17.0.9": +"@types/react@*": version "17.0.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.9.tgz#1147fb520024a62c9b3841f5cb4db89b73ddb87f" integrity sha512-2Cw7FvevpJxQrCb+k5t6GH1KIvmadj5uBbjPaLlJB/nZWUj56e1ZqcD6zsoMFB47MsJUTFl9RJ132A7hb3QFJA== @@ -2231,6 +2232,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@17.0.10": + version "17.0.10" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.10.tgz#c8bb4e37cc642f7cc5532959cb5e2ead6c74dec9" + integrity sha512-+Tc5aGO49L/cjFBfpIPB398ztmAUChglc+a+EYlvphMOMvwUEzmLiyfmnEseGE7inMO6XiSffHmXVPC8GonksQ== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -2269,10 +2279,10 @@ resolved "https://registry.yarnpkg.com/@types/snowpack-env/-/snowpack-env-2.3.3.tgz#d2dfb1fb8557aa8bb517606d5dfa249cc861c3ff" integrity sha512-riJuu2fR3qhBfpWJtqQtNwYJFvquiXfqdprXvZjSNmscnZbIVyHoM49ZVEM1bciKM1mWOCdjXymOYHyGh2WLtg== -"@types/styled-components@5.1.9": - version "5.1.9" - resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.9.tgz#00d3d84b501420521c4db727e3c195459f87a6cf" - integrity sha512-kbEG6YlwK8rucITpKEr6pA4Ho9KSQHUUOzZ9lY3va1mtcjvS3D0wDciFyHEiNHKLL/npZCKDQJqm0x44sPO9oA== +"@types/styled-components@5.1.10": + version "5.1.10" + resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-5.1.10.tgz#b509da9d62be8a02cefd88ec6b820f417429a503" + integrity sha512-g3ZfWlTiyXktASIhcfCicZtqB/fFFnq0a7kPYYxKXNggdrohp8m/9bMmmt3zDvHj2gplWDGCkZByfFnEXfbSWg== dependencies: "@types/hoist-non-react-statics" "*" "@types/react" "*" @@ -2324,13 +2334,13 @@ resolved "https://registry.yarnpkg.com/@types/zrender/-/zrender-4.0.0.tgz#a6806f12ec4eccaaebd9b0d816f049aca6188fbd" integrity sha512-s89GOIeKFiod2KSqHkfd2rzx+T2DVu7ihZCBEBnhFrzvQPUmzvDSBot9Fi1DfMQm9Odg+rTqoMGC38RvrwJK2w== -"@typescript-eslint/eslint-plugin@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.0.tgz#12bbd6ebd5e7fabd32e48e1e60efa1f3554a3242" - integrity sha512-yA7IWp+5Qqf+TLbd8b35ySFOFzUfL7i+4If50EqvjT6w35X8Lv0eBHb6rATeWmucks37w+zV+tWnOXI9JlG6Eg== +"@typescript-eslint/eslint-plugin@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.1.tgz#b9c7313321cb837e2bf8bebe7acc2220659e67d3" + integrity sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw== dependencies: - "@typescript-eslint/experimental-utils" "4.26.0" - "@typescript-eslint/scope-manager" "4.26.0" + "@typescript-eslint/experimental-utils" "4.26.1" + "@typescript-eslint/scope-manager" "4.26.1" debug "^4.3.1" functional-red-black-tree "^1.0.1" lodash "^4.17.21" @@ -2338,60 +2348,60 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.0.tgz#ba7848b3f088659cdf71bce22454795fc55be99a" - integrity sha512-TH2FO2rdDm7AWfAVRB5RSlbUhWxGVuxPNzGT7W65zVfl8H/WeXTk1e69IrcEVsBslrQSTDKQSaJD89hwKrhdkw== +"@typescript-eslint/experimental-utils@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.1.tgz#a35980a2390da9232aa206b27f620eab66e94142" + integrity sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ== dependencies: "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.26.0" - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/typescript-estree" "4.26.0" + "@typescript-eslint/scope-manager" "4.26.1" + "@typescript-eslint/types" "4.26.1" + "@typescript-eslint/typescript-estree" "4.26.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.0.tgz#31b6b732c9454f757b020dab9b6754112aa5eeaf" - integrity sha512-b4jekVJG9FfmjUfmM4VoOItQhPlnt6MPOBUL0AQbiTmm+SSpSdhHYlwayOm4IW9KLI/4/cRKtQCmDl1oE2OlPg== +"@typescript-eslint/parser@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.1.tgz#cecfdd5eb7a5c13aabce1c1cfd7fbafb5a0f1e8e" + integrity sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ== dependencies: - "@typescript-eslint/scope-manager" "4.26.0" - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/typescript-estree" "4.26.0" + "@typescript-eslint/scope-manager" "4.26.1" + "@typescript-eslint/types" "4.26.1" + "@typescript-eslint/typescript-estree" "4.26.1" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.26.0.tgz#60d1a71df162404e954b9d1c6343ff3bee496194" - integrity sha512-G6xB6mMo4xVxwMt5lEsNTz3x4qGDt0NSGmTBNBPJxNsrTXJSm21c6raeYroS2OwQsOyIXqKZv266L/Gln1BWqg== +"@typescript-eslint/scope-manager@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.26.1.tgz#075a74a15ff33ee3a7ed33e5fce16ee86689f662" + integrity sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ== dependencies: - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/visitor-keys" "4.26.0" + "@typescript-eslint/types" "4.26.1" + "@typescript-eslint/visitor-keys" "4.26.1" -"@typescript-eslint/types@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.26.0.tgz#7c6732c0414f0a69595f4f846ebe12616243d546" - integrity sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A== +"@typescript-eslint/types@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.26.1.tgz#9e7c523f73c34b04a765e4167ca5650436ef1d38" + integrity sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg== -"@typescript-eslint/typescript-estree@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz#aea17a40e62dc31c63d5b1bbe9a75783f2ce7109" - integrity sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg== +"@typescript-eslint/typescript-estree@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.1.tgz#b2ce2e789233d62283fae2c16baabd4f1dbc9633" + integrity sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg== dependencies: - "@typescript-eslint/types" "4.26.0" - "@typescript-eslint/visitor-keys" "4.26.0" + "@typescript-eslint/types" "4.26.1" + "@typescript-eslint/visitor-keys" "4.26.1" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/visitor-keys@4.26.0": - version "4.26.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz#26d2583169222815be4dcd1da4fe5459bc3bcc23" - integrity sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg== +"@typescript-eslint/visitor-keys@4.26.1": + version "4.26.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.1.tgz#0d55ea735cb0d8903b198017d6d4f518fdaac546" + integrity sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw== dependencies: - "@typescript-eslint/types" "4.26.0" + "@typescript-eslint/types" "4.26.1" eslint-visitor-keys "^2.0.0" "@web/browser-logs@^0.2.1", "@web/browser-logs@^0.2.2": @@ -2482,10 +2492,10 @@ chrome-launcher "^0.13.4" puppeteer-core "^8.0.0" -"@web/test-runner-commands@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@web/test-runner-commands/-/test-runner-commands-0.5.0.tgz#8692855054321b876ff5f1a53a656cc38796fdb1" - integrity sha512-yVYJ869/csbDgCNrN2cEwFoX8ZfdAeCXC72CgddKO3jBut2OsFaEy4RWe1uP9Pz9vffiAlV3st3IsnWwTHMLYQ== +"@web/test-runner-commands@^0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@web/test-runner-commands/-/test-runner-commands-0.5.1.tgz#ab7120c8185069d760eef4f877891f3ecb22c3e5" + integrity sha512-rgn5WZFM1zsb9pnKht/mL6qooe+V2vCa2/h9vNPWgrGyH/PfAb4sYRTceIczzST2ZYuesI4W311F1UWGATPyyg== dependencies: "@web/test-runner-core" "^0.10.14" mkdirp "^1.0.4" @@ -2540,16 +2550,16 @@ "@types/mocha" "^8.2.0" "@web/test-runner-core" "^0.10.8" -"@web/test-runner@0.13.5": - version "0.13.5" - resolved "https://registry.yarnpkg.com/@web/test-runner/-/test-runner-0.13.5.tgz#87c225f7b7b3c9c4eb95442bd909e9dfe6c9bc74" - integrity sha512-S1/fAE1aIJEbKSptinP/m8jvl4PA+RCF2tt7EAyvvucpSzeKo05prht2NLgoJhZJGhSvgdw1BCayOVNXMFfB9A== +"@web/test-runner@0.13.6": + version "0.13.6" + resolved "https://registry.yarnpkg.com/@web/test-runner/-/test-runner-0.13.6.tgz#7b2a6970e0a4e7d00bfffd4cbae886b9c859df59" + integrity sha512-wyDNM0iww2dXzCvdt5bu2ngaAu+7uo+c43pWrdzh1+f8uSPT0lNjCVtNx7GYZk1jOsOeU0Nc6cDGOAHolMWQow== dependencies: "@web/browser-logs" "^0.2.2" "@web/config-loader" "^0.1.3" "@web/dev-server" "^0.1.17" "@web/test-runner-chrome" "^0.10.0" - "@web/test-runner-commands" "^0.5.0" + "@web/test-runner-commands" "^0.5.1" "@web/test-runner-core" "^0.10.17" "@web/test-runner-mocha" "^0.7.2" camelcase "^6.2.0" @@ -2683,22 +2693,22 @@ "@webassemblyjs/ast" "1.11.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.3.tgz#204bcff87cda3ea4810881f7ea96e5f5321b87b9" - integrity sha512-WQs0ep98FXX2XBAfQpRbY0Ma6ADw8JR6xoIkaIiJIzClGOMqVRvPCWqndTxf28DgFopWan0EKtHtg/5W1h0Zkw== +"@webpack-cli/configtest@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.4.tgz#f03ce6311c0883a83d04569e2c03c6238316d2aa" + integrity sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ== -"@webpack-cli/info@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.4.tgz#7381fd41c9577b2d8f6c2594fad397ef49ad5573" - integrity sha512-ogE2T4+pLhTTPS/8MM3IjHn0IYplKM4HbVNMCWA9N4NrdPzunwenpCsqKEXyejMfRu6K8mhauIPYf8ZxWG5O6g== +"@webpack-cli/info@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.3.0.tgz#9d78a31101a960997a4acd41ffd9b9300627fe2b" + integrity sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w== dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.4.0.tgz#f84fd07bcacefe56ce762925798871092f0f228e" - integrity sha512-xgT/HqJ+uLWGX+Mzufusl3cgjAcnqYYskaB7o0vRcwOEfuu6hMzSILQpnIzFMGsTaeaX4Nnekl+6fadLbl1/Vg== +"@webpack-cli/serve@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.5.1.tgz#b5fde2f0f79c1e120307c415a4c1d5eb15a6f278" + integrity sha512-4vSVUiOPJLmr45S8rMGy7WDvpWxfFxfP/Qx/cxZFCfvoypTYpPPL1X8VIZMe0WTA+Jr7blUxwUSEZNkjoMTgSw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -3068,7 +3078,7 @@ async@^2.6.1, async@^2.6.2, async@^2.6.3, async@~2.6.1: dependencies: lodash "^4.17.14" -async@~3.2.0: +async@^3.2.0, async@~3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== @@ -3251,6 +3261,11 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boolean@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.0.tgz#a245080649ebb80e7c0ea218a480e4e913136336" + integrity sha512-K6r5tvO1ykeYerI7jIyTvSFw2l6D6DzqkljGj2E2uyYAAdDo2SV4qGJIV75cHIQpTFyb6BB0BEHiDdDrFsNI+g== + boxen@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" @@ -5754,6 +5769,11 @@ fast-glob@^3.1.1, fast-glob@^3.2.5: micromatch "^4.0.2" picomatch "^2.2.1" +fast-json-patch@^3.0.0-1: + version "3.0.0-1" + resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz#4c68f2e7acfbab6d29d1719c44be51899c93dabb" + integrity sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw== + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -5764,6 +5784,13 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-printf@^1.3.0: + version "1.6.5" + resolved "https://registry.yarnpkg.com/fast-printf/-/fast-printf-1.6.5.tgz#0feb44390cf85da97a70295b47d060f172914e4f" + integrity sha512-0+bBTCT4SOmHg3NFsPO39s+EwUdQiKig4MMye7fM0ea24YprUW35AZuWVQdE0SMBRI/GIQldj8ydQGuVRE95UQ== + dependencies: + boolean "^3.0.2" + fastest-levenshtein@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" @@ -9293,7 +9320,7 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pidusage@2.0.21: +pidusage@2.0.21, pidusage@^2.0.21: version "2.0.21" resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-2.0.21.tgz#7068967b3d952baea73e57668c98b9eaa876894e" integrity sha512-cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA== @@ -9346,7 +9373,7 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -pm2-axon-rpc@~0.7.0: +pm2-axon-rpc@~0.7.0, pm2-axon-rpc@~0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/pm2-axon-rpc/-/pm2-axon-rpc-0.7.1.tgz#2daec5383a63135b3f18babb70266dacdcbc429a" integrity sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw== @@ -9378,12 +9405,23 @@ pm2-multimeter@^0.1.2: dependencies: charm "~0.1.1" -pm2@4.5.6: - version "4.5.6" - resolved "https://registry.yarnpkg.com/pm2/-/pm2-4.5.6.tgz#2f477a158957860e440f1e71e88dc82627fcff99" - integrity sha512-4J5q704Xl6VmpmQhXFGMJL4kXyyQw3AZM1FE9vRxhS3LiDI/+WVBtOM6pqJ4g/RKW+AUjEkc23i/DCC4BVenDA== +pm2-sysmonit@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/pm2-sysmonit/-/pm2-sysmonit-1.2.8.tgz#eddea34a53fd8c8d7c3efb73b97a3c548686e24d" + integrity sha512-ACOhlONEXdCTVwKieBIQLSi2tQZ8eKinhcr9JpZSUAL8Qy0ajIgRtsLxG/lwPOW3JEKqPyw/UaHmTWhUzpP4kA== + dependencies: + async "^3.2.0" + debug "^4.3.1" + pidusage "^2.0.21" + systeminformation "^5.7" + tx2 "~1.0.4" + +pm2@5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/pm2/-/pm2-5.0.4.tgz#9043a8ea93657c8980dd1cbb1c9f1ac5156233b5" + integrity sha512-/g4yCfCgdK0FJR2c92D0ZqmeUzpJ4y1yMU5adcg6qWTBoEfnCL3n84fA96ug5yVHQ1ehSdMTTbZfdVIdCi53rQ== dependencies: - "@pm2/agent" "~1.0.8" + "@pm2/agent" "~2.0.0" "@pm2/io" "~5.0.0" "@pm2/js-api" "~0.6.7" "@pm2/pm2-version-check" latest @@ -9398,21 +9436,22 @@ pm2@4.5.6: debug "^4.3.1" enquirer "2.3.6" eventemitter2 "5.0.1" + fast-printf "^1.3.0" fclone "1.0.11" mkdirp "1.0.4" needle "2.4.0" pidusage "2.0.21" pm2-axon "~4.0.1" - pm2-axon-rpc "~0.7.0" + pm2-axon-rpc "~0.7.1" pm2-deploy "~1.0.2" pm2-multimeter "^0.1.2" promptly "^2" - ps-list "6.3.0" semver "^7.2" source-map-support "0.5.19" - sprintf-js "1.1.2" - vizion "2.2.1" + vizion "~2.2.1" yamljs "0.3.0" + optionalDependencies: + pm2-sysmonit "^1.2.8" polished@4.1.3: version "4.1.3" @@ -9622,11 +9661,6 @@ proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -ps-list@6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/ps-list/-/ps-list-6.3.0.tgz#a2b775c2db7d547a28fbaa3a05e4c281771259be" - integrity sha512-qau0czUSB0fzSlBOQt0bo+I2v6R+xiQdj78e1BR/Qjfl5OHWJ/urXi8+ilw1eHe+5hSeDI1wrwVTgDp2wst4oA== - psl@^1.1.28: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" @@ -10693,10 +10727,10 @@ snowpack-plugin-copy@1.0.1: dependencies: cpy "^8.1.1" -snowpack@3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.5.5.tgz#80729286d5f1d7db57e13aff44af750888155f3b" - integrity sha512-Ij+ETrYo6S1/AQ4O+AVixbXmbBHb+iOzmM9WWLLIu9QE4U12Im05lWobqbEBBXG9V4dNwQKdGe5rP1d40JnglA== +snowpack@3.5.6: + version "3.5.6" + resolved "https://registry.yarnpkg.com/snowpack/-/snowpack-3.5.6.tgz#79f8699e4248e19f67ec50433e50072bb2e69e89" + integrity sha512-R9uqattPhS2j1zaOFgwl7i54rFTtxxk4kmKmqJBRwD+9YggUulGm7O7YRXaMMjtmi69czK7jxbtZs1Up/xA+1A== dependencies: cli-spinners "^2.5.0" default-browser-id "^2.0.0" @@ -10842,11 +10876,6 @@ split@^1.0.0: dependencies: through "2" -sprintf-js@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" - integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -11164,6 +11193,11 @@ swr@0.5.6: dependencies: dequal "2.0.2" +systeminformation@^5.7: + version "5.7.5" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.7.5.tgz#f841e034baccd3bca57b8a7c5ae5b3e2b36580b4" + integrity sha512-z3h0aHzt4YKmMHEW3TlvQSV0/R7+ktrrEXU+JC88odNKslf2Ce3yD5rQlA+kRJT1ky0iN5v2sWTbp7wSyTsn7w== + table-layout@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" @@ -11510,6 +11544,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +tx2@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tx2/-/tx2-1.0.4.tgz#cb9432df22e0b8c54daf711b51b708f094449ddf" + integrity sha512-rU+y30nUY3PyIi+znvv74HzxlpULKwMPAyRK+YiCjvGkk3rY3fic3D6Z+avLpun3V5A6HFwPQ9JrBTMNEV/dxg== + dependencies: + json-stringify-safe "^5.0.1" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -11889,7 +11930,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vizion@2.2.1: +vizion@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/vizion/-/vizion-2.2.1.tgz#04201ea45ffd145d5b5210e385a8f35170387fb2" integrity sha512-sfAcO2yeSU0CSPFI/DmZp3FsFE9T+8913nv1xWBOyzODv13fwkn6Vl7HqxGpkr9F608M+8SuFId3s+BlZqfXww== @@ -11936,15 +11977,15 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-cli@4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.0.tgz#3195a777f1f802ecda732f6c95d24c0004bc5a35" - integrity sha512-7bKr9182/sGfjFm+xdZSwgQuFjgEcy0iCTIBxRUeteJ2Kr8/Wz0qNJX+jw60LU36jApt4nmMkep6+W5AKhok6g== +webpack-cli@4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.7.2.tgz#a718db600de6d3906a4357e059ae584a89f4c1a5" + integrity sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.3" - "@webpack-cli/info" "^1.2.4" - "@webpack-cli/serve" "^1.4.0" + "@webpack-cli/configtest" "^1.0.4" + "@webpack-cli/info" "^1.3.0" + "@webpack-cli/serve" "^1.5.1" colorette "^1.2.1" commander "^7.0.0" execa "^5.0.0" @@ -12172,16 +12213,11 @@ write-pkg@^4.0.0: type-fest "^0.4.1" write-json-file "^3.2.0" -ws@^7.0.0, ws@^7.2.3, ws@^7.4.2: +ws@^7.0.0, ws@^7.2.3, ws@^7.4.2, ws@~7.4.0: version "7.4.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== -ws@~7.2.0: - version "7.2.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" - integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA== - xdg-basedir@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" -- GitLab