From 9f90161acb72c95c61966c69cf01e067a11d73fe Mon Sep 17 00:00:00 2001 From: Jimmy Cheung <50635800+chejimmy@users.noreply.github.com> Date: Mon, 24 Jun 2024 23:24:11 -0700 Subject: [PATCH 1/3] chore: move development guide out of main README.md --- README.md | 41 +++----------------------------------- developmentguide/README.md | 40 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 38 deletions(-) create mode 100644 developmentguide/README.md diff --git a/README.md b/README.md index aab12491..ece3bd4e 100644 --- a/README.md +++ b/README.md @@ -41,48 +41,13 @@ Alternatively, you can install the prerequisites by following the instruction be volta install yarn ``` -## Getting Started with local development - -1. Install Java Runtime Environment (JRE) version 11.x or newer -1. Install nest a global dependency for using the Nest CLI: - ```sh - yarn add global nest - ``` -1. Install application dependencies: - ```sh - yarn install - ``` -1. Update the variables `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_SESSION_TOKEN` under file `apps/core/.env` with your development AWS credentials. -1. Start development server: - ```sh - yarn dev - ``` -1. Application is available at URL: `http://localhost:3000` -1. Log in with local Cognito credentials found at `apps/core/.cognito/db/us-west-2_h23TJjQR9.json` - -## Running the tests locally - -Run local test command `yarn test` to test the application. The command is "batteries included" - it has everything needed to run and test the application locally. - -## Updating generated types locally - -Run `yarn gen:types` in root while `yarn dev` is running. - ## Deploying to AWS Cloud -Instructions are located [here](https://github.com/awslabs/iot-application/blob/main/deploymentguide/README.md) - -## Environments - -### Service Dependencies +Instructions are located [here](./deploymentguide/README.md) -The table below lists the service dependencies for different environments. +## Development -| Category\Environments | [Local Development](#getting-started-with-local-development) | [Local Test](#running-the-tests-locally) | -| --------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------- | -| Authentication | [cognito-local](https://www.npmjs.com/package/cognito-local) | [cognito-local](https://www.npmjs.com/package/cognito-local) | -| App API Database | [dynamodb-local](https://www.npmjs.com/package/dynamodb-local) | [dynamodb-local](https://www.npmjs.com/package/dynamodb-local) | -| App API Authorization | [cognito-local](https://www.npmjs.com/package/cognito-local) | [JWT generated from secret](./apps/core/src/testing/jwt-generator.ts) | +To start development, please refer to [development guide](./developmentguide/README.md). ## Security diff --git a/developmentguide/README.md b/developmentguide/README.md new file mode 100644 index 00000000..e5d5a756 --- /dev/null +++ b/developmentguide/README.md @@ -0,0 +1,40 @@ +# IoT Dashboard Application Development Guide + +## Getting Started with local development + +1. Install Java Runtime Environment (JRE) version 11.x or newer +1. Install nest a global dependency for using the Nest CLI: + ```sh + yarn add global nest + ``` +1. Install application dependencies: + ```sh + yarn install + ``` +1. Update the variables `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and `AWS_SESSION_TOKEN` under file `apps/core/.env` with your development AWS credentials. +1. Start development server: + ```sh + yarn dev + ``` +1. Application is available at URL: `http://localhost:3000` +1. Log in with local Cognito credentials found at `apps/core/.cognito/db/us-west-2_h23TJjQR9.json` + +## Running the tests locally + +Run local test command `yarn test` to test the application. The command is "batteries included" - it has everything needed to run and test the application locally. + +## Updating generated types locally + +Run `yarn gen:types` in root while `yarn dev` is running. + +## Environments + +### Service Dependencies + +The table below lists the service dependencies for different environments. + +| Category\Environments | [Local Development](#getting-started-with-local-development) | [Local Test](#running-the-tests-locally) | +| --------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------- | +| Authentication | [cognito-local](https://www.npmjs.com/package/cognito-local) | [cognito-local](https://www.npmjs.com/package/cognito-local) | +| App API Database | [dynamodb-local](https://www.npmjs.com/package/dynamodb-local) | [dynamodb-local](https://www.npmjs.com/package/dynamodb-local) | +| App API Authorization | [cognito-local](https://www.npmjs.com/package/cognito-local) | [JWT generated from secret](./apps/core/src/testing/jwt-generator.ts) | From 5d21da89b861ace352e74d9f6777c04404852e53 Mon Sep 17 00:00:00 2001 From: Luciana Corteggiano Date: Tue, 25 Jun 2024 10:24:17 -0600 Subject: [PATCH 2/3] chore: bump iot-app-kit v10.8.0 --- apps/client/package.json | 4 +- tests/dashboard-list-page.spec.ts | 170 +++++++++--------- tests/dashboards/dashboard-management.spec.ts | 15 +- tests/helpers.ts | 10 +- yarn.lock | 94 +++++----- 5 files changed, 146 insertions(+), 147 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 99988ab4..7cacede5 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -32,8 +32,8 @@ "@cloudscape-design/components": "^3.0.518", "@cloudscape-design/design-tokens": "3.0.34", "@cloudscape-design/global-styles": "^1.0.23", - "@iot-app-kit/core": "10.7.0", - "@iot-app-kit/dashboard": "10.7.0", + "@iot-app-kit/core": "10.8.0", + "@iot-app-kit/dashboard": "10.8.0", "@tanstack/react-query": "^5.24.1", "aws-amplify": "^5.3.11", "axios": "^1.6.7", diff --git a/tests/dashboard-list-page.spec.ts b/tests/dashboard-list-page.spec.ts index b33d479a..ad1572e3 100644 --- a/tests/dashboard-list-page.spec.ts +++ b/tests/dashboard-list-page.spec.ts @@ -1,99 +1,101 @@ import { test, expect, violationFingerprints } from './helpers'; -test.describe('dashboard list page', () => { - test('empty page', async ({ page, dashboardListPage }) => { - const noDashboardsLocator = page.getByText('No dashboards', { - exact: true, - }); - await noDashboardsLocator.scrollIntoViewIfNeeded(); - await expect(noDashboardsLocator).toBeVisible(); - await expect( - page.getByText('No dashboards to display', { exact: true }), - ).toBeVisible(); - await expect(dashboardListPage.emptyCreateButton).toBeVisible(); +test('empty page', async ({ page, emptyDashboardListPage }) => { + const noDashboardsLocator = page.getByText('No dashboards', { + exact: true, }); + await page.mouse.wheel(0, 300); + await expect(noDashboardsLocator).toBeVisible(); + await expect( + page.getByText('No dashboards to display', { exact: true }), + ).toBeVisible(); + await expect(emptyDashboardListPage.emptyCreateButton).toBeVisible(); +}); - test('dashboards are visible', async ({ - page, - dashboardListPageWithDashboards: { dashboard1, dashboard2 }, - }) => { - await expect(page.getByText(dashboard1.name)).toBeVisible(); - await expect(page.getByText(dashboard1.description)).toBeVisible(); - await expect(page.getByText(dashboard2.name)).toBeVisible(); - await expect(page.getByText(dashboard2.description)).toBeVisible(); - }); +test('dashboards are visible', async ({ + page, + dashboardListPageWithDashboards: { dashboard1, dashboard2 }, +}) => { + await page.mouse.wheel(0, 300); + await expect(page.getByText(dashboard1.name)).toBeVisible(); + await expect(page.getByText(dashboard1.description)).toBeVisible(); + await expect(page.getByText(dashboard2.name)).toBeVisible(); + await expect(page.getByText(dashboard2.description)).toBeVisible(); +}); - test('a single dashboard can be deleted', async ({ - page, - applicationFrame, - dashboardListPageWithDashboards: { - dashboardListPage, - dashboard1, - dashboard2, - }, - }) => { - await page - .getByRole('checkbox', { name: `Select dashboard ${dashboard2.name}` }) - .click(); - await dashboardListPage.deleteButton.click(); - await dashboardListPage.deleteDashboardDialog.deleteButton.click(); +test('a single dashboard can be deleted', async ({ + page, + applicationFrame, + dashboardListPageWithDashboards: { + dashboardListPage, + dashboard1, + dashboard2, + }, +}) => { + await page.mouse.wheel(0, 300); + await page + .getByRole('checkbox', { name: `Select dashboard ${dashboard2.name}` }) + .click(); + await dashboardListPage.deleteButton.click(); + await dashboardListPage.deleteDashboardDialog.deleteButton.click(); - await expect(applicationFrame.notification).toBeVisible(); - await applicationFrame.dismissNotificationButton.click(); + await expect(applicationFrame.notification).toBeVisible(); + await applicationFrame.dismissNotificationButton.click(); - await expect(page.getByText(dashboard1.name)).toBeVisible(); - await expect(page.getByText(dashboard1.description)).toBeVisible(); - await expect(page.getByText(dashboard2.name)).toBeHidden(); - await expect(page.getByText(dashboard2.description)).toBeHidden(); - }); + await expect(page.getByText(dashboard1.name)).toBeVisible(); + await expect(page.getByText(dashboard1.description)).toBeVisible(); + await expect(page.getByText(dashboard2.name)).toBeHidden(); + await expect(page.getByText(dashboard2.description)).toBeHidden(); +}); - test('multiple dashboards can be deleted', async ({ - page, - applicationFrame, - dashboardListPageWithDashboards: { - dashboardListPage, - dashboard1, - dashboard2, - }, - }) => { - await page - .getByRole('checkbox', { name: `Select dashboard ${dashboard1.name}` }) - .click(); - await page - .getByRole('checkbox', { name: `Select dashboard ${dashboard2.name}` }) - .click(); - await dashboardListPage.deleteButton.click(); - await dashboardListPage.deleteDashboardDialog.deleteButton.click(); +test('multiple dashboards can be deleted', async ({ + page, + applicationFrame, + dashboardListPageWithDashboards: { + dashboardListPage, + dashboard1, + dashboard2, + }, +}) => { + await page.mouse.wheel(0, 300); + await page + .getByRole('checkbox', { name: `Select dashboard ${dashboard1.name}` }) + .click(); + await page + .getByRole('checkbox', { name: `Select dashboard ${dashboard2.name}` }) + .click(); + await dashboardListPage.deleteButton.click(); + await dashboardListPage.deleteDashboardDialog.deleteButton.click(); - await expect(applicationFrame.notification).toBeVisible(); - await applicationFrame.dismissNotificationButton.click(); + await expect(applicationFrame.notification).toBeVisible(); + await applicationFrame.dismissNotificationButton.click(); - const emptyButton = dashboardListPage.emptyCreateButton; + const emptyButton = dashboardListPage.emptyCreateButton; - await emptyButton.scrollIntoViewIfNeeded(); - await expect(emptyButton).toBeVisible(); - await expect(page.getByText(dashboard1.name)).toBeHidden(); - await expect(page.getByText(dashboard1.description)).toBeHidden(); - await expect(page.getByText(dashboard2.name)).toBeHidden(); - await expect(page.getByText(dashboard2.description)).toBeHidden(); - }); + await page.mouse.wheel(0, 200); + await expect(emptyButton).toBeVisible(); + await expect(page.getByText(dashboard1.name)).toBeHidden(); + await expect(page.getByText(dashboard1.description)).toBeHidden(); + await expect(page.getByText(dashboard2.name)).toBeHidden(); + await expect(page.getByText(dashboard2.description)).toBeHidden(); +}); - test('accessibility', async ({ - makeAxeBuilder, - page, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - dashboardListPageWithDashboards: { dashboard1, dashboard2 }, - }) => { - await expect(page.getByText(dashboard1.name)).toBeVisible(); - await expect(page.getByText(dashboard1.description)).toBeVisible(); - await expect(page.getByText(dashboard2.name)).toBeVisible(); - await expect(page.getByText(dashboard2.description)).toBeVisible(); +test('accessibility', async ({ + makeAxeBuilder, + page, + // eslint-disable-next-line @typescript-eslint/no-unused-vars + dashboardListPageWithDashboards: { dashboard1, dashboard2 }, +}) => { + await page.mouse.wheel(0, 300); + await expect(page.getByText(dashboard1.name)).toBeVisible(); + await expect(page.getByText(dashboard1.description)).toBeVisible(); + await expect(page.getByText(dashboard2.name)).toBeVisible(); + await expect(page.getByText(dashboard2.description)).toBeVisible(); - const accessibilityScanResults = await makeAxeBuilder().analyze(); + const accessibilityScanResults = await makeAxeBuilder().analyze(); - // TODO: fix target-size violation - expect(violationFingerprints(accessibilityScanResults)).toMatchSnapshot( - 'dashboard-list-page-accessibility-scan-results', - ); - }); + // TODO: fix target-size violation + expect(violationFingerprints(accessibilityScanResults)).toMatchSnapshot( + 'dashboard-list-page-accessibility-scan-results', + ); }); diff --git a/tests/dashboards/dashboard-management.spec.ts b/tests/dashboards/dashboard-management.spec.ts index eaf0ed08..dbe871e1 100644 --- a/tests/dashboards/dashboard-management.spec.ts +++ b/tests/dashboards/dashboard-management.spec.ts @@ -53,8 +53,6 @@ test('as a user, I can create, update, and delete my dashboard', async ({ violationFingerprints(dashboardPageAccessibilityScanResults), ).toMatchSnapshot('dashboard-page-accessibility-scan-results'); - // TODO: Need to clean up the below, we do not persist anymore - //check if dashboard setting persists await page.getByRole('button', { name: 'Settings' }).nth(1).click(); await expect(page.getByLabel('Number of Rows')).toHaveValue('1000'); await expect(page.getByLabel('Number of Columns')).toHaveValue('200'); @@ -63,8 +61,7 @@ test('as a user, I can create, update, and delete my dashboard', async ({ await page.getByLabel('Number of Rows').fill('100'); await page.getByLabel('Number of Columns').fill('100'); await page.getByLabel('cell Size').fill('10'); - - await page.getByRole('button', { name: 'Close' }).click(); + await page.getByRole('button', { name: 'Apply changes' }).click(); await page.getByRole('button', { name: 'Save' }).click(); await page.reload(); await page.getByRole('button', { name: 'Edit' }).click(); @@ -79,9 +76,9 @@ test('as a user, I can create, update, and delete my dashboard', async ({ // check if viewport setting persists await page.getByRole('button', { name: 'Preview' }).click(); - await page.getByRole('button', { name: 'Last 10 minutes' }).click(); + await page.getByRole('button', { name: 'Last 5 minutes' }).click(); - await page.getByRole('radio', { name: 'Last 10 minutes' }).click(); + await page.getByRole('radio', { name: 'Last 5 minutes' }).click(); await page.getByRole('button', { name: 'Apply' }).click(); await page.getByRole('button', { name: 'Save' }).click(); @@ -92,9 +89,9 @@ test('as a user, I can create, update, and delete my dashboard', async ({ ); await page.reload(); - await expect( - page.getByRole('button', { name: 'Last 10 minutes' }), - ).toHaveText('Last 10 minutes'); + await expect(page.getByRole('button', { name: 'Last 5 minutes' })).toHaveText( + 'Last 5 minutes', + ); await dashboardsPage.goto(); diff --git a/tests/helpers.ts b/tests/helpers.ts index 2b5a227c..b15083e3 100644 --- a/tests/helpers.ts +++ b/tests/helpers.ts @@ -38,7 +38,7 @@ interface Fixtures { dashboardPage: DashboardPage; dashboard: Dashboard; }; - dashboardListPage: DashboardsIndexPage; + emptyDashboardListPage: DashboardsIndexPage; dashboardListPageWithDashboards: { dashboardListPage: DashboardsIndexPage; dashboard1: Dashboard; @@ -106,12 +106,12 @@ export const test = base.extend({ await deleteDashboards({ ids: [dashboard.id] }); }, - dashboardListPage: async ({ page }, use) => { - const dashboardListPage = new DashboardsIndexPage(page); + emptyDashboardListPage: async ({ page }, use) => { + const emptyDashboardListPage = new DashboardsIndexPage(page); - await dashboardListPage.goto(); + await emptyDashboardListPage.goto(); - await use(dashboardListPage); + await use(emptyDashboardListPage); }, dashboardListPageWithDashboards: async ({ page }, use) => { const dashboardListPage = new DashboardsIndexPage(page); diff --git a/yarn.lock b/yarn.lock index 05e0aa1d..d5a86482 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8241,32 +8241,32 @@ dependencies: "@iot-app-kit/charts-core" "^2.1.2" -"@iot-app-kit/components@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/components/-/components-10.7.0.tgz#8a01eb9e72b1ea0188b97e9269754b1e6432a4ab" - integrity sha512-izcjRbaTlyOyqlq/8tvn47/9ThW1g40r7e8NtQ2Egf99bhOvKEve3gToo4v7MaFpZR7IKUb1KRcwNqwFDB/qcg== +"@iot-app-kit/components@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/components/-/components-10.8.0.tgz#44339b515140dba2e8bc118364ef5476971529a9" + integrity sha512-HbHQQUti0BEoNXpjI34BDzsYaIp/TfiLitqCcZDHFVIcOSsoNCBjjFNSdx6SfOfVCL1jxOypxfjUdkvdgRq05g== dependencies: "@awsui/collection-hooks" "^1.0.51" "@awsui/components-react" "^3.0.0" "@awsui/design-tokens" "^3.0.41" - "@iot-app-kit/core" "10.7.0" - "@iot-app-kit/related-table" "10.7.0" + "@iot-app-kit/core" "10.8.0" + "@iot-app-kit/related-table" "10.8.0" "@stencil/core" "^2.7.0" "@synchro-charts/core" "7.2.0" styled-components "^5.3.11" -"@iot-app-kit/core-util@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/core-util/-/core-util-10.7.0.tgz#43995dd4050f896dabc2b356126fbf63eb07a3cd" - integrity sha512-y8iB2yNoHs+8Zyc2kxyYousyg4I/foc4vQpXL3PajX9T1h0ceO+2V2fIZM5nTmccALkn0GruMaOdndB51IwdkQ== +"@iot-app-kit/core-util@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/core-util/-/core-util-10.8.0.tgz#eaa2d055f53b197ae5c453845da5a7dd8820f699" + integrity sha512-1/TqaYLU76FugkF0OBWERygyUHtnBiq7lG3ZGlPq+Vp2DaGck9x2LZJQTb9woaD0j4yUjZ/9+UCozXPbfnG2XA== dependencies: - "@iot-app-kit/core" "10.7.0" + "@iot-app-kit/core" "10.8.0" lodash.difference "4.5.0" -"@iot-app-kit/core@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/core/-/core-10.7.0.tgz#6d5600c8f2efe4f3a395653eaf6383a9693d38af" - integrity sha512-4XLX2VHl3uIramSojG6yG3HMv2v4Co+OZC58x0NEIiHAgH7rl3NjPP6ybCzPcyDwdTIF6Ne2sCo+a9QOwehV4g== +"@iot-app-kit/core@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/core/-/core-10.8.0.tgz#a3c06b9afb303ff56bdd97ac43a9617d84354071" + integrity sha512-hhvRfT+GXtcQi9q+587G0g735kYMgFSQIF2Tx8RjuhyXNv6w61n64T5ElrrQwt7bhaFMdActIAJ/t7O46GD+1g== dependencies: d3-array "^3.2.4" intervals-fn "^3.0.3" @@ -8275,17 +8275,17 @@ rxjs "^7.8.1" uuid "^9.0.0" -"@iot-app-kit/dashboard@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/dashboard/-/dashboard-10.7.0.tgz#a9189815e2f85a746ea30006369aa140ef24e397" - integrity sha512-Uz6LqVgu2as79hPd3OZIpcjtC9aitmF3sux/yxkqxfJRVyj6OOmMAjTeZybQWmytuj1E3BdU6v2wIQnXrtljLg== +"@iot-app-kit/dashboard@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/dashboard/-/dashboard-10.8.0.tgz#81b3ef68a849e8e17d63f93087f47466ee968b29" + integrity sha512-NRtiQ7nYf04rfyMSEexlLguvDShSbBAjlsITRJ7GeyJj//noG5xR7MWB1bJwy4WnyhunK98yn3EIScDOuFm84g== dependencies: "@iot-app-kit/charts-core" "2.1.2" - "@iot-app-kit/components" "10.7.0" - "@iot-app-kit/core" "10.7.0" - "@iot-app-kit/core-util" "10.7.0" - "@iot-app-kit/react-components" "10.7.0" - "@iot-app-kit/source-iotsitewise" "10.7.0" + "@iot-app-kit/components" "10.8.0" + "@iot-app-kit/core" "10.8.0" + "@iot-app-kit/core-util" "10.8.0" + "@iot-app-kit/react-components" "10.8.0" + "@iot-app-kit/source-iotsitewise" "10.8.0" "@popperjs/core" "^2.11.8" "@tanstack/react-query" "^4.29.15" aws-sdk-client-mock "^3.0.0" @@ -8306,20 +8306,20 @@ turbowatch "^2.29.4" uuid "^9.0.0" -"@iot-app-kit/react-components@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/react-components/-/react-components-10.7.0.tgz#61d9aad6f5a2752fcb89a32fec99ef2295dd1693" - integrity sha512-QMJkWsQuLcPXmVKKoD46qAlop2rnLt5SOQZsDZh/ySf5F0LRR5A0PvH8eVta0DU9af/ZzFNkFF1jYMy1K1aVPA== +"@iot-app-kit/react-components@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/react-components/-/react-components-10.8.0.tgz#3bc9b56b1a0bb95fa29c3fb5734c482d4b17ca45" + integrity sha512-rXcBrihiRv6mvP4UsCJECIzUjykFaFeqbNPKc0denmMeUnNexJmhz8xAJQTEgjX6+nJI+fyEvBT9UnrT0LPsUQ== dependencies: "@cloudscape-design/collection-hooks" "1.0.36" "@cloudscape-design/components" "3.0.518" "@cloudscape-design/design-tokens" "3.0.34" "@iot-app-kit/charts" "2.1.2" "@iot-app-kit/charts-core" "2.1.2" - "@iot-app-kit/components" "10.7.0" - "@iot-app-kit/core" "10.7.0" - "@iot-app-kit/core-util" "10.7.0" - "@iot-app-kit/source-iottwinmaker" "10.7.0" + "@iot-app-kit/components" "10.8.0" + "@iot-app-kit/core" "10.8.0" + "@iot-app-kit/core-util" "10.8.0" + "@iot-app-kit/source-iottwinmaker" "10.8.0" "@tanstack/react-query" "^5.32.1" color "^4.2.3" copy-to-clipboard "^3.3.3" @@ -8353,20 +8353,20 @@ video.js "8.3.0" zustand "^4.3.9" -"@iot-app-kit/related-table@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/related-table/-/related-table-10.7.0.tgz#c0a81ccf4a24744705e52678a466b1286dd00c98" - integrity sha512-1QQOiHCqfmhcd3+zX4UlwWbqDwsUhvcUiLsIUHkZ2oIGejpk+ebLBENWRAkdyAwQX1iPNfWh9kVd2taIjHhCvQ== +"@iot-app-kit/related-table@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/related-table/-/related-table-10.8.0.tgz#b1d521654d7ddc572aaa6cb66c835e03ca235b23" + integrity sha512-wLiE9AQ1Djdy8kKWuciopr9VvIPdSIMGLGvFHL6DCleySNwqbi8590MXPrv40H1ibZ+dq78r5bFO93daolwM1g== dependencies: uuid "^9.0.0" -"@iot-app-kit/source-iotsitewise@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/source-iotsitewise/-/source-iotsitewise-10.7.0.tgz#9501c85ab757dc66cb5981b0497b7140571f2a48" - integrity sha512-PzrvoAtLGjGFQRXgxoj/ui5bCDEeHMUDbNZaurwqPOqfgn9IxqoJxzVFOnEcu1jmhNH9lowJnGfoUqHWHoTzMw== +"@iot-app-kit/source-iotsitewise@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/source-iotsitewise/-/source-iotsitewise-10.8.0.tgz#86282f4abde1e64d35db42aa7269e6aaf488f575" + integrity sha512-jfWOXPHP4TK0pPnuKBUP81vjWwpNE0zeznNmpJ/2ApgY0jVqCzOGKCZvls+C3WM2QBI8yQKzMQUiEGsoOVyx7g== dependencies: - "@iot-app-kit/core" "10.7.0" - "@iot-app-kit/core-util" "10.7.0" + "@iot-app-kit/core" "10.8.0" + "@iot-app-kit/core-util" "10.8.0" "@synchro-charts/core" "7.2.0" dataloader "^2.2.2" lodash.isequal "^4.5.0" @@ -8374,10 +8374,10 @@ lodash.uniqwith "^4.5.0" rxjs "^7.8.1" -"@iot-app-kit/source-iottwinmaker@10.7.0": - version "10.7.0" - resolved "https://registry.yarnpkg.com/@iot-app-kit/source-iottwinmaker/-/source-iottwinmaker-10.7.0.tgz#cd30967fcb285c533347e4d0596345e779703c61" - integrity sha512-LOfhiEeR+gvub7iGcQrgs47pX3aPBTIU4tCbJkeL3xXO8MzhZ9mOgamHzQcUuoDSGE9tCKcmy/0Gcg9quqpDvw== +"@iot-app-kit/source-iottwinmaker@10.8.0": + version "10.8.0" + resolved "https://registry.yarnpkg.com/@iot-app-kit/source-iottwinmaker/-/source-iottwinmaker-10.8.0.tgz#17f19e1ddb3c7eb01a22b1fee0970ace4f7b3ad4" + integrity sha512-qI5VqHsDekVHVW/A3du4DHPFfF60Pbc5SG4shWWcCB17xbxTbqCGTmKUOn7SKoyGpIuqTJ4BEMWem2F1DGUj2A== dependencies: "@aws-sdk/client-iotsitewise" "3.456.0" "@aws-sdk/client-iottwinmaker" "3.589.0" @@ -8386,7 +8386,7 @@ "@aws-sdk/client-s3" "3.335.0" "@aws-sdk/client-secrets-manager" "3.353.0" "@aws-sdk/url-parser" "3.374.0" - "@iot-app-kit/core" "10.7.0" + "@iot-app-kit/core" "10.8.0" "@tanstack/query-core" "^4.29.15" lodash "^4.17.21" rxjs "^7.8.1" From a4a8f332da61679c292066e5bc72e740d5605d18 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:30:00 +0000 Subject: [PATCH 3/3] chore(deps): bump the tanstack group across 1 directory with 3 updates Bumps the tanstack group with 3 updates in the / directory: [@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query), [@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query) and [@tanstack/react-query-devtools](https://github.com/TanStack/query/tree/HEAD/packages/react-query-devtools). Updates `@tanstack/react-query` from 5.24.1 to 5.48.0 - [Release notes](https://github.com/TanStack/query/releases) - [Commits](https://github.com/TanStack/query/commits/v5.48.0/packages/react-query) Updates `@tanstack/eslint-plugin-query` from 5.20.1 to 5.47.0 - [Release notes](https://github.com/TanStack/query/releases) - [Commits](https://github.com/TanStack/query/commits/v5.47.0/packages/eslint-plugin-query) Updates `@tanstack/react-query-devtools` from 5.24.1 to 5.48.0 - [Release notes](https://github.com/TanStack/query/releases) - [Commits](https://github.com/TanStack/query/commits/v5.48.0/packages/react-query-devtools) --- updated-dependencies: - dependency-name: "@tanstack/react-query" dependency-type: direct:production update-type: version-update:semver-minor dependency-group: tanstack - dependency-name: "@tanstack/eslint-plugin-query" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: tanstack - dependency-name: "@tanstack/react-query-devtools" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: tanstack ... Signed-off-by: dependabot[bot] --- apps/client/package.json | 6 +- yarn.lock | 148 ++++++++++++++++++++++++++++----------- 2 files changed, 112 insertions(+), 42 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index 7cacede5..03ebda5f 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -34,7 +34,7 @@ "@cloudscape-design/global-styles": "^1.0.23", "@iot-app-kit/core": "10.8.0", "@iot-app-kit/dashboard": "10.8.0", - "@tanstack/react-query": "^5.24.1", + "@tanstack/react-query": "^5.48.0", "aws-amplify": "^5.3.11", "axios": "^1.6.7", "cytoscape": "^3.28.1", @@ -58,8 +58,8 @@ "@formatjs/ts-transformer": "^3.13.9", "@hookform/devtools": "^4.3.1", "@originjs/vite-plugin-federation": "^1.3.3", - "@tanstack/eslint-plugin-query": "^5.20.1", - "@tanstack/react-query-devtools": "^5.24.1", + "@tanstack/eslint-plugin-query": "^5.47.0", + "@tanstack/react-query-devtools": "^5.48.0", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.1.0", "@testing-library/react-hooks": "^8.0.1", diff --git a/yarn.lock b/yarn.lock index d5a86482..aabe3200 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10763,39 +10763,34 @@ uuid "^3.3.2" validator "^13.6.0" -"@tanstack/eslint-plugin-query@^5.20.1": - version "5.20.1" - resolved "https://registry.yarnpkg.com/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.20.1.tgz#861afedd7cde6b98c88cf86a5923bb659122e7af" - integrity sha512-oIp7Wh90KHOm1FKCvcv87fiD2H96xo/crFrlhbvqBzR2f0tMEGOK/ANKMGNFQprd6BT6lyZhQPlOEkFdezsjIg== +"@tanstack/eslint-plugin-query@^5.47.0": + version "5.47.0" + resolved "https://registry.yarnpkg.com/@tanstack/eslint-plugin-query/-/eslint-plugin-query-5.47.0.tgz#1478e11943e12dcd05f574abd3934b6540039059" + integrity sha512-Y56KKu0DoftFkCd3H0xckDbvm38kg9UrGF2CABqMYr7yo94XUZhBYE8R3Gq7N4JxRvPha+lUg37eypECY5u2kA== dependencies: - "@typescript-eslint/utils" "^6.20.0" + "@typescript-eslint/utils" "8.0.0-alpha.30" "@tanstack/query-core@4.36.1", "@tanstack/query-core@^4.29.15": version "4.36.1" resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.36.1.tgz#79f8c1a539d47c83104210be2388813a7af2e524" integrity sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA== -"@tanstack/query-core@5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.24.1.tgz#d40928dec22b47df97fb2648e8c499772e8d7eb2" - integrity sha512-DZ6Nx9p7BhjkG50ayJ+MKPgff+lMeol7QYXkvuU5jr2ryW/4ok5eanaS9W5eooA4xN0A/GPHdLGOZGzArgf5Cg== +"@tanstack/query-core@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.48.0.tgz#a3308ec925d8c16d64c789899d6c084c2fe30cbc" + integrity sha512-lZAfPPeVIqXCswE9SSbG33B6/91XOWt/Iq41bFeWb/mnHwQSIfFRbkS4bfs+WhIk9abRArF9Id2fp0Mgo+hq6Q== -"@tanstack/query-core@5.36.1": - version "5.36.1" - resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-5.36.1.tgz#ae46f935c4752812a56c6815305061a3da82e7b8" - integrity sha512-BteWYEPUcucEu3NBcDAgKuI4U25R9aPrHSP6YSf2NvaD2pSlIQTdqOfLRsxH9WdRYg7k0Uom35Uacb6nvbIMJg== +"@tanstack/query-devtools@5.47.0": + version "5.47.0" + resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.47.0.tgz#5ba391691d519be7eecc93bf79916d5e26e29b7d" + integrity sha512-oo10s7Nqaf/Q3QF4vuSwS0xw7zuYr5nXef4RHQIXVJKvRQeo9WowPLAnB0SF/voB0c4GTX6Vq8wfQ1G72ezEdw== -"@tanstack/query-devtools@5.24.0": - version "5.24.0" - resolved "https://registry.yarnpkg.com/@tanstack/query-devtools/-/query-devtools-5.24.0.tgz#b9b7828d42d5034415b1973ff4a154e880b17d59" - integrity sha512-pThim455t69zrZaQKa7IRkEIK8UBTS+gHVAdNfhO72Xh4rWpMc63ovRje5/n6iw63+d6QiJzVadsJVdPoodSeQ== - -"@tanstack/react-query-devtools@^5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.24.1.tgz#e3a8ea71115fb899119126e1507fc340ee9d9496" - integrity sha512-qa4SEugN+EF8JJXcpsM9Lu05HfUv5cvHvLuB0uw/81eJZyNHFdtHFBi5RLCgpBrOyVMDfH8UQ3VBMqXzFKV68A== +"@tanstack/react-query-devtools@^5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query-devtools/-/react-query-devtools-5.48.0.tgz#4987a96c4b38544ddfa8da45a458f7c1991715e0" + integrity sha512-0xvk8KDvEfQuLz3dy9jqtP0f6iR724d57Br7KtrtClbyqB53cy3Iy6BiTsiHaSsYnex/+cxWJZIX1UJWeV8Amw== dependencies: - "@tanstack/query-devtools" "5.24.0" + "@tanstack/query-devtools" "5.47.0" "@tanstack/react-query@^4.29.15": version "4.36.1" @@ -10805,19 +10800,12 @@ "@tanstack/query-core" "4.36.1" use-sync-external-store "^1.2.0" -"@tanstack/react-query@^5.24.1": - version "5.24.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.24.1.tgz#bcb913febe0d813cec1fda7783298d07aa998b20" - integrity sha512-4+09JEdO4d6+Gc8Y/g2M/MuxDK5IY0QV8+2wL2304wPKJgJ54cBbULd3nciJ5uvh/as8rrxx6s0mtIwpRuGd1g== - dependencies: - "@tanstack/query-core" "5.24.1" - -"@tanstack/react-query@^5.32.1": - version "5.37.1" - resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.37.1.tgz#82d79cdf54923b1f0638c080e8f0439a6a8a2ddc" - integrity sha512-EhtBNA8GL3XFeSx6VYUjXQ96n44xe3JGKZCzBINrCYlxbZP6UwBafv7ti4eSRWc2Fy+fybQre0w17gR6lMzULA== +"@tanstack/react-query@^5.32.1", "@tanstack/react-query@^5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-5.48.0.tgz#7890620272b48aeb278498dfe082f27518f3ac6d" + integrity sha512-GDExbjYWzvDokyRqMSWXdrPiYpp95Aig0oeMIrxTaruOJJgWiWfUP//OAaowm2RrRkGVsavSZdko/XmIrrV2Nw== dependencies: - "@tanstack/query-core" "5.36.1" + "@tanstack/query-core" "5.48.0" "@testing-library/dom@^9.0.0": version "9.2.0" @@ -11691,6 +11679,14 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" +"@typescript-eslint/scope-manager@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.30.tgz#851e38a30884b4247485de1ad10b072c3df80a4a" + integrity sha512-FGW/iPWGyPFamAVZ60oCAthMqQrqafUGebF8UKuq/ha+e9SVG6YhJoRzurlQXOVf8dHfOhJ0ADMXyFnMc53clg== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/visitor-keys" "8.0.0-alpha.30" + "@typescript-eslint/type-utils@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" @@ -11716,6 +11712,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== +"@typescript-eslint/types@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.0.0-alpha.30.tgz#149ae5b6aa99e2491cb79a90ad70cdbc98b7586a" + integrity sha512-4WzLlw27SO9pK9UFj/Hu7WGo8WveT0SEiIpFVsV2WwtQmLps6kouwtVCB8GJPZKJyurhZhcqCoQVQFmpv441Vg== + "@typescript-eslint/typescript-estree@5.59.5": version "5.59.5" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz#9b252ce55dd765e972a7a2f99233c439c5101e42" @@ -11756,6 +11757,20 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/typescript-estree@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.30.tgz#acd674b63e204af9022b33ff031261e2e3a88b8d" + integrity sha512-WSXbc9ZcXI+7yC+6q95u77i8FXz6HOLsw3ST+vMUlFy1lFbXyFL/3e6HDKQCm2Clt0krnoCPiTGvIn+GkYPn4Q== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/visitor-keys" "8.0.0-alpha.30" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + "@typescript-eslint/utils@5.59.5": version "5.59.5" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.59.5.tgz#15b3eb619bb223302e60413adb0accd29c32bcae" @@ -11784,7 +11799,17 @@ eslint-scope "^5.1.1" semver "^7.3.7" -"@typescript-eslint/utils@^6.20.0", "@typescript-eslint/utils@^6.5.0": +"@typescript-eslint/utils@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.0.0-alpha.30.tgz#8102839b7b773be6572964a5bb8c378b526c78b2" + integrity sha512-rfhqfLqFyXhHNDwMnHiVGxl/Z2q/3guQ1jLlGQ0hi9Rb7inmwz42crM+NnLPR+2vEnwyw1P/g7fnQgQ3qvFx4g== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.0.0-alpha.30" + "@typescript-eslint/types" "8.0.0-alpha.30" + "@typescript-eslint/typescript-estree" "8.0.0-alpha.30" + +"@typescript-eslint/utils@^6.5.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== @@ -11821,6 +11846,14 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@8.0.0-alpha.30": + version "8.0.0-alpha.30" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.30.tgz#8424b5eb2ca73cb58a8fa1c4bfb6ab72693d3a7f" + integrity sha512-XZuNurZxBqmr6ZIRIwWFq7j5RZd6ZlkId/HZEWyfciK+CWoyOxSF9Pv2VXH9Rlu2ZG2PfbhLz2Veszl4Pfn7yA== + dependencies: + "@typescript-eslint/types" "8.0.0-alpha.30" + eslint-visitor-keys "^3.4.3" + "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" @@ -19061,6 +19094,13 @@ minimatch@^8.0.2: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -22423,7 +22463,16 @@ string-natural-compare@^3.0.1: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -22532,7 +22581,14 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -23080,6 +23136,11 @@ ts-api-utils@^1.0.1: resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + ts-custom-error@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/ts-custom-error/-/ts-custom-error-3.3.1.tgz#8bd3c8fc6b8dc8e1cb329267c45200f1e17a65d1" @@ -24420,7 +24481,7 @@ workbox-window@6.5.4: "@types/trusted-types" "^2.0.2" workbox-core "6.5.4" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -24438,6 +24499,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"