diff --git a/extension/package.json b/extension/package.json index 2181244d43..ad35a0f42f 100644 --- a/extension/package.json +++ b/extension/package.json @@ -1653,7 +1653,7 @@ "vscode-languageclient": "8.1.0" }, "devDependencies": { - "@swc/core": "1.3.44", + "@swc/core": "1.3.45", "@swc/jest": "0.2.24", "@types/chai": "4.3.4", "@types/chai-as-promised": "7.1.5", diff --git a/extension/src/test/e2e/extension.test.ts b/extension/src/test/e2e/extension.test.ts index 62c976e6e2..9c7cf4f920 100644 --- a/extension/src/test/e2e/extension.test.ts +++ b/extension/src/test/e2e/extension.test.ts @@ -1,13 +1,17 @@ import { join } from 'path' import { closeAllEditors, + createCustomPlot, deleteAllExistingExperiments, + deleteCustomPlot, dismissAllNotifications, + expectAllPlotsToBeFilled, findDecorationTooltip, findScmTreeItems, getDVCActivityBarIcon, getLabel, runModifiedExperiment, + waitForAllPlotsToRender, waitForDvcToFinish, waitForViewContainerToLoad } from './util.js' @@ -21,8 +25,14 @@ before('should finish loading the extension', async function () { return dismissAllNotifications() }) -after(function () { +after(async function () { this.timeout(60000) + + try { + await deleteCustomPlot() + } catch {} + await dismissAllNotifications() + return waitForDvcToFinish() }) @@ -130,32 +140,56 @@ describe('Experiments Table Webview', function () { }) describe('Plots Webview', function () { + const webview = new PlotsWebview('plots') + + // eslint-disable-next-line jest/expect-expect it('should load the plots webview with non-empty plots', async function () { this.timeout(60000) - const webview = new PlotsWebview('plots') const workbench = await browser.getWorkbench() await workbench.openCommandPrompt() await browser.keys([...'DVC: Show Plots', 'ArrowDown', 'Enter']) await waitForDvcToFinish() + await webview.focus() + + await waitForAllPlotsToRender(webview, 5) + + await expectAllPlotsToBeFilled(webview) + + await webview.unfocus() + await closeAllEditors() + }) + + // eslint-disable-next-line jest/expect-expect + it('should create and delete a custom plot', async function () { + this.timeout(60000) + await createCustomPlot() + const workbench = await browser.getWorkbench() + await workbench.openCommandPrompt() + await workbench.executeCommand('DVC: Show Plots') + await waitForDvcToFinish() await webview.focus() - await browser.waitUntil( - async () => { - return (await webview.vegaVisualization$$.length) === 5 - }, - { timeout: 30000 } - ) + await waitForAllPlotsToRender(webview, 6) + + await expectAllPlotsToBeFilled(webview) + + await webview.unfocus() + await closeAllEditors() - const plots = await webview.vegaVisualization$$ + await deleteCustomPlot() + await workbench.executeCommand('DVC: Show Plots') - for (const plot of plots) { - const plotNotEmpty = await webview.plotNotEmpty(plot) - expect(plotNotEmpty).toBe(true) - } + await waitForDvcToFinish() + await webview.focus() + + await waitForAllPlotsToRender(webview, 5) + + await expectAllPlotsToBeFilled(webview) await webview.unfocus() + await closeAllEditors() }) }) diff --git a/extension/src/test/e2e/util.ts b/extension/src/test/e2e/util.ts index fa9dd650f0..a3f007f839 100644 --- a/extension/src/test/e2e/util.ts +++ b/extension/src/test/e2e/util.ts @@ -1,5 +1,6 @@ import { Key } from 'webdriverio' import { ViewControl } from 'wdio-vscode-service' +import { PlotsWebview } from './pageObjects/plotsWebview' const findProgressBars = () => $$('.monaco-progress-container') @@ -153,6 +154,46 @@ export const closeAllEditors = async (): Promise => { return editorView.closeAllEditors() } +export const createCustomPlot = async (): Promise => { + const workbench = await browser.getWorkbench() + const addCustomPlot = await workbench.executeCommand('DVC: Add Custom Plot') + await browser.waitUntil(() => addCustomPlot.elem.isDisplayed()) + await browser.keys('Enter') + await browser.waitUntil(() => addCustomPlot.elem.isDisplayed()) + return browser.keys('Enter') +} + +export const deleteCustomPlot = async (): Promise => { + const workbench = await browser.getWorkbench() + const removeCustomPlot = await workbench.executeCommand( + 'DVC: Remove Custom Plot(s)' + ) + await browser.waitUntil(() => removeCustomPlot.elem.isDisplayed()) + await browser.keys('ArrowDown') + await browser.keys('Space') + return browser.keys('Enter') +} + +export const waitForAllPlotsToRender = ( + webview: PlotsWebview, + plotsAmount: number +): Promise => { + return browser.waitUntil( + async () => { + return (await webview.vegaVisualization$$.length) === plotsAmount + }, + { timeout: 30000 } + ) +} + +export const expectAllPlotsToBeFilled = async (webview: PlotsWebview) => { + const plots = await webview.vegaVisualization$$ + for (const plot of plots) { + const plotNotEmpty = await webview.plotNotEmpty(plot) + expect(plotNotEmpty).toBe(true) + } +} + export const findScmTreeItems = async () => { const workspace = await browser.getWorkbench() const activityBar = workspace.getActivityBar() diff --git a/languageServer/package.json b/languageServer/package.json index 707a07274f..4b5f56539e 100644 --- a/languageServer/package.json +++ b/languageServer/package.json @@ -25,7 +25,7 @@ "test": "jest --collect-coverage" }, "devDependencies": { - "@swc/core": "1.3.44", + "@swc/core": "1.3.45", "@swc/jest": "0.2.24", "@types/jest": "29.5.0", "clean-webpack-plugin": "4.0.0", diff --git a/package.json b/package.json index e3e2ea2828..bc44876013 100644 --- a/package.json +++ b/package.json @@ -34,14 +34,14 @@ "svgr": "yarn workspace dvc-vscode-webview svgr" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "5.57.0", - "@typescript-eslint/parser": "5.57.0", + "@typescript-eslint/eslint-plugin": "5.57.1", + "@typescript-eslint/parser": "5.57.1", "@vscode/codicons": "0.0.32", "eslint": "8.37.0", "eslint-config-prettier": "8.8.0", "eslint-config-prettier-standard": "4.0.1", "eslint-config-standard": "17.0.0", - "eslint-plugin-check-file": "2.1.0", + "eslint-plugin-check-file": "2.2.0", "eslint-plugin-etc": "2.0.2", "eslint-plugin-import": "2.27.5", "eslint-plugin-jest": "27.2.1", @@ -69,7 +69,7 @@ }, "resolutions": { "decode-uri-component": "0.2.2", - "@types/react": "18.0.31", + "@types/react": "18.0.33", "**/recursive-readdir/minimatch": "6.2.0", "fastify": "3.29.5", "json5": "2.2.3", diff --git a/webview/package.json b/webview/package.json index e0f2ed463b..e1c6ee759b 100644 --- a/webview/package.json +++ b/webview/package.json @@ -21,7 +21,7 @@ }, "dependencies": { "@reduxjs/toolkit": "1.9.3", - "@tanstack/react-table": "8.8.4", + "@tanstack/react-table": "8.8.5", "@tippyjs/react": "4.2.6", "@vscode/webview-ui-toolkit": "1.2.2", "classnames": "2.3.2", @@ -47,14 +47,14 @@ "@storybook/react": "6.5.16", "@storybook/testing-library": "0.0.13", "@svgr/cli": "7.0.0", - "@swc/core": "1.3.44", + "@swc/core": "1.3.45", "@swc/jest": "0.2.24", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "14.0.0", "@types/jest": "29.5.0", "@types/jsdom": "21.1.1", "@types/node": "16.x", - "@types/react": "18.0.31", + "@types/react": "18.0.33", "@types/react-dom": "18.0.11", "@types/react-measure": "2.0.8", "@types/react-virtualized": "9.21.21", @@ -78,7 +78,7 @@ "ts-loader": "9.4.2", "webpack": "5.77.0", "webpack-cli": "5.0.1", - "webpack-dev-server": "4.13.1" + "webpack-dev-server": "4.13.2" }, "svgr": { "typescript": true, diff --git a/webview/src/experiments/components/table/styles.module.scss b/webview/src/experiments/components/table/styles.module.scss index 31285e2ef3..89cf7b4631 100644 --- a/webview/src/experiments/components/table/styles.module.scss +++ b/webview/src/experiments/components/table/styles.module.scss @@ -79,10 +79,6 @@ $bullet-size: calc(var(--design-unit) * 4px); background-color: $header-border-color; } -.hidden { - visibility: hidden; -} - .iconMenu { position: absolute; left: 0; @@ -237,404 +233,389 @@ $bullet-size: calc(var(--design-unit) * 4px); height: 100%; display: flex; flex-flow: column nowrap; +} - .experimentGroup { - .nestedRow { - .experimentCell { - .innerCell { - padding-left: calc($nested-row-padding + $edge-padding); - - .rowActions { - left: calc(($cell-padding + $nested-row-padding) * -1); - } +.experimentGroup { + .nestedRow { + .experimentCell { + .innerCell { + padding-left: calc($nested-row-padding + $edge-padding); + + .rowActions { + left: calc(($cell-padding + $nested-row-padding) * -1); } } } } +} - ul { - padding-left: 1rem; - } +ul { + padding-left: 1rem; +} - table { - display: inline-block; - border-collapse: collapse; - } +table { + display: inline-block; + border-collapse: collapse; +} - summary { - white-space: nowrap; - cursor: pointer; - h2, - h3 { - margin: 0.25em; - white-space: nowrap; - display: inline-block; +tr { + position: relative; + background-color: $row-bg-color; + width: fit-content; + + &:hover.rowSelected { + &::after { + box-shadow: inset 0 0 20px $shadow; + content: ''; + top: 0; + right: 0; + width: 100%; + height: 100%; + z-index: 4; + position: absolute; + pointer-events: none; } - } - .depthSpacer { - width: 1rem; + td:not(.experimentCell):hover::before, + td:hover + td::before { + background-color: $row-border-selected-color; + } } - tr { - position: relative; - background-color: $row-bg-color; - width: fit-content; - - &:hover.rowSelected { - &::after { - box-shadow: inset 0 0 20px $shadow; - content: ''; - top: 0; - right: 0; - width: 100%; - height: 100%; - z-index: 4; - position: absolute; - pointer-events: none; - } + &:hover:not(.rowSelected) { + td:not(.experimentCell), + .experimentCell::before { + background-color: $row-hover-background-color; + } - td:not(.experimentCell):hover::before, - td:hover + td::before { - background-color: $row-border-selected-color; - } + td:not(.experimentCell):hover::before, + td:hover + td::before { + background-color: $border-color; } + } - &:hover:not(.rowSelected) { - td:not(.experimentCell), - .experimentCell::before { - background-color: $row-hover-background-color; - } + > *:first-child { + position: sticky; + left: 0; + z-index: 3; - td:not(.experimentCell):hover::before, - td:hover + td::before { - background-color: $border-color; - } + &::after { + content: ''; + height: 100%; + position: absolute; + top: 0; + width: 6px; + right: 0; + transition: box-shadow 0.25s; } - > *:first-child { - position: sticky; - left: 0; - z-index: 3; - + &.headerCell { &::after { - content: ''; - height: 100%; - position: absolute; - top: 0; - width: 6px; - right: 0; - transition: box-shadow 0.25s; + bottom: auto; + left: auto; + background-color: transparent; } - &.headerCell { - &::after { - bottom: auto; - left: auto; - background-color: transparent; - } - - &::before { - @extend %headerCellBorderBottom; - } + &::before { + @extend %headerCellBorderBottom; } } + } - &.rowSelected { - border-color: $row-border-selected-color; + &.rowSelected { + border-color: $row-border-selected-color; - td { - color: $row-fg-selected-color; - border-bottom-color: $row-border-selected-color; - background-color: $row-bg-selected-color; - } + td { + color: $row-fg-selected-color; + border-bottom-color: $row-border-selected-color; + background-color: $row-bg-selected-color; + } - .experimentCell { - background-color: $row-bg-color; + .experimentCell { + background-color: $row-bg-color; - &::before { - background-color: $row-bg-selected-color; - } + &::before { + background-color: $row-bg-selected-color; } + } - .expandedRowArrow, - .contractedRowArrow { - border-color: $selected-icon-color; - } + .expandedRowArrow, + .contractedRowArrow { + border-color: $selected-icon-color; } } +} + +table.withExpColumnShadow tr > *:first-child { + &::after { + box-shadow: 3px 0px 3px $shadow; + } - table.withExpColumnShadow tr > *:first-child { - &::after { - box-shadow: 3px 0px 3px $shadow; - } + > div::after { + display: none; + } +} - > div::after { - display: none; +.bodyRow { + border-bottom: $row-border; + + &:not(.rowSelected) { + & > *:first-child { + background-color: $row-bg-color; } } +} - .bodyRow { - border-bottom: $row-border; +.headRow { + font-size: 0.7rem; - &:not(.rowSelected) { - & > *:first-child { - background-color: $row-bg-color; - } + .headerCellWrapper { + @extend %truncateLeftParent; + direction: rtl; + opacity: 0.6; + // to prevent extra dragLeave and dragEnter fired + // should be on parent div, not span to work on text-overflow: ellipsis + pointer-events: none; + } + .cellContents { + @extend %truncateLeftChild; + display: block; + + span[draggable='true'] { + display: block; + cursor: grab; } } - .headRow { - font-size: 0.7rem; + & > *:first-child { + background-color: $header-bg-color; + } - .headerCellWrapper { - @extend %truncateLeftParent; - direction: rtl; - opacity: 0.6; - // to prevent extra dragLeave and dragEnter fired - // should be on parent div, not span to work on text-overflow: ellipsis - pointer-events: none; + &:last-child, + .firstLevelHeader { + .paramHeaderCell, + &.paramHeaderCell { + color: $params-color; } - .cellContents { - @extend %truncateLeftChild; - display: block; - span[draggable='true'] { - display: block; - cursor: grab; - } + .metricHeaderCell, + &.metricHeaderCell { + color: $metrics-color; } - & > *:first-child { - background-color: $header-bg-color; + .depHeaderCell, + &.depHeaderCell { + color: $deps-color; } + } - &:last-child, - .firstLevelHeader { - .paramHeaderCell, - &.paramHeaderCell { - color: $params-color; - } - - .metricHeaderCell, - &.metricHeaderCell { - color: $metrics-color; - } + &:last-child { + font-size: 0.7rem; - .depHeaderCell, - &.depHeaderCell { - color: $deps-color; - } + .headerCell { + text-align: right; } - &:last-child { - font-size: 0.7rem; - - .headerCell { - text-align: right; - } - - .headerCellWrapper { - opacity: 1; - } + .headerCellWrapper { + opacity: 1; + } - .experimentHeader { - @extend %headerCellPadding; - padding-left: $cell-padding; - text-align: left; - direction: ltr; - overflow-x: hidden; - text-overflow: ellipsis; - } + .experimentHeader { + @extend %headerCellPadding; + padding-left: $cell-padding; + text-align: left; + direction: ltr; + overflow-x: hidden; + text-overflow: ellipsis; } } +} - .workspaceRowGroup { - border: none; - position: sticky; - top: var(--table-head-height); - z-index: 4; - background-color: $row-bg-color; - - &.withShadow { - box-shadow: 0 5px 8px -2px $shadow; - - tr { - border-bottom: none; - } - } +.workspaceRowGroup { + border: none; + position: sticky; + top: var(--table-head-height); + z-index: 4; + background-color: $row-bg-color; - .innerCell { - padding: 5px 10px; + &.withShadow { + box-shadow: 0 5px 8px -2px $shadow; - .rowActions { - visibility: hidden; - } + tr { + border-bottom: none; } + } - .innerCell, - .timestampInnerCell { - height: 100%; - width: 100%; - background-color: transparent; - } + .innerCell { + padding: 5px 10px; - .timestampInnerCell { - height: 42px; + .rowActions { + visibility: hidden; } } - .workspaceChange, - .depChange { - color: $changed-color; + .innerCell, + .timestampInnerCell { + height: 100%; + width: 100%; + background-color: transparent; } - td, - th { - white-space: nowrap; - min-width: 0; - position: relative; + .timestampInnerCell { + height: 42px; } +} - th { - height: auto; - background-color: $header-bg-color; +.workspaceChange, +.depChange { + color: $changed-color; +} - .dropTarget { - position: absolute; - right: -3px; - bottom: 0; - width: 3px; - z-index: -1; - height: var(--table-head-height); - background-color: $header-resizer-color; - z-index: 1; - display: none; +td, +th { + white-space: nowrap; + min-width: 0; + position: relative; +} - &.active { - display: block; - } +th { + height: auto; + background-color: $header-bg-color; + + .dropTarget { + position: absolute; + right: -3px; + bottom: 0; + width: 3px; + z-index: -1; + height: var(--table-head-height); + background-color: $header-resizer-color; + z-index: 1; + display: none; + + &.active { + display: block; } } +} - td { - height: auto; - font-size: 0.8rem; - line-height: 2rem; - align-items: center; +td { + height: auto; + font-size: 0.8rem; + line-height: 2rem; + align-items: center; - &:not(.experimentCell)::before { - @extend %cellBorderLeft; - } + &:not(.experimentCell)::before { + @extend %cellBorderLeft; + } - &:first-child { - .innerCell { - padding-left: $edge-padding; - } + &:first-child { + .innerCell { + padding-left: $edge-padding; } + } - &:last-child { - .innerCell { - padding-right: $edge-padding; - } + &:last-child { + .innerCell { + padding-right: $edge-padding; } } +} - .experimentCell { - .innerCell { - display: flex; - flex-flow: row nowrap; - justify-content: flex-start; +.experimentCell { + .innerCell { + display: flex; + flex-flow: row nowrap; + justify-content: flex-start; - .bullet { - cursor: pointer; - } + .bullet { + cursor: pointer; + } - .rowActions { - display: inline-flex; - align-items: center; - position: relative; + .rowActions { + display: inline-flex; + align-items: center; + position: relative; - left: -$cell-padding; - height: 100%; + left: -$cell-padding; + height: 100%; - &:first-child { - margin-right: 20px; - } + &:first-child { + margin-right: 20px; + } - .indicatorIcon { - display: inline-flex; - align-items: center; - justify-content: center; - width: 1.3rem; - height: 2rem; - padding: 0; - margin: 0; - } + .indicatorIcon { + display: inline-flex; + align-items: center; + justify-content: center; + width: 1.3rem; + height: 2rem; + padding: 0; + margin: 0; + } - .indicatorCount { - z-index: 2; - &[title='0'] { - display: none; - } + .indicatorCount { + z-index: 2; + &[title='0'] { + display: none; } } } } +} - .placeholderHeaderCell { - background-color: $header-bg-color; - .cellContents { - padding: 0.31rem $cell-padding; - } +.placeholderHeaderCell { + background-color: $header-bg-color; + .cellContents { + padding: 0.31rem $cell-padding; + } - &::before { - @extend %cellBorderLeft; - background-color: $header-border-color; - } + &::before { + @extend %cellBorderLeft; + background-color: $header-border-color; + } - &:first-child::before { - display: none; - } + &:first-child::before { + display: none; } +} - .headerCell { - @extend .placeholderHeaderCell; - color: $header-fg-color; - text-align: center; - font-weight: 400; +.headerCell { + @extend .placeholderHeaderCell; + color: $header-fg-color; + text-align: center; + font-weight: 400; - &::after { - content: ''; - position: absolute; - bottom: 0; - left: 1px; - width: 100%; - height: 1px; - background-color: $header-border-color; - } + &::after { + content: ''; + position: absolute; + bottom: 0; + left: 1px; + width: 100%; + height: 1px; + background-color: $header-border-color; + } - &.leafHeader::after { - display: none; - } + &.leafHeader::after { + display: none; + } - &.headerCellDropTarget { - background: $header-dnd-drop-background; - outline-width: 2px; - outline-style: dashed; - outline-color: $header-dnd-outline; - outline-offset: -4px; + &.headerCellDropTarget { + background: $header-dnd-drop-background; + outline-width: 2px; + outline-style: dashed; + outline-color: $header-dnd-outline; + outline-offset: -4px; - .iconMenu ul[role='menu'] { - background-color: transparent; - } + .iconMenu ul[role='menu'] { + background-color: transparent; } } +} - .oneRowHeaderCell { - vertical-align: bottom; - height: 50px; - } +.oneRowHeaderCell { + vertical-align: bottom; + height: 50px; } .previousCommitsRow { @@ -702,30 +683,6 @@ $bullet-size: calc(var(--design-unit) * 4px); font-size: 0.65rem; } -.webviewHeader { - display: flex; - justify-content: space-between; - align-items: center; -} - -%arrow { - background: none; - border: none; - color: $header-fg-color; - position: absolute; - top: 5px; -} - -.arrowLeft { - @extend %arrow; - left: -2px; -} - -.arrowRight { - @extend %arrow; - right: -2px; -} - .staticColumn { transform: translate(0, 0) !important; } diff --git a/yarn.lock b/yarn.lock index ae4c8c7010..4275c21202 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3704,71 +3704,71 @@ deepmerge "^4.3.1" svgo "^3.0.2" -"@swc/core-darwin-arm64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.44.tgz#e0f5eb9d962c4e6192531c2e3b8c11f55faf1b89" - integrity sha512-Y+oVsCjXUPvr3D9YLuB1gjP84TseM/CRkbPNrf+3JXQhsPEkgxdIdFP1cl/obeqMQrRgPpvSfK+TOvGuOuV22g== - -"@swc/core-darwin-x64@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.44.tgz#a8de4c176a9b12f201fc754a56331113a53ec69c" - integrity sha512-bM0IKBjlSD0yHJbd7bE3il5fTu3oUjUO2zjLkzfIx6tiqbmDyvOX8adaSqse9N+d8Ip9p26b5Vo7pMHq0POGkg== - -"@swc/core-linux-arm-gnueabihf@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.44.tgz#300731367c88bf02b8ae20264d4d402362e444df" - integrity sha512-D4lfVwCbkWscDTb6btb89+bN0kgvjGBPfOmcvih7nY5hxaorwvp+PefkYAhFw8vKmL92lrnWUFNiTemVFN4bxg== - -"@swc/core-linux-arm64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.44.tgz#8b52d1cd28f277d47bb45c6791f44da568a62bc4" - integrity sha512-muExPTrN26MFmtO+5uffkH5v4lmd8GdmyWvlC2tL95h7o9genTIQyr7kcSepGZrDe4fM9G6++5YfENhUpXHo+g== - -"@swc/core-linux-arm64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.44.tgz#7b0e62255ae13c397f09ca5da8bf2266482a28c2" - integrity sha512-MY1wY3kSIosjJKKCfFGniJFFVkt3oPvJLN4Dlj+bMgAt3O7anm8lGbyLqUpJ1Ep4rTsJj7ObO06DQiSWp4Fhcw== - -"@swc/core-linux-x64-gnu@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.44.tgz#0b8b2544c312f247aa5c5f31671a175ad6488309" - integrity sha512-xV4pDxJM06g0yUDTA22ZHgonzGqf/poIlgADRmEkx9cWWm5qLRhmWrrkVX1xZVvdlcXj1ERnia/UkvrDux96lg== - -"@swc/core-linux-x64-musl@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.44.tgz#5b1f76fc1dc75875df59d8c0ff37e99e030f9552" - integrity sha512-NJnnlE8vCkKHoo/wIaoywNN/01vNsvhKUjBgUx865sUM/XWAIanpbV41yfdEkC+Iwd+/zB3ZZnOYql3b+Nn8aQ== - -"@swc/core-win32-arm64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.44.tgz#bd4aefcd7734229f780c9bec0502935884935f0f" - integrity sha512-/xOtjZhX25GEOPLN55icjj9E061DDH7G0A9HfUAEilURgBbvm6bIlqK+t8mOKK0tOsDoHftdTBRkYhTAqUtakQ== - -"@swc/core-win32-ia32-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.44.tgz#0c2ba768f33acb580422e17d4ae816ebfd3dcfe0" - integrity sha512-uKTAWQuMEW1gJnl8F3eiz3kdk8CiaR5dMWWlGbHIq6dRbur2hoKaEnINR4UqkvvAhhY1YB0Xr5DV1H986Xu2EA== - -"@swc/core-win32-x64-msvc@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.44.tgz#b137abefbeb3b73a47cc398bc5603ea6bf6a3a7b" - integrity sha512-D9fBRhr44cK4YIKFikpktyUDLkZgVj0ISaSl8IjiTvjqTrE/9+E+dzTNHULn5tc3lHVLLxyVwMjJRr2G0D4O6w== - -"@swc/core@1.3.44": - version "1.3.44" - resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.44.tgz#2886bdd647942f9670b65c02b6d5484ff3070ddd" - integrity sha512-RC25C8nxOCdfGS//F9Q8aHKx4XoCsxvgO+sSUhvt7zDz1Y2ruVUTu2UOH0VeE0WkA8j6oEZH+xH2SUfDUkxXdA== +"@swc/core-darwin-arm64@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.45.tgz#517e3c80eed4865a682722cf101c77ba50a9073d" + integrity sha512-CZjYMp9iouhzQChh4C5VMnRZQSlKiBUfUwwGfaGAEzBbhVmcVgUEbQ7j50I4iJLbxelXGLmj//g5D0bqdm/0rA== + +"@swc/core-darwin-x64@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.45.tgz#48e8eca6610d8ad3a332bd8987ad58165d0b6c9e" + integrity sha512-aGqKM0hGBlaNGrBdiJqO/KQqucfuUtOQgQpsadwnd2mWGXT7Y1qfF/r9bYfQMYMEHVNzP6dwN8PY3K4FTj2HXw== + +"@swc/core-linux-arm-gnueabihf@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.45.tgz#7e3fb326edde7ffd84bd79598d58768c7850a450" + integrity sha512-IB1hh/f8jymeoHpUtpfTH7ZsEcee2JMlIkDfzK4JSvlKMh8Fz+zAB6DSh85Qz5MIlkppcwvnrAGWCHj7CKcqAA== + +"@swc/core-linux-arm64-gnu@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.45.tgz#c82c2f64b09a190a08a29951d55f27c3f4a74f4f" + integrity sha512-rRsVqbgtzp+65ja9ztP8oXc35Vig8J5b2dw9gdevEmdxb1h0B5LYKDQTLLxLznHIp3UCMP6C0chdj4XYmAtiQQ== + +"@swc/core-linux-arm64-musl@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.45.tgz#fef9a5900d096f4f68c3f74feea9e1cbf9d22566" + integrity sha512-bGGFsotBts59cWR92n98jI+aZTzyJPdInams0Noly7LGHbf1+G2fBkn3RCQvbOuvFvsyWnwNx96dyi9Os7VSig== + +"@swc/core-linux-x64-gnu@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.45.tgz#b61a0337649b89fc6ee525d2a29ddde61f18533f" + integrity sha512-Xw87pRAZM1NNu5DCmvkw35Oj+baJv8DRWF3qJ3cXwBaNpbcX+19dkpdw8GeAaN0jt8k+eMzeQiKzusrIP+D7jw== + +"@swc/core-linux-x64-musl@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.45.tgz#ad919313bd0bd59991b15daf369b0490492797ac" + integrity sha512-zyUnKqILPMbQRKeELxX7nkudm/hWcP3+eIhCnMSzVqW6OrffMiRbQhLHiJHtdYfExR60dBkPhogAK78+PspLSQ== + +"@swc/core-win32-arm64-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.45.tgz#42537aca71dc58e3227d342896d6b9fc7a4497fb" + integrity sha512-/rF4hwHN7SwLJZtfh0Z5lax9aXh02pcuFBYeq0tT0B7I36TX6RhNAWGWP4noXUEaLlzbhGkm3KFmjyri0ZNkEQ== + +"@swc/core-win32-ia32-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.45.tgz#36a9f396fa9c5cbc763efa3da3f643b005ae5a0d" + integrity sha512-2gGb3PWz696HoVZ47dpOOFLakHERpMFGDB5BGqJeuJZLBnd4ErNj+zeuobz+cPeLItB72wBORR4t3z8Nj9/zCA== + +"@swc/core-win32-x64-msvc@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.45.tgz#d3e77e6fcb930d895db6f9647fe8f2482b2bf020" + integrity sha512-lkMr4iazJ85zNJTZqrHG/qHYoGqGawPuLG1/EVeQmQI31lzA+1LMMjcvsIWYeT/0cK3WO3r0eUiyEklLP1VLig== + +"@swc/core@1.3.45": + version "1.3.45" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.45.tgz#cf71a26e99e83d4e91480167c173aa45d1b5887f" + integrity sha512-6oBPAXwI2WXWgIW+geUEieJzkJFOVt9tsm2XVLEhooScBe9g8Zwyo4qFI0agVEoNf+sRURvSFzw9p/KSPjIP1A== optionalDependencies: - "@swc/core-darwin-arm64" "1.3.44" - "@swc/core-darwin-x64" "1.3.44" - "@swc/core-linux-arm-gnueabihf" "1.3.44" - "@swc/core-linux-arm64-gnu" "1.3.44" - "@swc/core-linux-arm64-musl" "1.3.44" - "@swc/core-linux-x64-gnu" "1.3.44" - "@swc/core-linux-x64-musl" "1.3.44" - "@swc/core-win32-arm64-msvc" "1.3.44" - "@swc/core-win32-ia32-msvc" "1.3.44" - "@swc/core-win32-x64-msvc" "1.3.44" + "@swc/core-darwin-arm64" "1.3.45" + "@swc/core-darwin-x64" "1.3.45" + "@swc/core-linux-arm-gnueabihf" "1.3.45" + "@swc/core-linux-arm64-gnu" "1.3.45" + "@swc/core-linux-arm64-musl" "1.3.45" + "@swc/core-linux-x64-gnu" "1.3.45" + "@swc/core-linux-x64-musl" "1.3.45" + "@swc/core-win32-arm64-msvc" "1.3.45" + "@swc/core-win32-ia32-msvc" "1.3.45" + "@swc/core-win32-x64-msvc" "1.3.45" "@swc/jest@0.2.24": version "0.2.24" @@ -3785,17 +3785,17 @@ dependencies: defer-to-connect "^2.0.1" -"@tanstack/react-table@8.8.4": - version "8.8.4" - resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.8.4.tgz#814acc520f8d7356d007b441a784c5a30154f516" - integrity sha512-5w2AoBnDBJYuUa80sLOqelcG/eJdGwIPFBRnEiU3RCAEeZ1QIhYse/0vzhTY8VAcTXa2sjWhXNDWci4VlktNmg== +"@tanstack/react-table@8.8.5": + version "8.8.5" + resolved "https://registry.yarnpkg.com/@tanstack/react-table/-/react-table-8.8.5.tgz#d345fd855bb8067cd32b7a9b5231bdefd9cbde55" + integrity sha512-g/t21E/ICHvaCOJOhsDNr5QaB/6aDQEHFbx/YliwwU/CJThMqG+dS28vnToIBV/5MBgpeXoGRi2waDJVJlZrtg== dependencies: - "@tanstack/table-core" "8.8.4" + "@tanstack/table-core" "8.8.5" -"@tanstack/table-core@8.8.4": - version "8.8.4" - resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.8.4.tgz#4b6938c0531011afc0746a50ff9b3f772199be36" - integrity sha512-4gq0A/Qz/JFuclxPd1UnNi5P57vbVF10mPK743Iuv2ORLLgF/O/XkaYjYDGw5SHMof8CgiT/nfdJdlgHsOfRIg== +"@tanstack/table-core@8.8.5": + version "8.8.5" + resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.8.5.tgz#4d75b452a9989a273174df1b9249157292a15bd5" + integrity sha512-Xnwa1qxpgvSW7ozLiexmKp2PIYcLBiY/IizbdGriYCL6OOHuZ9baRhrrH51zjyz+61ly6K59rmt6AI/3RR+97Q== "@testing-library/dom@^8.3.0": version "8.14.0" @@ -4392,10 +4392,10 @@ "@types/prop-types" "*" "@types/react" "^17" -"@types/react@*", "@types/react@18.0.31", "@types/react@^16.9.19", "@types/react@^17": - version "18.0.31" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.31.tgz#a69ef8dd7bfa849734d258c793a8fe343a338205" - integrity sha512-EEG67of7DsvRDU6BLLI0p+k1GojDLz9+lZsnCpCRTa/lOokvyPBvp8S5x+A24hME3yyQuIipcP70KJ6H7Qupww== +"@types/react@*", "@types/react@18.0.33", "@types/react@^16.9.19", "@types/react@^17": + version "18.0.33" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.33.tgz#a1575160cb4376787c2f5fe0312302f824baa61e" + integrity sha512-sHxzVxeanvQyQ1lr8NSHaj0kDzcNiGpILEVt69g9S31/7PfMvNCKLKcsHw4lYKjs3cGNJjXSP4mYzX43QlnjNA== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -4619,15 +4619,15 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz#52c8a7a4512f10e7249ca1e2e61f81c62c34365c" - integrity sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA== +"@typescript-eslint/eslint-plugin@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.1.tgz#d1ab162a3cd2671b8a1c9ddf6e2db73b14439735" + integrity sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ== dependencies: "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/type-utils" "5.57.0" - "@typescript-eslint/utils" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/type-utils" "5.57.1" + "@typescript-eslint/utils" "5.57.1" debug "^4.3.4" grapheme-splitter "^1.0.4" ignore "^5.2.0" @@ -4642,14 +4642,14 @@ dependencies: "@typescript-eslint/utils" "5.25.0" -"@typescript-eslint/parser@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.0.tgz#f675bf2cd1a838949fd0de5683834417b757e4fa" - integrity sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ== +"@typescript-eslint/parser@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.57.1.tgz#af911234bd4401d09668c5faf708a0570a17a748" + integrity sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA== dependencies: - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/typescript-estree" "5.57.1" debug "^4.3.4" "@typescript-eslint/scope-manager@5.17.0": @@ -4676,21 +4676,21 @@ "@typescript-eslint/types" "5.49.0" "@typescript-eslint/visitor-keys" "5.49.0" -"@typescript-eslint/scope-manager@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz#79ccd3fa7bde0758059172d44239e871e087ea36" - integrity sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw== +"@typescript-eslint/scope-manager@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz#5d28799c0fc8b501a29ba1749d827800ef22d710" + integrity sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw== dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/visitor-keys" "5.57.1" -"@typescript-eslint/type-utils@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz#98e7531c4e927855d45bd362de922a619b4319f2" - integrity sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ== +"@typescript-eslint/type-utils@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.57.1.tgz#235daba621d3f882b8488040597b33777c74bbe9" + integrity sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw== dependencies: - "@typescript-eslint/typescript-estree" "5.57.0" - "@typescript-eslint/utils" "5.57.0" + "@typescript-eslint/typescript-estree" "5.57.1" + "@typescript-eslint/utils" "5.57.1" debug "^4.3.4" tsutils "^3.21.0" @@ -4709,10 +4709,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.49.0.tgz#ad66766cb36ca1c89fcb6ac8b87ec2e6dac435c3" integrity sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg== -"@typescript-eslint/types@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.0.tgz#727bfa2b64c73a4376264379cf1f447998eaa132" - integrity sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ== +"@typescript-eslint/types@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.57.1.tgz#d9989c7a9025897ea6f0550b7036027f69e8a603" + integrity sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA== "@typescript-eslint/typescript-estree@5.17.0": version "5.17.0" @@ -4753,13 +4753,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz#ebcd0ee3e1d6230e888d88cddf654252d41e2e40" - integrity sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw== +"@typescript-eslint/typescript-estree@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz#10d9643e503afc1ca4f5553d9bbe672ea4050b71" + integrity sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw== dependencies: - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/visitor-keys" "5.57.0" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/visitor-keys" "5.57.1" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -4778,17 +4778,17 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/utils@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.0.tgz#eab8f6563a2ac31f60f3e7024b91bf75f43ecef6" - integrity sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw== +"@typescript-eslint/utils@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.57.1.tgz#0f97b0bbd88c2d5e2036869f26466be5f4c69475" + integrity sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.57.0" - "@typescript-eslint/types" "5.57.0" - "@typescript-eslint/typescript-estree" "5.57.0" + "@typescript-eslint/scope-manager" "5.57.1" + "@typescript-eslint/types" "5.57.1" + "@typescript-eslint/typescript-estree" "5.57.1" eslint-scope "^5.1.1" semver "^7.3.7" @@ -4842,12 +4842,12 @@ "@typescript-eslint/types" "5.49.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@5.57.0": - version "5.57.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz#e2b2f4174aff1d15eef887ce3d019ecc2d7a8ac1" - integrity sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g== +"@typescript-eslint/visitor-keys@5.57.1": + version "5.57.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz#585e5fa42a9bbcd9065f334fd7c8a4ddfa7d905e" + integrity sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA== dependencies: - "@typescript-eslint/types" "5.57.0" + "@typescript-eslint/types" "5.57.1" eslint-visitor-keys "^3.3.0" "@ungap/promise-all-settled@1.1.2": @@ -9246,10 +9246,10 @@ eslint-module-utils@^2.7.4: dependencies: debug "^3.2.7" -eslint-plugin-check-file@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-check-file/-/eslint-plugin-check-file-2.1.0.tgz#10e81d074cbd918110a2a776b259f4c0cfe0c18b" - integrity sha512-OK7GiMsV78DTV9eErBNC4p1lE4+izD9FQYDmeSCULa+ZLNsrPBpMTp+HxQ7r5GtHcK3JUI4dE/q6ikoHXvqEmg== +eslint-plugin-check-file@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-check-file/-/eslint-plugin-check-file-2.2.0.tgz#000b59175077411ff7c353ce38218ae736c22b60" + integrity sha512-1eUUqM4ZavOAZd9VNOjb8ZbZ/ym9t8Wu7ur59hQ0kfB+8TX8Kw4FD1kgWOVmKF/HVginGnqdiH/Px2ZXFgrtaA== dependencies: is-glob "^4.0.3" micromatch "^4.0.4" @@ -19657,10 +19657,10 @@ webpack-dev-middleware@^5.3.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.13.1: - version "4.13.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.1.tgz#6417a9b5d2f528e7644b68d6ed335e392dccffe8" - integrity sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA== +webpack-dev-server@4.13.2: + version "4.13.2" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz#d97445481d78691efe6d9a3b230833d802fc31f9" + integrity sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5"